The Android platform has established itself as a market leader for smartphones and tablets. It has also been deployed successfully in wearables and appliances. This course is for software developers who desire to learn the advanced capabilities of Android with direct interactions and expertise sharing in classrooms. The course prepares you to create a real-world development project with professional quality.
The course goes beyond the basics and covers key topics such as Android Services, which runs in the background for longer operations such as Internet access and data processing, and Android data sharing, which includes the internal database and the API that the content provider uses to access data from applications. You will learn to program innovative mobile sensors that fully utilize smartphone features and to optimize app performance for battery life, UI responsiveness, and device resources. The course includes development considerations for Android Wear, which often requires voice commands, simplified interactions, and a different developer environment. The instructor offers experience in handling popular tasks that developers are likely to come across.
The course reviews code examples and several in-class exercises. You are encouraged to choose a final project that can unleash creativity and utilize full features of Android. Students should be familiar with Java coding and its development environment before entering this course.
- Android Services: architecture and implementation
- Data Sharing
- (a) Database
- (b) Content provider
- Mobile sensors
- (a) Orientation
- (b) Motion sensor
- (c) GPS, maps and geofences
- Performance tuning: battery, app responsiveness, memory and data consumption
- Wearable app: development considerations
- Design project guidance
Note(s): A laptop is required for this class. Instructor will give instructions to install Android Studio IDE.
Skills Needed: Java programming experience is required to program Android. Students should have some experience developing Android apps. Basic Android knowledge (at the level of "Developing Applications for Android Mobile Devices" course# 21956) will not be repeated here.