powered by
Center for Curriculum and Transfer Articulation
Introduction to Android Application Development
Course: CIS165DA

First Term: 2020 Fall
Lec + Lab   3.0 Credit(s)   4.0 Period(s)   4.0 Load  
Subject Type: Occupational
Load Formula: T - Lab Load


Description: Beginning with an overview of Android features, this class explores the required software tools and programming techniques for developing Android device applications from creating the user interface, working with activities, intents and views, to using databases, providing data persistence, accessing device services, to debugging and publishing applications.



MCCCD Official Course Competencies
1. Identify features of the Android architecture and operating system. (I)
2. Describe the process to install and configure Android development tools including the Software Development Kit (SDK). (II)
3. Create Android applications using the essential statements, data types, structures and syntax of an Android-focused language such as Java or Kotlin. (III)
4. Analyze target audience, purpose and determine the viability of an application. (IV)
5. Configure an Android Virtual Device using the Android Emulator for testing an application. (II, V)
6. Utilize various layouts in designing Activities. (V)
7. Place and code various views in an Activity including Buttons, TextViews, ListViews and ImageViews. (VI)
8. Link activities using Intents. (VII)
9. Create and use a simple database in an application. (VIII)
10. Persist data using internal and basic external storage. (IX)
11. Add media to a project including audio and graphics. (X)
12. Access message and web services in an application. (XI, XII)
13. Prepare an application for deployment. (XIII)

MCCCD Official Course Competencies must be coordinated with the content outline so that each major point in the outline serves one or more competencies. MCCCD faculty retains authority in determining the pedagogical approach, methodology, content sequencing, and assessment metrics for student work. Please see individual course syllabi for additional information, including specific course requirements.
 
MCCCD Official Course Outline
I. The world of android
   A. Current devices on the market
   B. Device features
   C. Android iOS history
   D. Exploring the android store
II. Preparing for development
   A. Installing and configuring the Integrated Development Environment (IDE) and language options
   B. The android Software Development Kit (SDK) - installing and updating
   C. Android development tools
   D. Android emulator and Android Virtual Devices (AVDs)
   E. Android libraries
   F. Online resources and help
   G. Overview of creating a simple application
      1. New android project dialog
      2. The package explorer window
      3. The Visual layout editor
      4. Main.XML
      5. Source files
      6. Assets
      7. Resources
      8. AndroidManifest.XML
   H. Testing and debugging with the android emulator
III. Language syntax
   A. Data types and variables
   B. Operators
   C. Conditionals
   D. Repetitions
   E. Arrays
   F. Structures
   G. Classes
IV. Design
   A. Target audience
   B. Purpose and features
   C. Graphic User Interface (GUI) design
      1. Storyboard
      2. UI/UX
    D. Market viability
V. Activities
   A. Views and viewgroups
   B. Layouts
      1. Absolute
      2. Frame
      3. Linear
      4. Relative
      5. Scroll
      6. Table
   C. Anchoring views
   D. Device orientations
   E. Displaying dialogs
      1. Toasts and snackbars
      2. Progress dialog
      3. DatePicker
      4. TimePicker
      5. Notifications
   F. Handling activity lifecycle events
VI. Coding user interface views
   A. TextViews
   B. Buttons
   C. RadioButtons and RadioGroups
   D. EditText Views
   E. ListViews
   F. Spinners
   G. ImageViews
   H. Menus
   I. WebViews
   J. GridViews
VII. Intents
   A. Linking activities using intents
   B. Getting a Uniform Resource Locator (URL)
   C. Using intent filters
   D. Broadcasting events with intents
   E. Handling rotation
VIII. Incorporating databases
   A. SQLite databases
      1. Adding data
      2. Querying data
      3. Updating data
      4. Deleting data
   B. Content providers
      1. Creating
      2. Accessing
      3. Adding, updating, deleting
   C. Native android content providers
      1. Browser
      2. CallLog
      3. ContactsContract
      4. Settings
IX. Persistance
   A. Creating, saving, and retrieving preferences
   B. Saving activity states
   C. Saving and loading files
X. Adding media
   A. Playing audio
   B. Recording audio
   C. Displaying bitmaps
XI. Accessing device services
   A. Using android telephony Application Program Interfaces (APIs)
   B. Handling multi-touch gestures
XII. Messaging and web services
   A. Working with notifications
   B. Short Message Service (SMS) messaging
      1. Sending
      2. Listening for and handling incoming messages
   C. Accessing web services
XIII. Preparing your application
   A. Digitally signing your application
   B. Versioning
   C. Packaging the APK file
   D. Publishing on the google play store
   E. Other deployment avenues
   F. Monetizing applications with in-application advertising
   G. Marketing strategies
 
MCCCD Governing Board Approval Date: December 10, 2019

All information published is subject to change without notice. Every effort has been made to ensure the accuracy of information presented, but based on the dynamic nature of the curricular process, course and program information is subject to change in order to reflect the most current information available.