a. Android History b. Android Software Stack c. Android SDK i. Android Emulator ii. Android UI iii. Android Foundational Components iv. UI Concepts v. Service Components vi. Media and Telephony Components vii. Android Java Packages 2. Setting Up the Development Environment a. Installing JDK b. Installing Eclipse c. Installing Android SDK d. Installing Android Development Tools e. Learning the Fundamental Components i. View ii. Activity iii. Intent iv. Content Provider v. Service vi. AndroidManifest.xml vii. Android Virtual Devices f. HelloWorld Application i. Exploring the Structure of an Android Application g. The Application Life Cycle h. Debugging i. Launching the Emulator ii. StrictMode iii. Reference 3. Understanding Android Resources a. Understanding Resources i. String Resources ii. Layout Resouces iii. Resource Reference Syntax b. Enumerating Key Android Resources c. Working with Arbitrary XML Resource Files d. Working with Raw Resources e. Working with Assets f. Reviewing the Resources Directory Structure g. Resources and Configuration Changes h. Reference URLs 4. Understanding Content Providers a. Exploring Android’s Built-in Providers b. Architecture of Content Providers c. Implementing Content Providers d. Exercising the Book Provider i. Adding A Book ii. Removing a Book iii. Getting a Count of the Books iv. Displaying the List of Books 5. Understanding Intents a. Basic of Android Intents b. Available Intents in Android c. Exploring Intent Composition i. Intents and Data URIs ii. Generic Actions iii. Using Extra Information iv. Using Components to Directly Invoke an Activity v. Understanding Intent Categories vi. Rules for Resolving Intents to Their Components d. Exercising the ACTION_PICK e. Exercising the GET_CONTENT Action f. Introducing Pending Intents 6. Building User Interface and Using Controls a. UI Development in Android i. Building a UI Completely in Code ii. Building a UI Completely in XML iii. Building a UI in XML With Code b. Understanding Android’s Common Controls i. Text Controls ii. Button Controls iii. The ImageView Control iv. Date and Time Controls v. The MapView Control c. Understanding Adapters d. Using Adapters With AdapterViews e. Styles and Themes f. Understanding Layout Managers g. Debugging and Optimizing Layouts with the Hierarchy Viewer 7. Working with Menus a. Understanding Android Menus b. Responding to Menu Items c. Creating a Test Harness for Testing Menus d. Working with Other Menu Types i. Expanded Menus ii. Working with Icon Menus iii. Working with Submenus iv. Provisioning for System Menus v. Working with Context Menus vi. Working with Alternative Menus e. Loading Menus Through XML Files 8. Working with Dialog a. Using Dialogs in Android b. Working with Managed Dialogs 9. Working with Preference and Saving State a. Exploring the Preferences Framework b. Organizing Preferences c. Manipulating Preferences Programmatically d. Saving State with Preferences 10. Exploring Security and Permissions a. Understanding the Android Security Model b. Performing Runtime Security Checks 11. Building and Consuming Services a. Consuming HTTP Services i. Using the HttpClient for HTTP GET Requests ii. Using the HttpClient for HTTP POST Requests iii. SOAP, JSON, and XML Parsers iv. Dealing with Exceptions v. Using the HttpURLConnection vi. Using the AndroidHttpClient b. Using Android Services i. Understanding Services in Android ii. Understanding Local Services iii. Understanding AIDL Services iv. Defining a Service Interface in AIDL v. Implementing an AIDL Interface vi. Calling the Service from a Client Application c. Real-World Example Using Services i. Google Translate API ii. Using the Google Translate API 12. Using the Telephony APIs a. Working with SMS i. Sending SMS ii. Monitoring Incoming SMS iii. Working with SMS Folder iv. Sending Email b. Working with the Telephony Manager c. Session Initial Protocol (SIP) 13. Understanding The Media Framework a. Using the Media APIs i. Using SD Card b. Playing media c. Recoding Media