我正在开发一个应用程序,其中我所做的是:
在onCreate()
中,我首先调用了异步任务,然后将一个线程编写为:
new LoadDataBase().execute();
// New Thread call.
new Thread() {
// Running Thread.
public void run() {
int count=0;
while (count<5){
try{
Thread.sleep(500);
count++;
}catch(Throwable e){
e.printStackTrace();
}
}
Intent intent = new Intent(ActivityOne.this,ActivityTwo.class);
startActivity(intent);
finish();
}
}.start();
我的异步任务代码如下:
private class LoadDataBase extends AsyncTask<String, Void, String>{
@Override
protected String doInBackground(String... arg0) {
// Create data base from assets folder.
DataBaseHelper dataBaseHelper = new DataBaseHelper(getApplicationContext());
try {
dataBaseHelper.createDataBase();
} catch (IOException e) {
e.printStackTrace();
}
// Closing the Data base.
dataBaseHelper.close();
return "";
}
@Override
protected void onPostExecute(String result) {}
}
但问题是我的线程无法正常工作。意味着我想活动一应该等待一段时间,然后活动二调用。但它并没有成功。
当我运行我的应用程序时,活动一对于第二个分数是可见的,并且活动二发生。它发生得如此之快,以至于用户无法找到应用程序中存在的活动。但其他功能正常。
现在我该怎么做才能举办我的活动。我不想在Async Task中实现进度对话框,因为我已经在XML文件中实现了它。
请指导我