I am using AsyncTask to upload data to UI. i wrote the code to download data from server in a separate method and i am calling that method from doinBackground. It will give
Use doInBackground()
just for tasks that :
Then you can implement AsyncTask.onPostExecute()
to run code to handle those results on main UI thread from AsyncTask
From JavaDoc for AsyncTask.onPostExecute()
:
"Runs on the UI thread after doInBackground. ... "
any alternative process is there to access the UI method from doinBackground.?
Call publishProgress()
in doInBackground()
. Put your UI-updating logic in onProgressUpdate()
of your AsyncTask
. onProgressUpdate()
will be called on the main application thread (a.k.a., UI thread) after you call publishProgress()
. Here is a sample project demonstrating this.
As the others have pointed out, you can use runOnUiThread. But, it seems a little odd that you would want to do that in your doInBackground. If you are wanting to indicate progress to the user you would want to handle that in AsyncTask.onProgressUpdate and call publishProgress in your doInBackground.
You can read more about AsyncTask here: http://developer.android.com/reference/android/os/AsyncTask.html
-Dan
Call runOnUiThread(Runnable action)
more here