1
AsyncLoader에서 서버의 로컬 데이터베이스에 데이터를 저장하고 있습니다 (onLoadFinished 메소드 내에서 저장된 데이터를 표시하려는 다음 활동을 시작합니다). 그러나 데이터베이스는 실제로 비어 있으며 또한 발생합니다 새 데이터가 추가되면 (기존 데이터베이스 레코드와 잘 작동 함을 의미), 어떻게 해결할 수 있습니까?로더가 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();
}
}
}
, 내가 asyncLoader 내부에 데이터를 저장하고, 그것을 저장 로더 onLoadFinished 시작하고 나는 또한 사용하여 활동을 theat가 actualy 내가 데이터베이스에서 읽고 있습니다 (데이터를 보려면 시작하고 그것을 iside입니다 AsyncLoader) 그래서 당신의 경우는 거의 불가능합니다. – Turbozanik