AsyncTask enables proper and easy use of the UI thread. This class allows to perform background operations and publish results on the UI thread without having the mani[ulate thread and/or handlers.
Here is an example of simple AsyncTask Demo :
- Create private class PostTask which extends AsyncTask.
- add unimplemented methods like-doInBackground,onPostExecute,onPreExecute.
- insert code in doInBackground method.It acts as a thread and it is also independent from UI.
- It will not affect the UI or it will not freeze your UI.
- PostTask class code is given below:
private class PostTask extends AsyncTask<String , Integer, String>{
@Override
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
String url=params[0];
// Dummy code
for (int i = 0; i <= 100; i += 5) {
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
publishProgress(i);
}
return "All Done!";
}
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
Log.v("*********************","Progressbar dismissed....");
super.onPostExecute(result);
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
Log.v("*********************","Downloading.....................");
super.onPreExecute();
}
}
- Now just call this class in onCreate method of MainActivity.java like this:
new PostTask().execute("http://feeds.pcworld.com/pcworld/latestnews");
- Don't forget to see LogCat for output.
No comments:
Post a Comment