OVERVIEW
Android is an open source platform for mobile computing. Applications are developed using familiar Java and Eclipse tools. Many vendors and carriers offer Android based devices (phones). Android is enjoying a healthy growth, in terms of hand set sells, applications available and new project starts. This course teaches students the architecture, API and techniques to create robust, high performance and appealing applications for the Android devices. While many classes focus on the mobile device, this course also deals with the server side architecture. This makes the class ideal for enterprise class businesses.
WHO IS THIS COURSE SUITABLE FOR
Developers and architects who will be developing applications for Android devices.PRE-REQUISITES
Basic knowledge of Java. Familiarity with Eclipse is a plus but not necessary.
COURSE CONTENT
Chapter 1. Introduction to Android
What is Android? A Short History Advantages of Android Disadvantages of Android Android Carriers References Summary
Chapter 2. The Architecture of Android
Key Components Stack The Kernel Libraries The Dalvik JVM Application Framework Applications Summary
Chapter 3. The Development Environment
What Do We Need? Setting Up the SDK Install Eclipse Plugin Create a Virtual Device Creating a Project Running Your Application Buttons of the Emulator Run Configuration Debugging an Application Using Third Party JAR Creating Reusable Library Dalvik Debug Monitor Server (DDMS) DDMS Tools in Eclipse The Console Views Developing for Multiple Android Versions Summary
Chapter 4. Application Fundamentals
Recapping The Basics Packaging an Application Application Reusability Architecture The Manifest File Activity Creating an Activity Class Activity Lifecycle Launching an Activity Pausing and Stopping an Activity Destroying an Activity Saving State The onCreate() Method Registering an Activity The Default Activity Process Lifecycle The Application Class The Application Context Summary
Chapter 5. Basic GUI Programming
The Fundamentals View Hierarchy Creating Views Programmatically Creating View in XML Layout More on XML Layout Common Programming Tasks with Views TextView and EditText Button CheckBox RadioButton and RadioGroup ToggleButton ImageView RatingBar Summary
Chapter 6. Layout Management
Background LinearLayout LinearLayout Orientation fill_parent Example Layout Gravity Weight TableLayout Managing the Width RelativeLayout RelativeLayout Example ScrollView HorizontalScrollView Summary
Chapter 7. Resource Management and Localization
Introduction Main Types of Resources Defining Value Resources Defining String Arrays Creating Image Resource Alternate Resource Folders Alternate Folder Name Rules How Android Finds Resources Dealing with Screen Orientation Orientation Change and Activity Lifecycle Developing for Tablets Basics of Localization Testing for Localization Loading Localized String from Code Summary
Chapter 8. Intents and Intent Filters
What is an Intent? The android.content.Intent Class Explicitly Specifying Component Name Example Implicit Target Component Specification Intent Filters Action Name Category Name Data Type Filter Hint Matching Logic Default Component of an Application Starting an Activity Getting Output from Activity Example of Launcher: ActivityA Example of Launched: ActivityB Pending Intent
Chapter 9. Application Menu
Introduction Defining Menu Items Menu XML File Option Menu Populating Menu Items from Resource Manipulating Menu Items Handling Menu Item Click Event Context Menu Showing a Context Menu Handling Context Menu Item Click Summary
Chapter 10. Showing Notification Messages
Introduction Toast Popping a Toast Advanced Toast Status Bar Notification Advantages of Status Bar Notification Steps to Create a Status Bar Notification Posting the Notification Using an Utility Method Additional Notes Using Dialogs AlertDialog Handling Button Click Events ProgressDialog Setting Progress Amount Summary
Chapter 11. Advanced GUI Development
Spinner View Creating a Spinner Handling Item Selection Event The ListView Creating a ListView Handling ListView Events The Adapter Model Adapter Class Example Adapter ; Using an Adapter The ArrayAdapter Class ViewFlipper Tabbed UI Layout Creating Tabbed UI Defining the Tabbed Layout Creating the Tabs with View Content Add a Tab with Activity Content WebView ; WebView Methods Summary
Chapter 12. Data Storage
Data Storage Options Data Privacy Shared Preferences Modifying Shared Preferences Shared Preferences Example Default Preferences Editing Preferences Example: Editing Preferences Internal Storage Example: Write to Internal Storage Example: Read from Internal Storage Private Directory ; Cache Directory Example: Writing to Cache File External Storage Checking State of External Storage Working with Files in External Storage Example: Writing to External Storage Shipping Files with the Application Working with Raw Resource Files
Chapter 13. SQL Database Storage
Introduction Opening a Database Connection Transaction Management A Pattern for Connection and Transaction Handling Creating Schema Compiled SQL Statement Inserting Data Updating Data Deleting Data Fetching Data Example Queries Iterating Over a Cursor Reading Column Values from Cursor A Complete Example Cursor Management Binding Cursor to ListView Custom Data Binding Handling Item Click Event Refreshing the ListView Schema Creation Issues Example Helper Class Using the Helper Class Summary
Chapter 14. Network Programming
Introduction Communication Using HTTP Protocol Creating a HttpClient Object Making a GET Request Making a POST Request Setting Timeout Using Basic Authentication Using Custom Authentication XML Parsing Options Setting Up XML Pull Parser The Main Loop Example XML Document Example Parsing Code Checking Network Status Summary
Chapter 15. Background Task Processing
Introduction The Handler Framework The Basic Approach Creating a Handler Posting a Message Doing Background Work AsyncTask Doing the Work Starting Work Getting Result from the Task Updating GUI From the Task Ending the Task What is Service Why Use a Service? Service for Background Work Creating a Service Example Service Class Starting and Stopping a Service Starting Long Running Work Sending Control Messages to a Service Usability Guidelines Summary
Chapter 16. Multimedia Programming
Introduction Recording Audio Start Recording Audio Stop Recording Playing Audio Playing from Raw Resource Playing from a File or Network Stream Stopping and Cleanup Video Playback Playing Video Summary
Chapter 17. Testing Applications
Introduction New Sources of Defects Special Testing Considerations Android Testing Framework The Architecture Creating a Test Project Test Case Class for an Activity Test Initialization Writing a Test Case Method Service Test Case Class Running Test Cases Useful Methods of an Activity Test Case Class Additional Assertion Function The TouchUtils Class Developing and Testing on a Device Stress Test Monkey Third Party Testing Tools Summary
Chapter 18. Packaging and Distributing Applications
Introduction Pricing Options Getting the Application Ready About Signing the Application Exporting and Signing the Application Going to Android Market Doing Maintenance Summary