问题
I am new to realm database so need some help. When I kill my app then come back to the app again, I am unable to retrieve the data which was saved in retrofit. Insertion is working perfectly. Here is my code :
Insert Code inside callJson Method:
realm.beginTransaction();
realmCities = realm.copyToRealm(clientContactList);
realm.commitTransaction();
Response after inserting when i am logging :
path : /data/data/com.xyz.da/files/default.realm
response from realm : E/Output: ClientContact = proxy[{clientName:A},{email:mit@email.com},{address:Palava},{contactPerson:Amit},{numberMobile:9930182464},{numberLandline:25123456},{groupName:B},{tumbnailColor:0}]ClientContact = proxy[{clientName:A1},{email:abc@email.com},{address:MBP},{contactPerson:John},{numberMobile:9876543210},{numberLandline:25123456},{groupName:B1},{tumbnailColor:0}]ClientContact = proxy[{clientName:A10},{email:abc@email.com},{address:MBP},{contactPerson:John},{numberMobile:9876543210},{numberLandline:25123456},{groupName:E2},{tumbnailColor:0}]
In onCreateView I am doing like this : Here when i kill app and come back realmCities List coming null so it again hitting callJson()
if(realmCities!=null && realmCities.size()>0){
Log.e("realmCities",""+realmCities.size());
}else{
callJSON();
}
回答1:
you have inserted data but when app is restart you have to get data from database
realm.beginTransaction();
realmCities = realm.copyToRealm(clientContactList);
realm.commitTransaction();
when restart the app you have to get data from database like :
RealmResults<ClientContact> realmCities= realm.where(ClientContact.class).findAllAsync();
//fetching the data
realmCities.load();
and after that you have to check condition
if(realmCities!=null && realmCities.size()>0){
Log.e("realmCities",""+realmCities.size());
}else{
callJSON();
}
来源:https://stackoverflow.com/questions/45407852/realm-database-read-data-from-android