1
我在AsyncLoader節省從服務器到本地數據庫中的數據(onLoadFinished方法裏面我開始下一個,我想顯示保存數據的活動),但數據庫是actualy空,也只發生後的數據當添加新的數據(我的意思是現有的數據庫記錄效果很好),我該如何解決這個問題?裝載機正在處理甚至onLoadFinished
活動
public class LoadingActivity extends AppCompatActivity implements android.app.LoaderManager.LoaderCallbacks<ArrayList> {
Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.laoding_activity);
context = this;
Bundle bundle = new Bundle();
getLoaderManager().initLoader(0, bundle, this).forceLoad();
Intent broadcastIntent = new Intent();
broadcastIntent.setAction(Utils.MANUAL_START_RECIEVER);
sendBroadcast(broadcastIntent);
}
@Override
protected void onPause() {
super.onPause();
}
@Override
protected void onResume() {
super.onResume();
}
@Override
public android.content.Loader<ArrayList> onCreateLoader(int id, Bundle args) {
DatabaseWorker loader= null;
args.putString(Utils.INTENT_SERVICE_INVOKE,Utils.LOAD_All_DATA);
loader = new DatabaseWorker(this,args);
return loader;
}
@Override
public void onLoadFinished(android.content.Loader<ArrayList> loader, ArrayList data) {
Log.e("adad",App.session.getActionsGreenDao().loadAll().size()+"");
startActivity(new Intent(this,MainActivity.class));
}
@Override
public void onLoaderReset(android.content.Loader<ArrayList> loader) {
}
}
loadInBackground
@Override
public ArrayList loadInBackground() {
Log.e("loader created","loading");
switch (command) {
case Utils.LOAD_All_DATA: {
saveActivities();
savePersons();
savePictureData();
return new ArrayList();
}
case Utils.READ_ACTIONS_DATA: {
readActionData();
return (ArrayList) Action.listAll(Action.class);
}
case Utils.READ_PERSONS_DATA: {
readPersonsData();
return (ArrayList) Person.listAll(Person.class);
}
default:{
return new ArrayList();
}
}
}
我使用GreenDAO,我節省了內部asyncLoader數據,當它被保存裝載機開始onLoadFinished和iside它我開始活動theat actualy查看數據(我是從數據庫中讀取數據也使用AsyncLoader),所以你的情況幾乎是不可能的。 – Turbozanik