PHPを介してデータベースに接続し、応答をエコーバックするプログラムを作成しました。私のアンドロイドその後、プログラムはPHPファイルへの要求を行い、エコーを読み込む。クラス関数を呼び出した後にJavaコードが実行されない
public class Read_Author extends AsyncTask<String, Void, String> {
String authorName = "";
@Override
public String doInBackground(String... params) {
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://localhost/scripts/read_information.php");
HttpResponse response = httpclient.execute(httppost);
authorName = String.valueOf(EntityUtils.toString(response.getEntity()));
String myStr = "ANSWER";
Log.v(myStr, authorName);
}
catch(Exception e){
}
return authorName;
}
public String returnAuthor(){
return authorName;
}
}
を私が正常にエコー文字列を取得し、著者名の文字列変数に入れて。しかし、私が主な活動から帰ってきた作家に電話しようとすると、エラーは出ませんが、コードは実行されません。
メインアクティビティ内で "readValue"という関数を呼び出し、その関数内でexecute関数が読み込まれると、returnauthor関数が実行されるはずです。しかし、その代わりに、何も 主な活動のコードを実行されません:
public void returnAuthor(){
loadAuthor.execute();
String a = loadAuthor.returnAuthor();
Log.v("HIT ME", a);
}
誰もがこれが起こって、どのように非常に理解されるようにそれを修正することができた理由についてどんな提案を持っている場合!
にあなたはAsyncTaskを持って
AsyncTask
を実行する前に
最初のショーは、ProgressDialogはその後、あなたは何returnAuthorを呼び出していないが、代わりにTASTが完了するまで待つ必要があるといけません文字列の結果を返す –
クラス内でどのようなリスナーを使用できますか? – RW6