1

私は現在Androidを初めて使用しています。ローディング画面でファイルのダウンロードを開始できるケースを数多く見てきました。ローディング画面がバックグラウンド タスクの処理を終了したときに、postexecute() コマンドでギャラリーを開始する方法を教えてください。以下は、バックグラウンド タスクのコードです。ギャラリーが postexecute() で実行されるように、このバックグラウンド内にコードを書くことを想定していますか、それとも他にこれを行う方法はありますか。

PS My Loading 画面とギャラリーは別の Java ファイルにあります。postexecute コマンドの読み込み画面の直後にギャラリーを実行できるようにする方法はありますか?

ありがとう

  //The code to be executed in a background thread.
            @Override
            protected String doInBackground(String... strings) 
            {
                /* This is just a code that delays the thread execution 4 times, 
                 * during 850 milliseconds and updates the current progress. This 
                 * is where the code that is going to be executed on a background
                 * thread must be placed. 
                 */
                try 
                {
                    //Get the current thread's token
                    synchronized (this) 
                    {
                        //Initialize an integer (that will act as a counter) to zero
                        int counter = 0;
                        //While the counter is smaller than four
                        while(counter <= 4)
                        {
                            //Wait 850 milliseconds
                            this.wait(850);
                            //Increment the counter 
                            counter++;
                            //Set the current progress. 
                            //This value is going to be passed to the onProgressUpdate() method.
                            publishProgress(counter*25);
                        }
                    }
                } 
                catch (InterruptedException e) 
                {
                    e.printStackTrace();
                }
                return null;
            }

            //Update the TextView and the progress at progress bar
            @Override
            protected void onProgressUpdate(Integer... values) 
            {
                //Update the progress at the UI if progress value is smaller than 100
                if(values[0] <= 100)
                {
                    tv_progress.setText("Progress: " + Integer.toString(values[0]) + "%");
                    pb_progressBar.setProgress(values[0]);
                }
            }
4

1 に答える 1

0

はい、できます。PostExecute からギャラリーを起動するだけです。

   @Override
        protected void onPostExecute(Void...values) 
        {
            //get image path
            File file = <imageFilepath>;
             //add to intent
        Intent intent = new Intent(Intent.ACTION_VIEW);
            //start activity
        intent.setDataAndType(Uri.fromFile(file),"image/*");
            startActivity(intent);
        }
于 2012-11-27T14:12:55.327 に答える