【问题标题】:Android: Async Task with ThreadAndroid:带线程的异步任务
【发布时间】:2014-03-19 06:20:02
【问题描述】:

我正在开发一个应用程序,我所做的是:

onCreate()我先调用了一个Async Task,然后写了一个线程为:

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) {}
}

但问题是我的线程无法正常工作。意味着我希望活动一应该等待一段时间然后活动二调用。但事实并非如此。

当我运行我的应用程序时,活动一在第二个部分可见,并且活动二发生。它发生得如此之快,以至于用户无法找到应用程序中是否存在该活动。但其他功能运行良好。

现在我应该做什么来举行我的活动一。我不想在异步任务中实现进度对话框,因为我已经在 XML 文件中实现了它。

请指导我

【问题讨论】:

    标签: android multithreading asynchronous android-asynctask splash-screen


    【解决方案1】:

    onPostExecute(String result) Method中,使用Handler写等待时间代码...

    【讨论】:

    • 感谢您的建议,但能否详细说明如何使用Handler编写等待时间代码。
    猜你喜欢
    • 1970-01-01
    • 2013-08-31
    • 1970-01-01
    • 2012-08-06
    • 2016-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多