SugarORM - 'listall' returns 空列表
SugarORM - 'listall' returns empty list
我知道了 class:
public class ProfileData extends SugarRecord {
@Expose
public Data data;
public ProfileData(Data data) {
this.data = data;
}
public static class Data {
public long id;
@Expose
public String email;
@Expose
public String name;
@Expose
public String surname;
@Expose
public String address;
@Expose
public String city;
@Expose
public long pesel;
@Expose
public long phone;
@Expose
public long userId;
@Expose
public long clubId;
@Expose
public String fullName;
@Expose
public long clientStatusId;
@Expose
public String provider;
@Expose
public String uid;
@Expose
public boolean gender;
public Data(long id, String email, String name, String surname, String address, String city,
long pesel, long phone, long userId, long clubId, String fullName,
long clientStatusId, String provider, String uid, boolean gender) {
this.id = id;
this.email = email;
this.name = name;
this.surname = surname;
this.address = address;
this.city = city;
this.pesel = pesel;
this.phone = phone;
this.userId = userId;
this.clubId = clubId;
this.fullName = fullName;
this.clientStatusId = clientStatusId;
this.provider = provider;
this.uid = uid;
this.gender = gender;
}
}
我用来自 JSON 的数据填充此 class(使用 Gson)。
然后我调用 save() 方法('data' 对象是 ProfileData 的一个实例):
data.save();
我的下一步是:
List<ProfileData> profileList = ProfileData.listAll(ProfileData.class);
并且 profileList 为空。
我将此行放入 AndroidManifest:
<meta-data
android:name="DATABASE"
android:value="sugar_example_my.db" />
<meta-data
android:name="VERSION"
android:value="2" />
<meta-data
android:name="QUERY_LOG"
android:value="true" />
<meta-data
android:name="DOMAIN_PACKAGE_NAME"
android:value="com.example.my" />
最后在我的应用程序中 class 我放了这行:
SugarContext.init(this);
有什么建议吗?
编辑:
我通过将 public Data() {} 添加到 Data class 并移动
解决了这个问题
extends SugarRecord
从 ProfileData 到数据。
我觉得麻烦的是你的列表应该是List<Data>
我知道了 class:
public class ProfileData extends SugarRecord {
@Expose
public Data data;
public ProfileData(Data data) {
this.data = data;
}
public static class Data {
public long id;
@Expose
public String email;
@Expose
public String name;
@Expose
public String surname;
@Expose
public String address;
@Expose
public String city;
@Expose
public long pesel;
@Expose
public long phone;
@Expose
public long userId;
@Expose
public long clubId;
@Expose
public String fullName;
@Expose
public long clientStatusId;
@Expose
public String provider;
@Expose
public String uid;
@Expose
public boolean gender;
public Data(long id, String email, String name, String surname, String address, String city,
long pesel, long phone, long userId, long clubId, String fullName,
long clientStatusId, String provider, String uid, boolean gender) {
this.id = id;
this.email = email;
this.name = name;
this.surname = surname;
this.address = address;
this.city = city;
this.pesel = pesel;
this.phone = phone;
this.userId = userId;
this.clubId = clubId;
this.fullName = fullName;
this.clientStatusId = clientStatusId;
this.provider = provider;
this.uid = uid;
this.gender = gender;
}
}
我用来自 JSON 的数据填充此 class(使用 Gson)。 然后我调用 save() 方法('data' 对象是 ProfileData 的一个实例):
data.save();
我的下一步是:
List<ProfileData> profileList = ProfileData.listAll(ProfileData.class);
并且 profileList 为空。
我将此行放入 AndroidManifest:
<meta-data
android:name="DATABASE"
android:value="sugar_example_my.db" />
<meta-data
android:name="VERSION"
android:value="2" />
<meta-data
android:name="QUERY_LOG"
android:value="true" />
<meta-data
android:name="DOMAIN_PACKAGE_NAME"
android:value="com.example.my" />
最后在我的应用程序中 class 我放了这行:
SugarContext.init(this);
有什么建议吗?
编辑:
我通过将 public Data() {} 添加到 Data class 并移动
解决了这个问题extends SugarRecord
从 ProfileData 到数据。
我觉得麻烦的是你的列表应该是List<Data>