AsyncTask でサーバーと通信しました。そのデータに応じて、画面 A または画面 B のいずれかに移動したいのですが、これを行う正しい方法は何ですか?
postExcute セクションで新しいアクティビティを呼び出す必要がありますか? 現在、スプラッシュ画面にいます。
private class CheckLoginDetails extends AsyncTask<Void, String, String> {
protected void onPreExecute() {
//does stuff before excuting code
}
//does the main operation
protected String doInBackground(Void... params) {
publishProgress("10", "Checking Login Details Exist . . .");
if(checkForLogin()){
//validate with DB
publishProgress("20", "Logging in, verifying . . .");
if(sendforVerif()){
publishProgress("100", "You Are Logged In!");
}else{
publishProgress("100", "Error Logging In.");
}
}else{
//login or registration required
publishProgress("100", "Login Required . . .");
}
return null;
}
//Update Progress
protected void onProgressUpdate(String... values) {
mProgress.setProgress(Integer.parseInt(values[0]));
statusReadout.setText(values[1]);
}
//Update UI with results
protected void onPostExecute() {
Intent intent = new Intent(SplashScreen.this, MenuScreen.class);
SplashScreen.this.startActivity(intent);
}
}
それは正しくないと思います。
ティア