Programming for Android III


Programming for Android III helps students create advanced apps that connect to a backend database. Students focus on: user experience, device provisioning, analytics, working with the cloud, multi-threaded programming, and device security. Students implement the agile development process to produce functional iterations of their Android apps.
MAD 155 or instructor consent
Students will:

1. Manage user and device permissions

2. Address and modify programs for specific hardware platforms

3. Beta test software

4. Test software for the User Experience

5. Set up the software to collect analytics data

6. Create software that implements a notification system

7. Connect to cloud storage

8. Address common security concerns in their software design

9. Implement multi-threading techniques to take advantage of multi-core processors

I. Becoming an Android Developer

a. Career potential

b. Getting your first job

II. Device provisioning

a. Managed provisioning

b. Profile owner provisioning

c. Device owner provisioning

III. Platform strategic planning

a. User Interface

b. Graphics

IV. Submitting apps to the Google Play store

a. Developer Console

b. Managing files

c. Updates

d. Store listing

V. Beta testing / Test Flight

a. Load testing

b. Usability testing

c. Test Flight

VI. Corporate deployment – Mobile Management Systems (MMS)

a. Device enrollment

b. Profile Management

c. Security

d. Audits and reports

VII. UI considerations

a. Navigation

b. Gestures

c. Appearance/branding

d. Accessibility

VIII. Analytics

a. Setup

b. Configuration

c. Screen tracking

IX. Notifications

a. Design considerations

b. Creating a notification

c. Notification contents

d. Notification Actions

X. Working with the cloud

a. Building apps in the cloud

b. Testing performance

XI. Security

a. Obfuscating code

b. Permissions

XII. Multi Threading

a. Threads

b. Using the handler class

XIII. Localization

a. Languages

b. Support different text directions

c. Support multiple currencies and time/date formats

XIV. Design Patterns

a. Menus

b. Navigation

c. Screen layout