Advanced Android Training Course

Public Classroom

Summary

Android Advanced

Advanced Android training course is designed to provide advanced knowledge and skills to develop applications for Android platform. Course will cover in-depth topics such as threads, message queues, content providers/resolvers, location-based services, network services and others. Students taking this class should already be familiar with Android platform and have already written basic Android applications.

Duration

2 days

Audience

This course is for those who already have a basic understanding of the Android platform and want to obtain a more in-depth coverage of Android application development topics. This will be a great course for someone to further perfect their Android skills.

Pre-requisites

It is recommended that you take Android Application Development course prior to taking this course or have sufficient experience developing Android applications. You must also have a hands-on experience with Java programming language. If you don’t have a Java background, we recommend enrolling in the Java for Android course, which is generally scheduled immediately prior to this course.

Outline

Day 1

  1. Android Overview
  2. Module 1: Adapters
    1. ArrayAdapter
    2. CursorAdapter/SimpleCursorAdapter
    3. ListView/ListActivity
    4. ContextMenus
    5. GridView
    6. Spinner
    7. Gallery/ImageSwitcher
    8. Demo “AdapterDemo” application
  3. Module 2: File I/O
    1. File systems
    2. Internal/External files
    3. Application Sandboxing
    4. File I/O
    5. UserPreferences (storage and activity)
    6. Demo “FileDemo” application
  4. Module 3: SqlLite Database
    1. SQL Review
    2. SQLite database
    3. SQLiteDatabase (class)
    4. SQLiteOpenHelper (class)
    5. Database Definition/BaseColumns (class)
    6. ContentValues (class)
    7. Insert
    8. Update
    9. Delete
    10. Cursor (class)
    11. Query/Select
    12. ADB and sqlite3 utility
    13. Demo “DataBaseDemo” application
    14. Content Providers/Resolvers
    15. ContentProvider/Resolver (Class)
    16. REST URI
    17. ContentResolver
    18. Query
    19. Insert
    20. Update/Delete
    21. ContentProvider
    22. MIME type
    23. URI Matcher
    24. Demo “ContentDemo” application
  5. Lab Session
    1. WxTrax: add database support, content provider, user preferences

Day 2

  1. Module 4: Graphics and Animation
    1. Frame animation
    2. 2D Graphics
    3. Tweening
    4. SurfaceView
    5. OpenGL survey
    6. Demo “GraphicsDemo” application
  2. Module 5: Application Widgets
    1. Application Widgets Overview
    2. AppWidgetProviderInfo
    3. AppWidgetLayout
    4. AppWidgetProvider
    5. AppWidgetManager
    6. RemoteViews
    7. Demo “AppWidgetDemo” application
  3. Module 6: Sensors
    1. Sensors
    2. SensorManager
    3. Touch Events/Gestures
    4. Camera
    5. Accelerometer
    6. Compass
    7. Demo “SensorDemo” application
  4. Module 7: Audio
    1. AudioManager
    2. Audio Recording
    3. Audio Playback
    4. Demo “AudioDemo” application
  5. Module 8: Geographic Support
    1. LocationManager
    2. Privacy warning
    3. Data quality
    4. Battery life
    5. Listeners
    6. LocationListener
    7. GpsStatus.Listener
    8. Location (class)
    9. Extra Manifest declarations
    10. Google Maps
    11. Google MapView
    12. Google Maps Key
    13. Demo “LocationDemo” application
  6. Module 9: Unit Test
    1. JUnit
    2. Assert (class)
    3. Mock objects
    4. Demo “JUnitDemo” and “JunitDemoTest” applications
  7. Module 10: Market
    1. Preparing for market
    2. App distribution
  8. Module 11: Introduction to Native Development Kit (NDK)/Java Native Interface (JNI)
    1. Java Native Interface tour
      1. Overview (C/C++ and Java)
      2. Datatypes, signatures, conventions
      3. javap, javah utilities
    2. Native Development Kit tour
      1. Features of NDK
      2. Build environment
    3. Demonstration
      1. Java calls C
      2. Java shares variables with C
      3. C calls Java
  9. Lab Session
    1. WxTrax now ready for geographic map, AppWidget

Instructors

Guy Cole

Guy Cole Guy Cole is a former UC Extension instructor w/years of classroom experience. He is also a freelance designer/developer and an author of several Android and iPhone applications (search for "digiburo" within the Android market or iTunes App Store). Guy's extensive bio includes companies such as Cray Research, Cisco Systems, Wells Fargo Bank, Barclays Global Investments, Motorola, DHL Airways and many smaller, less well known companies. Guy completed a BSCS from San Diego State and holds multiple industry certifications. You will thoroughly enjoy both his clear presentation style as well as his keen sense of humor!

Jim McKeeth

Jim McKeeth

Jim is a veteran software developer, community activist, podcaster, blogger, trainer and conference presenter with 20 years of experience. He is developer evangelist for RemObjects Software where he travels the globe teaching and inspiring developers to achieve new levels of success in their development efforts. Jim's belief that training should be fun and informative is evident by his creative style.

Jim presents at conferences all across North America and Europe. Most recently he was one of the top presenters at the 4 day AnDevCon conference in California presenting four advanced sessions on topics ranging from web services to multiplatform development. When he isn't travelling and training he enjoys spending time with his family in Boise, Idaho.

Doug Stevenson

Doug Stevenson Doug Stevenson is an experienced developer and architect with a rich background in Java, C++ and mobile software systems. He has been a software developer for over 16 years, with last three years spent specifically on writing Android applications. His Android venture started when he became an early adopter of an Android device as they first hit the market in 2008. His popular application, “Act 1 Video Player”, has had over 40,000 downloads on the Android Market since its release and has become the “de facto” third-party Android video player. Doug has won prizes for Google’s Android Developer Challenge 2 and Google I/O 2011. He studied Computer Science at Ohio State University and has held principal software positions with several high-profile companies such as Motorola and America Online. He is a regular attendee and contributor to various Android conferences and Android user groups throughout the country.