私の主なアプリケーションはこれを行います:それはインターネットからデータを取得し、OnClicked、3つの他の画面に行く3つのボタンがあります。データの読み込みが少し遅いかもしれないので、私は非同期タスクを使いたいです。これはasynctaskのサンプルコードです。AsyncTaskとActivityそれを行う方法
class LoginProgressTask extends AsyncTask {
@Override
protected Boolean doInBackground(String... params) {
try {
Thread.sleep(4000); // Do your real work here
} catch (InterruptedException e) {
e.printStackTrace();
}
return Boolean.TRUE; // Return your real result here
}
@Override
protected void onPreExecute() {
showDialog(AUTHORIZING_DIALOG);
}
@Override
protected void onPostExecute(Boolean result) {
// result is the value returned from doInBackground
removeDialog(AUTHORIZING_DIALOG);
}
}
と、これは私の主な活動の私のサンプルです:
public class MainScreen extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MainTheme();
}
public void MainTheme(){
retrieve_data(); //function for getting the data
... action with the buttons, onClicks Listener
}
}
私の質問は、私はAsyncTaskを理解していないbecuaseどのように私は、それを動作させるために一つの活動でこれらのコードを混在させることができます。または私はdoInBackgroundで何を返すべきですか?
私はこの問題を理解していません。あなたはasynctaskを起動するアクティビティを持っています。あなたのアクティビティを引き起こしているボタンの1つを押すと、タスクに何が起こりますか? – guinny
最初のコードはウェブ上で見つけたサンプルです。そして、関数がデータを取得している間に、このアクティビティの読み込みを行うために、私はmyScreen Activityをsaに挿入したいと思います。この機能が終了すると、ロードバーが消えてしまいます。 – ghostrider
これは私が以前理解していたものとはまったく異なっています。この場合、すべての機能はAsyncTaskにあります。主なアクティビティはonCreate()を起動するだけです。 AsyncTaskは[チュートリアル](http://developer.android.com/reference/android/os/AsyncTask.html)から直接作成することができます。 – guinny