Nuts and Bolts: The Basics of Android Programming
  • Nuts and Bolts Introduction
  • Setting Up Your System
  • Creating An Emulator
  • Hello World
  • The EditText View
  • Buttons And Linear Layouts
  • Responding To Button Clicks
  • Important Notes
  • Debugging With DDMS And Logcat
  • Saving Files To Internal Storage
  • Reading Files From Internal Storage
  • String Resources and Localization
  • Creating Launcher Icons
  • Running On Your Phone
  • Saving Program Data: Preferences
  • Toasts: Alerting the User
  • Adding a New Activity
  • Displaying Images with the ImageView View
  • Getting Touch Coordinates
  • Alert Dialogs
  • The Event-Listener (aka Observer) Pattern
  • Creating a Database
  • Adding Data to a Database
  • Retrieving Data from Databases
  • Asynchronous Tasks: Running Stuff in the Background
  • Verifying the Passpoints: Getting Return Values From Asynchronous Tasks
  • Supporting Different Screen Resolutions
  • Intents and Launching Activities
  • Nesting ViewGroups
  • Option Menus
  • Passing Data to Activities
  • Sub-Activites
  • Taking Photos
  • Saving and Displaying Photos
  • List Views
  • Dynamically Populating Lists
  • Formatting List Items: Custom Adapters
  • Using Icons in Views
  • Styles and Themes
  • Selectors
  • Relative Layouts
  • Browsing the Gallery
  • Retrieving an Image from the Gallery
  • The Activity Lifecycle and Saving Data
  • Pre-Publication Checks
  • Taking Screenshots of Your App
  • Signing and Exporting Your App
  • Publishing Your App
More Useful Stuff
  • Using 3rd Party APIs
  • Action Bars
  • Responding to Action Bar Menu Clicks
Communication
  • Downloading Text Data from the Internet
  • Internet Communication Overview
  • A Simple Server (Java Servlet) Program
  • Sending Small Amounts of Data to a Server
  • URL Escaping
  • Introducing JSON with Twitter and The Onion
  • Decoding JSON
  • Encoding Data as JSON
  • Responding to POST Requests in a Servlet
  • Posting JSON Data to a Server
Layout Techniques
  • Introducing Fragments
  • Using ListFragment to Display Lists
  • Formatting Items in ListFragment
  • Fragment Communication
  • Managing Fragments
Games and Animation
  • Animation Introduction
  • SurfaceView
  • Images and Sound: POV Ray and Psycle
  • Drawing Images
  • Detecting Surface Changes
  • The Animation Thread (Game Loop)
  • The Game Class
  • A Sprite Class
  • Animating the Sprite
  • Making the Ball Bounce
  • Bring Out the GIMP: Autocropping
  • Adding the Bats
  • Randomising the Ball Position
  • Controlling the Player's Bat (Touch Events)
  • Simulating Intelligence
  • Collision Detection
  • Drawing Text
  • Game States
  • Playing a Sound
  • Playing Multiple Sounds
  • Adjusting the Volume
Map Applications with Android V2 API
  • Installing Google Play Services
  • Creating and Signing a Map Application
  • Getting the Map Demo Running
  • Adding Markers to Maps
Appendix 1: Source Code
  • Nuts and Bolts Source Code
  • Communication Source Code