나는 안드로이드에 GET 요청을하는 코드를 작성하지만이 같은 오류 : Android에서 HttpGet의 문제를 해결하는 방법은 무엇입니까?
07-07 21:12:39.674: E/AndroidRuntime(2409): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117)
그래서 내가 AsyncTask를를 사용할 필요가 읽어 보시기 바랍니다. 나는 그것을했다. 한 번은 잘 작동했지만 다음에 앱을 실행하면 오류가 다시 발생합니다.
이 내 코드입니다 : 내가 잘못했다거나 내가 무엇을 가지고이 문제를 해결하기 위해 무엇
package app.teksty;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
public class MainActivity extends Activity {
private class HttpGetRequest extends AsyncTask<String, Integer, Void>
{
private InputStream content;
@Override
protected Void doInBackground(String... params) {
String url = params[0];
Log.i("[GET REQUEST]", "STARTED");
try {
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = httpclient.execute(new HttpGet(url));
content = response.getEntity().getContent();
} catch (Exception e) {
Log.e("[GET REQUEST]", "Network exception", e);
}
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
BufferedReader r = new BufferedReader(new InputStreamReader(content));
StringBuilder respond = new StringBuilder();
String line;
try {
while ((line = r.readLine()) != null) {
respond.append(line);
}
Log.i("[GET REQUEST]", respond.toString());
} catch (IOException e) {
Log.e("[GET REQUEST]", "", e);
}
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
new HttpGetRequest().execute("http://www.google.pl");
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
?
더. 가능한 경우 빨간색 오류 텍스트의 전체 덩어리를 표시하십시오. 해결책은 오류의 유형 (오류가 발생한 곳이 아닌)에 전적으로 의존 할 수 있습니다. – Eric