我有 2 项 Activity 。在第一个中,我有一个按钮
。当按下按钮
时,会发生两件事。第一个,我在 Web 服务器上的 mysql
数据库中插入一些记录,第二个,我启动一个新 Activity 。在第二个 Activity 中,我只是在 textView
中显示数据库记录。当第二个 Activity 开始时,有时会显示最后插入的记录,有时则不显示。我认为第二个 Activity 的启动速度比记录插入数据库并显示的速度更快。每次第二个 Activity 开始时,我需要更改什么才能显示所有记录?
最佳答案
可以在Activity中的onResume中进行数据库查询
new DataDownloader(this).executeOnExecutor(AsyncTask.SERIAL_EXECUTOR);
在 AsyncTask 中,可以查询所需的数据
public class DataDownloader extends AsyncTask<Void,Void,Boolean>
{
private ProgressDialog dialog;
public DataDownloader(SplashScreen context){
this.context=context;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
try {
dialog = ProgressDialog.show(context, "Please wait", "Syncing Contact data..");
}catch(Exception e){
Log.e(AppConstants.NETLOG, "" + e.toString());
}
}
@Override
protected Boolean doInBackground(Void... params) {
//Do the required database query
return status;
}
@Override
protected void onPostExecute(Boolean aBoolean) {
super.onPostExecute(aBoolean);
if(dialog!=null && dialog.isShowing())
{
dialog.dismiss();
}
if(!aBoolean){
//Display error
}else{
//Process correct data
}
}
}
关于java - Android 中的 Activity 启动时如何显示所有数据库记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33871208/