В Android вы должны использовать AsyncTask для достижения того, что вы хотите.Пример AsyncTask будет выглядеть так:
private class FetchData extends AsyncTask<String, String, String>> {
ProgressDialog progress;
@Override
protected void onPreExecute() //Starts the progress dailog
{
progress = ProgressDialog.show(YourActivity.this, "Loading...",
"", true);
}
@Override
protected String doInBackground(String... strings)
{
String result="";
URL yahoo = new URL("http://www.nytimes.com/2011/08/17/business/global/merkel-arrives-in-paris-to-begin-economic-talks-
with-sarkozy.html?_r=1&hp");
yc = (HttpURLConnection) yahoo.openConnection();
yc.setRequestProperty("User-Agent","sdfdfvjavasdvdsv");
in = new BufferedReader(new InputStreamReader(yc.getInputStream()));
//do sth with your data here
return result;
}
@Override
protected void onPostExecute(ArrayList<Article> result)
{
progress.dismiss();
}
}
Имейте в виду, что
onPostExecute(Result)
, вызывается в потоке пользовательского интерфейса после завершения фоновых вычислений.Результат фонового вычисления передается на этот шаг в качестве параметра.
, как указано на Android-разработчикам .Вы можете найти более подробную информацию об AsyncTask и о том, как его реализовать, по указанной ссылке.