收集数据后 UI 线程的设置值



这是一个理论问题!

我目前正在开发一个安卓应用程序。我想在那里收集数据,然后编辑 UI。但是当我等待完成数据收集时,我显然阻止了 UI 线程()。

所以问题是:如何使应用程序等待数据收集而不阻塞 UI 线程?带有应用程序符号和进度条的加载屏幕是否是一种选项?

编辑:为了清楚起见:我的数据收集在几个小数据获取中分开!

编辑2:我正在从互联网收集数据!

提前感谢!

声明一个 AsyncTask,然后只需在 AsyncTask 的预执行中显示 ProgressDialog。做耗时和应用程序冻结的事情,例如从doInBackground上的链接检索数据。在asyncTask的onPostExecute中检索到的帖子链接是否有效,并关闭"进度对话框"。AsyncTask 在与主活动不同的线程上运行,因此应用程序不会冻结。

异步任务

class ClassName extends AsyncTask<String, Void, Integer> {
    protected void onPreExecute() {
        progress = ProgressDialog.show(context, "", "Loading ...",
                false, true);
    }
    @Override
    protected Integer doInBackground(String... params) {
        // Your Code
    }
    protected void onPostExecute(Integer result) {
        if (progress != null) {
            progress.dismiss();
        }
    }
}

您可以使用 AsyncTask 进行简单的数据获取。如果它使用更复杂 凌空抽射

相关内容

  • 没有找到相关文章

最新更新