Как уже упоминалось, Android больше не допускает сетевой активности в потоке пользовательского интерфейса.Даже если они это сделали, вы не должны этого делать, потому что в течение всей сетевой активности пользовательский интерфейс будет не отвечать на запросы, что приведет к ухудшению взаимодействия с пользователем.
Вам необходимо использовать ASyncTask
Это то, как вы бы назвали ASyncTask
new MyAsyncTask().execute();
И это то, как вы его настроили
private final class MyAsyncTask extends AsyncTask<Void,Void,Void>
{
private ProgressDialog progressdialog;
protected String doInBackground(Void... params)
{
try
{
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = httpclient.execute(new HttpGet("http://example.com/getinfo"));
StatusLine statusLine = response.getStatusLine();
if(statusLine.getStatusCode() == HttpStatus.SC_OK)
{
//successful response
}
else
{
response.getEntity().getContent().close();
throw new IOException(statusLine.getReasonPhrase());
}
}
catch(Exception e)
{
ProgressDialog.show(HelloWorldActivity.this,"","Failed",true);
}
}
protected void onPostExecute(String result)
{
if (progressdialog.isShowing())
progressdialog.dismiss();
Toast.makeText(HelloWorldActivity.this,"Completed",Toast.LENGTH_SHORT).show();
}
protected void onPreExecute()
{
progressdialog = ProgressDialog.show(HelloWorldActivity.this,"","Working...",true);
}
}