UMBC Training Centers logo

Programming for Android

 

Course Description | Course Outline | Software Development | IT Training

Chapter 1. Introduction to Android

  • What is Android?
  • What are the advantages of the Android platform?
  • A survey of manufacturers and carriers offering Android.
  • Current market statistics for device sales and applications available.

Chapter 2. Setting up a Development Environment

  • What tools do we need?
  • Downloading the SDK
  • Downloading the Android platform
  • What version of Android to develop for?
  • Installing Eclipse plug-in.
  • Basic development and testing workflow.
  • Debugging applications.

Chapter 3. The Android Architecture

  • Key features of Android
    • Dalvik VM
    • 2D graphics library
    • 3D graphics using OpenGL ES
    • Web browser
    • GSM telephony
    • GPS
    • Accelerometer
    • Development SDK
    • SQLite
  • The architecture
  • The libraries
    • System C Library
    • Media library
    • Surface manager
    • LibWebCore
    • 2D graphics (SGL) and 3D graphics (OpenGL ES).
    • FreeType
    • SQLite
  • The Linux kernel
  • The application process model
  • The thread model
  • VM sharing by applications
  • Secure access to application files

Chapter 4. Application Fundamentals

  • Key components of an application
    • Activities
    • Services
    • Broadcast receivers
    • Content providers
  • Understanding intents
  • The manifest file
  • Activities and tasks
  • Activity lifecycle
  • Service lifecycle
  • Broadcast receiver lifecycle

Chapter 5. Basics of UI Development

  • Views
  • Widgets
  • View groups
  • The view hierarchy
  • Basic layout using API
  • Handling widget events
  • Basic widgets
    • Button
    • Checkbox
    • RadioButton, RadioGroup
    • TextView
    • EditText
    • ProgressWindow
  • Showing notification messages
    • Alert dialog
    • Progress dialog
    • Toast notification
    • Status bar notification

Chapter 6. Advanced UI Development

  • Declaring layout in XML
  • Loading XML layout
  • Layout parameters
  • Advanced layout options
    • TableLayout
    • FrameLayout
    • Gallery
    • RelativeLayout
    • ScrollView
  • Advanced widgets
    • ViedoView
    • TabWidget
    • Spinner
    • SlidingDrawer
    • ListView
    • GridView
    • Date and time picker
  • Data binding with AdapterView

Chapter 7. Custom UI Development

  • Adding widgets to alert dialog
  • Custom dialog design using XML or API
  • Building custom views or widgets

Chapter 8. Localization and Resource Management

  • What is localization?
  • When should you localize applications?
  • Externalizing text and image resources
  • Using text and image resources

Chapter 9. Data Storage

  • Preferences
  • Internal and external storage
  • SQLite data storage

Chapter 10. The Networking API

  • The architecture of thin client application
  • Using the java.net package
  • Using the android.net package
  • Communication data format
    • Plain text
    • XML

Chapter 11. Graphics Programming

  • 2D Graphics API details
  • 3D Graphics API details

Chapter 12. Multimedia

  • Audio and Video playback
  • Playing JET content
  • Audio capture

Chapter 13. Testing and Performance Tuning

  • The testing framework
  • The testing API
  • Testing the UI
  • Profiling applications
  • Detecting excessive CPU and memory usage

Chapter 14. Publishing Your Application

  • Signing your application
  • Versioning the application
  • Building the application package
  • Publishing on Android Market