Threading
We will use XML files for various purposes in the remaining chapters and have encapsulated the common code in the XMLLib
library. One important issue involves threading. When launching an app, a thread is created to run the code. This thread is responsible for the actions that involve updating the user interface, so it is sometimes called the UI thread. Carrying out very expensive operations in the UI thread, such as downloading files, carrying out HTTP requests, opening socket connections, or accessing databases, might block the UI thread for a long time, making it unresponsive and freezing updates of the interface. For this reason from Android 3 (HoneyComb) onwards, when trying to perform a networking operation on the main thread of an Android app, the android.os.NetworkOnMainThreadException
is raised.
Android provides several ways to enable communication between background threads and the UI thread as explained here: http://developer.android.com/guide/components/processes-and...