Intermediate Android Training – 4 Days
The Intermediate Android Training course flows directly from Introduction to Android Development, to guide students through an exploration of some of the more sophisticated capabilities of the Android OS and to empower them to build polished Android applications, activities, and services.
Like its precursor, this course focuses on practical concerns faced by the corporate IT developer. The primary case-study application connects popular mobile features such as maps and multimedia with a RESTful web service and a JPA persistence tier that connects to a fully-worked enterprise database (15 tables, 998 rows). The mobile side of the application includes 47 Java classes and 8 distinct activities. Supporting applications provide overlapping exercise in key techniques such as using asynchronous tasks, communicating with external applications, and error-handling.
What You Will Learn
- Store app-specific information in SQLite databases.
- Make remote connections using HTTP, XML, and JSON, and take advantage of mapping and other web services.
- Implement background work as asynchronous tasks.
- Implement Android services for asynchronous notification, and integrate these services with applications.
- Invoke external applications and services using implicit intents.
- Manage audio, photo, and video content, and integrate built-in media applications in your own Android applications.
- Integrate map views into your application, and provide custom overlays of map markers and other information.
- Publish to app markets.
- Java programming is excellent preparation.
- Introductory knowledge of Android programming is required: “Introduction to Android Development,” or similar.
- Exposure to related technology including web applications, user-interface design, SQL, XML, and web services, all are beneficial but none are required.
Chapter 1. Database Storage
- The SQLiteDatabase Class
- The SQLiteOpenHelper Class
- Installing Databases
- The query Methods
- Using Cursors
- Database Updates
Chapter 2. Networking and Web Services
- Apache HttpClient
- Consuming RESTful Web Services
- Building URLs
- Parsing JSON
- Parsing XML
- Connected Applications
- Offline Operation and Server Synchronization
Chapter 3. Asynchronous Tasks
- The UI Thread
- Background Tasks
- Loopers and Handlers
- Using AsyncTask
- Using ProgressDialog
- Error Handling
Chapter 4. Services
- The Roles of Services
- Invoking a Service
- Do’s and Don’ts
- Communication with the Application
- Communication with Activities
- Sending Notifications
- Pending Intents
- Polling Web Services
Chapter 5. Inter-Process Communication
- Breaking Out
- Using the Clipboard
- Linkifying Text
- Implicit Intents
- Invoking Built-In Applications and Services
- Accepting Implicit Intents
- Passing Data
- MIME Types
Chapter 6. Multimedia
- Playing Sounds
- Haptic Feedback (Vibrating)
- Managing Images
- Storage and Retrieval
- Invoking the Camera
- Invoking the Media Recorder
- Gallery and other Image Views
Chapter 7. Location Services and Maps
- Location Services
- Location Notifications
- The Google Maps API
- License Terms and Maps API Keys
- Map View and Map Activity Classes
- Configuring a Map
- Controlling a Map
- Map Overlays
- Item Overlays
- Custom Overlays
Chapter 8. Publishing
- The App Market
- Preparing Your App
- Debug vs. Release Builds
- Signing an APK File
- Publishing Your Application
- Application Metadata
- Updates and Support
IDE Support: Eclipse Juno
In addition to the primary lab files, an optional overlay is available that adds support for Eclipse Juno. Students can code, build, deploy, and test all exercises from within the IDE. We make full use of the Android SDK and its Eclipse plugin and device emulators.
|Hardware Requirements (Minimum)||Core i5, 1.5 GHz, 4 gig RAM, 1 gig disk space.|
|Hardware Requirements (Recommended)||Core i5, 2.5 GHz GHz, 8 gig RAM, 1 gig disk space.|
|Operating System||Tested on Windows 7. Course software should be viable on all systems which support a Java 6 Developer’s Kit.|
|Network and Security||Limited privileges required.|
|Software Requirements||All free downloadable tools.|