执行asynctask

时间:2017-11-12 20:57:24

标签: android

我需要在我的应用中显示启动画面,但我不知道该怎么做。 我有一个主要活动,从服务器下载一些图像,通过调用另一个类中的函数,我希望显示启动画面屏幕,直到图像准备好显示。

这是我的代码:

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_navigation_drawer);
   //This is where the images are loaded
    new ClasePeticionRest.CogerObjetosAleatoriosInicio(this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);

}

谢谢!

1 个答案:

答案 0 :(得分:0)

创建一个splash活动类并创建asyncTask类,如下所示:

 private class DownloadFilesTask extends AsyncTask<URL, Integer, Long> {
 protected Long doInBackground(URL... urls) {
     int count = urls.length;
     long totalSize = 0;
     for (int i = 0; i < count; i++) {
         totalSize += Downloader.downloadFile(urls[i]);
         publishProgress((int) ((i / (float) count) * 100));
         // Escape early if cancel() is called
         if (isCancelled()) break;
     }
     return totalSize;
 }

 protected void onProgressUpdate(Integer... progress) {
     setProgressPercent(progress[0]);
 }

 protected void onPostExecute(Long result) {
     showDialog("Downloaded " + result + " bytes");
 }

}

doInBackground中建立联系,然后在onPostExecute中写下您打算转到主要活动以显示图片的意图:

Intent intent=new Intent(SplashActivity.this,MainActivity.class);
startActivity(intent);

这将为你完成工作