Использования AsyncTask для выполнения связанных с сетевым опсом
Для примера:
private class DownloadWebPageTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... urls) {
String response = "";
for (String url : urls) {
DefaultHttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
try {
HttpResponse execute = client.execute(httpGet);
InputStream content = execute.getEntity().getContent();
BufferedReader buffer = new BufferedReader(new InputStreamReader(content));
String s = "";
while ((s = buffer.readLine()) != null) {
response += s;
}
} catch (Exception e) {
e.printStackTrace();
}
}
return response;
}
@Override
protected void onPostExecute(String result) {
textView.setText(result);
}
}
Или вы можете сделать это, хотя это не рекомендуется
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy =
new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
добавить этот код не даст вам сети в основном исключении потока.
Вы работаете в сети, связанной с нитью ui, используете asynctask или создаете новую цепочку. http://developer.android.com/reference/android/os/NetworkOnMainThreadException.html – Raghunandan
Я вижу, что вы новичок здесь. Пожалуйста, сначала найдите свой вопрос, так как большую часть времени уже будут ответы, и это один из них. Попробуйте создать фоновый поток, как указал @Raghunandan, и задайте более конкретный вопрос с вещами, которые вы пробовали, и соответствующий код – codeMagic