HTTPClient を使用して、AsyncTask を使用して Web サイトの HTML コードを取得し、そのコードをメインのアクティビティに戻そうとしています。
私はそれを行う(しようとする)ためにこのコードを使用しました:
public class AsyncTaskGet extends AsyncTask<String, String, String>{
String result;
InputStream in;
protected String doInBackground(String... params) {
try
{
HttpClient httpClient = new DefaultHttpClient();
HttpGet httpRequest = new HttpGet("http://www.google.fr");
HttpResponse response = httpClient.execute(httpRequest);
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(null, result), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
if (response != null) {
in = response.getEntity().getContent();
}
in.close();
result = sb.toString();
}catch (Exception e) {
Log.e("log_tag", "Error converting result " + e.toString());
}
}catch(IOException e){
e.printStackTrace();
}
return result;
}
@Override
protected void onPostExecute(String result) {
//Here is one of my problem, I don't know how to get the returned value result as a string.
}
}
これは私の AsyncTaskGet です。無駄な試行を何度も試みたため、この部分を除くメイン アクティビティのすべてのコードを消去しました。
new AsyncTaskGet().execute();
基本的に、私がやりたいことは、メイン アクティビティの結果を文字列として取得し、TextView に表示することです。今のところ、アプリをシンプルにして、AsyncTasks の使用の基本を理解できるようにしたいと考えています。インターネットの接続性などはチェックしませんでした。マニフェストにインターネットを使用するためのアクセス許可を追加します (明らかに
(これは私の最初のアプリの 1 つなので、少し甘やかしてください)
最後にもう 1 つ、英語が下手なことをお許しください。残念ながら、私は英語のネイティブ スピーカーではありません。
よろしくお願いします!
心から :)