12.03.2011 0:31, David Williams пишет:
Does Java do certain things asynchronously then? I was thinking that things were done in a serial fashion but perhaps that is not the case.

ProgressDialog.show is asynchronous, just like may other UI operations.

Normally, this works, because the Android UI toolkit, just like many others (and not just for Java) is built around the "event loop" or "message loop" concept. The main thread runs in an infinite loop for processing messages, one at a time. Each message is a small task: this can include, for example, showing a dialog, redrawing a view, calling one of the application's callback methods.

Your code:

- Called by Android in onCreate
- Calls setContentView
- Calls ProgressDialog.show
- Fetches stuff from the Internet
- Returns from onCreate

All of the above happens on the UI thread, which waits for your onCreate to return before proceeding to the next message (== "small task").

What your code in onCreate should do:

- Call setContentView
- Call ProgressDialog.show
- Start an asynchronous operation to fetch stuff from the Internet
- Return from onCreate
- [ Android processes queued-up operations: draws your activity, shows the dialog ]

The asynchronous fetch then should:

- Run on its own thread;
- When done, "tell" the application to hide the progress dialog and proceed.

Hopefully, it starts to make more sense as you read through the links I've provided.

This is probably the easiest way to implement asynchronous operations:

http://developer.android.com/reference/android/os/AsyncTask.html

--
Kostya Vasilyev -- http://kmansoft.wordpress.com

--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to