You are here: Home instructional_framework official_framework Business and Information Technology Education Intermediate Android Development
Log in

Need a new SSL certificate?

View Career Major Course

Course Information
Business and Information Technology Education
Intermediate Android Development
This course in Intermediate Android Development covers the concepts of Android use and its development. Students download and install the tools necessary for developing Android applications. Students create application manifests, applications that use external resources to provide dynamic support for locations, languages, and hardware configurations. Students enhance views and layouts, create Activities and Broadcast events, connect to Internet resources, and save and manage preferences for the end user. Students build databases, and expand usability with Content Providers, create services that run independently, and build menus and navigation that enhance the user’s experience. Students design Apps that use the Text-to-Speech and speech recognition libraries and use animations. Students program the device for sensory input and screen orientations. Students design for interactive Maps, build Widgets, add audio and video capabilities, integrate face and feature recognition, manage Bluetooth, NFC, Network, and WI-FI capabilities as well as SMS messaging, and Android Beaming. Students also learn how to sign an application for distribution, publish the application, as well as promote and monetize it.
Carrie DeMuth
Beginning Android Development
The student will understand the following objectives:

Android Tools:
• Define Android and explain the background of mobile application development
• Download and install the SDK for Android development
• Identify and verbalize which devices run on Android

Beginning Android Programming:
• Create an environment for Android development and for debugging projects including designing for small screens and mobile data connections.
• Explain the importance of optimizing for speed and efficiency.
• Manipulate Android Virtual Devices, the Emulator and other development tools for use in android program development.

Creating Applications and Activities:
• Identify and explain the Android application components and different types of applications that can be built with them.
• Build an application manifest.
• Design external resources to provide dynamic support for locations, languages, and hardware configurations.
• Design and use a self-created Application class to expand usability of a device
• Construct new Activities that complete a life cycle and end

Building User Interfaces:
• Apply and optimize Views and Layouts correctly for the end user
• Build code that will Extend, Group, Create, and use Views accurately on a device
• Utilize and manipulate Adapters to bind data to Views for a device

Intents and Broadcast Receivers:
• Define and describe the use of Intents for programs
• Create Starting Activities, sub-Activities and Services using implicit and explicit Intents for a program
• Build code that “Broadcasts” events using the Broadcast Intents on a device
• Construct and evaluate a Pending Intent for different programs
• Verbalize how to use Intent filters and Broadcast Receivers when switching programs
• Modify code to “listen” to Broadcast Intents, monitor device state changes, and manage manifest receivers at run time on a device

Using Internet Resources:
• Apply code to Connect to Internet resources for a device
• Construct code to Parse XML resources for a device
• Produce code that will use and Query the Download Manager on a device
• Manipulate the Account Manager to authenticate with Google App Engine in tandem with a device

Files, Saving State and Preferences:
• Parse simple application data using Shared Preferences on a device
• Save Activity instance data between sessions for the end user
• Manage application preferences and build Preference Screens on a device
• Save and load files and manage the local file system for a device
• Manipulate static files to Include as external resources for a device

Databases and Content Providers:
• Create databases and use SQlite on a device
• Manipulate Content Providers, Cursors, and Content Values to store, share and consume applications data on a device
• Asynchronously query Content Providers using Cursor loaders on a device
• Add Search capabilities to an application for a device
• Develop code that will use the native Media Store, Contacts, and Calendar Content Providers for a device

Working in the Background:
• Create, Start, and Stop Services for Android devices
• Build code to Bind Services to Activities on a device
• Develop Ongoing foreground services on a device
• Extend the Intent Service for an application on a device
• Manipulate the AsynchTasks to manage background processing on a device
• Construct background Threads and use Handlers to synchronize with the GUI Thread on a device
• Apply and manipulate code to use Alarms to schedule application events for a device

Expanding the User Experience:
• Create and manipulate code to customize the Action Bar on a device
• Manipulate the Action Bar for application navigation on a device
• Manipulate the Android menu system for adding code to enhance a device’s usefulness
• Evaluate and manipulate Action bar actions to enhance the use of the device
• Utilize and manipulate immersive applications on a device
• Create and display Dialogs for the end user
• Manipulate the Notification Manager to notify users of application events on a device
• Create Insistent and ongoing Notifications for the end user

Advanced User Experience:
• Build Resolution Independence and design for every screen to enhance visibility on a device
• Create image assets in XML to enhance usability of a device
• Develop applications accessible to the end user
• Design code that uses the Text-to-Speech and speech recognition libraries to extend the use of the device for audio instructions
• Utilize animations for visual appeal on the device
• Manipulate hardware acceleration to allow for different program deliveries on a device
• Create and manipulate Surface Views on a device
• Utilize code that uses the copy and paste options, and the clipboard for end users to manipulate content

Hardware Sensors:
• Manipulate the Sensor Manager for hardware sensors on a device
• Define and describe the available sensor types for hardware sensors
• Write code that finds a device’s natural orientation and remap a device’s orientation reference frame
• Manipulate the code for sensors to monitor a device’s environment

Maps, Geocoding, and Location-Based Services:
• Define and explain forward and reverse geocoding as it applies to device maps
• Develop interactive maps with Map Views and Map Activities for interaction with the end user
• Create and add Overlays to device maps
• Manipulate code to find a location with location-based services for the end user
• Build and manipulate proximity alerts for the end user

Invading the Home Screen:
• Create home screen Widgets for a device
• Develop collection-based home screen Widgets for a device
• Manipulate code to use Content Providers to populate Widgets for a device
• Design and manipulate surface search results to the Quick Search box for the end user

Audio, Video, and Using the Camera:
• Construct code to play audio and video with the Media Player for the end user
• Build and manipulate audio focus and media button presses for the end user
• Use the Remote Control Client to control external devices
• Produce code to Record audio and video with the Media Recorder for the end user
• Create code to Record video and taking pictures using Intents on the device
• Design code to Preview recorded video and display live camera streams for the end user
• Assemble code for the end user to manipulate raw audio
• Generate code to utilize face and feature recognition for end users

Bluetooth, NFC, Networks and WI-FI:
• Write code to manage Bluetooth devices and discoverability mode
• Construct code to discover remote Bluetooth devices
• Design code to communicate over Bluetooth between devices
• Build code to monitor a device’s Internet connectivity
• Generate code to monitor a device’sWi-Fi and network details
• Design code to transfer data using Wi-Fi Direct
• Assemble code to scan NFC tags on the device
• Build code to transferring data between devices using Android Beam

Telephony and SMS:
• Assemble code to initiate phone bills on the device
• Construct code to read the phone, network, data connectivity, and SIM states on the device
• Generate code to monitor changes to the phone, network, data connectivity, and SIM states on the device
• Write code to use Intents to send SMS and MMS messages to and from the device
• Generate code to manipulate the SMS Manager to send SMS messages to and from the device
• Build code to handle incoming SMS messages for the device

Advanced Android Development:
• Develop code to secure Android using permissions
• Write code to send server pushes with Cloud to Device Messaging
• Construct code to add copy protection with the License Verification Library on the device
• Build code to monetize with In-App Billing on the device
• Assemble code to use Wake Locks on the device
• Construct code to inter-process communication (IPC) using AIDL and Parcelables on the device
• Write code to improve the device’s application performance using Strict Mode
• Assemble code to ensure the device’s backward and forward hardware and software compatibility

Monetizing, Promoting, and Distributing Applications:
• Construct code to create a signing certificate for the device
• Write code to sign applications for distribution
• Build code to publish on Google Play
• Design code to monetize strategies for the device
• Develop code for promotion strategies on the device
• Assemble code to use Google Analytics for the end user
ExpertRating Google Android 1.0 Programming Test
Android Certification Test
Android App Developer
Professional Android 4 Application Development by Reto Meier, 2012, ISBN: 978-1118102275
iTunes U
Career Majors That Sequence This Course
Career Cluster Pathway Career Major
Information Technology Programming and Software Development Android Program Developer