Google Android Syllabus

Similar documents
Here to take you beyond Mobile Application development using Android Course details

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

COURSE CONTENT. GETTING STARTED Select Android Version Create RUN Configuration Create Your First Android Activity List of basic sample programs

Developer's Cookbook. Building Applications with. The Android. the Android SDK. A Addison-Wesley. James Steele Nelson To

Getting Started with Android Programming (5 days) with Android 4.3 Jelly Bean

ANDROID INTRODUCTION TO ANDROID

Application Development

CHAPTER 1: INTRODUCTION TO ANDROID, MOBILE DEVICES, AND THE MARKETPLACE

UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP)

Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months

1. Introduction to Android

ITG Software Engineering

INTERMEDIATE ANDROID DEVELOPMENT Course Syllabus

Android in Action. Second Edition. Revised Edition of Unlocking Android MANNING. (74 w. long.) W. FRANK ABLESON CHRIS KING ROBI SEN.

Android Application Development. Daniel Switkin Senior Software Engineer, Google Inc.

Table of Contents. Adding Build Targets to the SDK 8 The Android Developer Tools (ADT) Plug-in for Eclipse 9

4 Application Development

«compl*tc IDIOT'S GUIDE. Android App. Development. by Christopher Froehlich ALPHA. A member of Penguin Group (USA) Inc.

Android Developer Fundamental 1

Mobile App Design and Development

Android (Basic + Advance) Application Development

Android Basics. Xin Yang

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

Introduction to Android

Chapter 9: Customize! Navigating with Tabs on a Tablet App

Android Application Development Distance Learning Program Brochure

Workshop on Android and Applications Development

Introduction to Android Programming (CS5248 Fall 2015)

Android 4.4 App Development Essentials

Graduate presentation for CSCI By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu )

Getting started with Android and App Engine

An Introduction to Android

Homeschool Programming, Inc.

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)

Lecture 1 Introduction to Android

Homework 9 Android App for Weather Forecast

Android Application Development Lecture Notes INDEX

Jordan Jozwiak November 13, 2011

Des Moines Area Community College

Android Application Development Cookbook. 93 Recipes for Building Winning Apps

Android Application Development

Introduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University

Introduction to Android Development. Jeff Avery CS349, Mar 2013

A Short Introduction to Android

Kindle Fire App Development Essentials

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

[PACKTl. Flash Development for Android Cookbook. Flash, Flex, and AIR. Joseph Labrecque. Over 90 recipes to build exciting Android applications with

Mocean Android SDK Developer Guide

Module Title: Software Development A: Mobile Application Development

Android Application Development Course Program

An Introduction to Android Application Development. Serdar Akın, Haluk Tüfekçi

INFORMATION BROCHURE

Beginning Android Programming

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

Android Mobile App Building Tutorial

Android Development Tutorial. Nikhil Yadav CSE40816/ Pervasive Health Fall 2011

QUALIFICATIONS PACK - OCCUPATIONAL STANDARDS FOR TELECOM INDUSTRY. SECTOR:TELECOM SUB-SECTOR: Handset (Terminal Applications) REFERENCE ID: TEL/Q2300

Overview of CS 282 & Android

Building an Android client. Rohit Nayak Talentica Software

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android

INTRODUCTION TO ANDROID CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 11 02/15/2011

Practical Android Projects Lucas Jordan Pieter Greyling

ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY

ECE 455/555 Embedded System Design. Android Programming. Wei Gao. Fall

Programming with Android

Android Architecture. Alexandra Harrison & Jake Saxton

Developing In Eclipse, with ADT

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android

Android Application Development

Praktikum Entwicklung Mediensysteme (für Master)

Developing NFC Applications on the Android Platform. The Definitive Resource

MA-WA1920: Enterprise iphone and ipad Programming

Android Application Development - Exam Sample

Creating and Using Databases for Android Applications

App Development for Smart Devices. Lec #2: Android Tools, Building Applications, and Activities

place/business fetch details, removefromfavorite () function, 189 search button handler bind, B BlackBerry build environment

B.M. Harwani. Android Programming UNLEASHED. 800 East 96th Street, Indianapolis, Indiana USA

Professional Tizen Application Development

Introduction to Tizen SDK Alpha. Taiho Choi Samsung Electronics

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

Android Environment SDK

Introduction to Android

Essentials of Developing Windows Store Apps Using C# MOC 20484

How To Develop An Android App On An Android Device

ANDROID TRAINING COURSE MODULES. Module-I: Introduction to Android. Introducing Android. Installing Development Tools. Using the Emulator.

Beginner s Android Development Tutorial!

Running a Program on an AVD

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

Introduction to Android. CSG250 Wireless Networks Fall, 2008

ANDROID OPERATING SYSTEM

CS378 -Mobile Computing. Android Overview and Android Development Environment

Android Environment SDK

Transcription:

Google Android Syllabus Introducing the Android Computing Platform A New Platform for a New Personal Computer Early History of Android Delving Into the Dalvik VM Understanding the Android Software Stack Developing an End-User Application with the Android SDK Android Emulator The Android UI The Android Foundational Components Advanced UI Concepts Android Service Components Setting Up Your Development Environment Setting Up Your Environment Downloading JDK 6 Downloading Eclipse 3.6 Downloading the Android SDK The Tools Window Installing Android Development Tools (ADT) Learning the Fundamental Components View Activity Intent Content Provider Service AndroidManifest.xml Android Virtual Devices Hello World! Exploring the Structure of an Android Application Examining the Application Lifecycle Understanding Android Resources Understanding Resources String Resources Layout Resources Resource Reference Syntax Defining Your Own Resource IDs for Later Use

Compiled and Uncompiled Android Resources Working with Arbitrary XML Resource Files Working with Raw Resources Working with Assets Reviewing the Resources Directory Structure Understanding Content Providers Exploring Android s Built-in Providers Architecture of Content Providers Implementing Content Providers Exercising the Book Provider Adding A Book Removing a Book Getting a Count of the Books Displaying the List of Books Understanding Intents Basics of Android Intents & Available Intents in Android Exploring Intent Composition Intents and Data URIs Generic Actions & Using Extra Information Understanding Intent Categories Rules for Resolving Intents to Their Components Exercising the ACTION_PICK Exercising the GET_CONTENT Action Introducing Pending Intents Building User Interfaces and Using Controls Building a UI Completely in Code Building a UI Completely in XML Building a UI in XML With Code Understanding Android s Common Controls Text Controls Button Controls The ImageView Control Date and Time Controls The MapView Control Understanding Adapters Getting to Know SimpleCursorAdapter Getting to Know ArrayAdapter Using Adapters With AdapterViews The Basic List Control: ListView The GridView Control The Spinner Control The Gallery Control Creating Custom Adapters Styles and Themes

Using Styles Using Themes Understanding Layout Managers The LinearLayout Layout Manager The TableLayout Layout Manager The RelativeLayout Layout Manager The FrameLayout Layout Manager Working with Menus Understanding Android Menus Creating a Menu Working with Menu Groups Responding to Menu Items Creating a Test Harness for Testing Menus Working with Other Menu Types Expanded Menus Working with Icon Menus Working with Submenus Provisioning for System Menus Working with Context Menus Working with Alternative Menus Working with Menus in Response to Changing Data Loading Menus Through XML Files Structure of an XML Menu Resource File Inflating XML Menu Resource Files Responding to XML-Based Menu Items Working with Dialogs Using Dialogs in Android Designing an Alert Dialog Designing a Prompt Dialog Nature of Dialogs in Android Rearchitecting the Prompt Dialog Working with Managed Dialogs Understanding the Managed-Dialog Protocol Recasting the Nonmanaged Dialog as a Managed Dialog Simplifying the Managed-Dialog Protocol Working with Toast Resources Working with Preferences and Saving State Exploring the Preferences Framework Understanding ListPreference Understanding CheckBoxPreference Understanding EditTextPreference Understanding RingtonePreference Organizing Preferences Manipulating Preferences Programmatically Saving State with Preferences

Exploring Security and Permissions Understanding the Android Security Model Overview of Security Concepts Signing Applications for Deployment Performing Runtime Security Checks Understanding Security at the Process Boundary Declaring and Using Permissions Understanding and Using Custom Permissions Understanding and Using URI Permissions Building and Consuming Services Consuming HTTP Services Using the HttpClient for HTTP GET Requests Using the HttpClient for HTTP POST Requests (a Multipart Example) SOAP, JSON, and XML Parsers Dealing with Exceptions Addressing Multithreading Issues Fun With Timeouts Using the HttpURLConnection Using the AndroidHttpClient Using Background Threads (AsyncTask) Handling Configuration Changes with AsyncTasks Getting Files Using DownloadManager Using Android Services Understanding Services in Android Understanding Local Services Understanding AIDL Services Defining a Service Interface in AIDL Implementing an AIDL Interface Calling the Service from a Client Application Passing Complex Types to Services Real-World Example Using Services Google Translate API Using the Google Translate API Exploring Packages Packages and Processes Details of a Package Specification Translating Package Name to a Process Name Listing Installed Packages Deleting a Package through the Package Browser Revisiting the Package Signing Process Understanding Digital Signatures: Scenario 1 Understanding Digital Signatures: Scenario 2 A Pattern for Understanding Digital Signatures So How Do You Digitally Sign? Implications of the Signing Process Sharing Data Among Packages The Nature of Shared User IDs

A Code Pattern for Sharing Data Library Projects What Is a Library Project? Library Project Predicates Creating a Library Project Creating an Android Project That Uses a library Exploring Handlers Android Components and Threading Activities Run on the Main Thread Broadcast Receivers run on the Main Thread Services Run on the Main Thread Content Provider Runs on the Main Thread Implications of a Singular Main Thread Thread Pools, Content Providers, External Service Components Thread Utilities: Discover Your Threads Handlers Implications of Holding the Main Thread Using a Handler to Defer Work on the Main Thread A Sample Handler Source Code That Defers Work Constructing a Suitable Message Object Sending Message Objects to the Queue Responding to the handlemessage Callback Using Worker Threads Invoking a Worker Thread from a Menu Communicating Between the Worker and the Main Threads A Quick Overview of Thread Behavior Handler Example Driver classes Driver Activity File Layout File Menu File Manifest File Component and Process Lifetimes Activity Life Cycle Service Life Cycle Receiver Life Cycle Provider Life Cycle Instructions for Compiling the Code Creating the Project from the ZIP File Creating the Project from the Listings Broadcast Receivers and Long-Running Services Broadcast Receivers Sending a Broadcast Coding a Simple Receiver: Sample Code Registering a Receiver in the Manifest File Sending a Test Broadcast Accommodating Multiple Receivers A Project for Out-of-Process Receivers

Using Notifications from a Receiver Monitoring Notifications Through the Notification Manager Sending a Notification Long-Running Receivers and Services Long-Running Broadcast Receiver Protocol IntentService IntentService Source Code Extending IntentService for a Broadcast Receiver Long-Running Broadcast Service Abstraction A Long-Running Receiver Abstracting a Wake Lock with LightedGreenRoom Long-Running Service Implementation Details of a Nonsticky Service Details of a Sticky Service A Variation of Nonsticky: Redeliver Intents Specifying Service Flags in OnStartCommand Picking Suitable Stickiness Controlling the Wake Lock from Two Places Long-Running Service Implementation Testing Long Running Services Instructions for Compiling the Code Creating the Projects from the ZIP File Creating the Project from the Listings Exploring the Alarm Manager Alarm Manager Basics: Setting Up a Simple Alarm Obtaining the Alarm Manager Setting Up the Time for the Alarm Setting Up a Receiver for the Alarm Creating a PendingIntent Suitable for an Alarm Setting the Alarm Test Project Exploring Alarm Manager Alternate Scenarios Setting Off an Alarm Repeatedly Cancelling an Alarm Working with Multiple Alarms Intent Primacy in Setting Off Alarms Persistence of Alarms Alarm Manager Predicates Exploring 2D Animation Frame-by-Frame Animation Planning for Frame-by-Frame Animation Creating the Activity Adding Animation to the Activity Layout Animation Basic Tweening Animation Types Planning the Layout Animation Test Harness Creating the Activity and the ListView

Animating the ListView Using Interpolators View Animation Understanding View Animation Adding Animation Using Camera to Provide Depth Perception in 2D Exploring the AnimationListener Class Some Notes on Transformation Matrices Exploring Maps and Location-based Services Understanding the Mapping Package Obtaining a Map-API Key from Google Understanding MapView and MapActivity Adding Markers Using Overlays Understanding the Location Package Geocoding with Android Geocoding with Background Threads Understanding the LocationManager Service Using Proximity Alerts Using the Telephony APIs Working with SMS Showing Your Location Using MyLocationOverlay Sending SMS Messages Monitoring Incoming SMS Messages Working with SMS Folders Sending E-mail Working with the Telephony Manager Session Initiation Protocol (SIP) Understanding the Media Frameworks Using the Media APIs Using SD Cards Playing Media Playing Audio Content Playing Video Content Recording Media Exploring Audio Recording with MediaRecorder Recording Audio with AudioRecord Exploring Video Recording Exploring the MediaStore Class Recording Audio Using an Intent Adding Media Content to the Media Store Triggering MediaScanner for the Entire SD Card Programming 3D Graphics with OpenGL Understanding the History and Background of OpenGL OpenGL ES OpenGL ES and Java ME M3G: Another Java ME 3D Graphics Standard Fundamentals of OpenGL

Essential Drawing with OpenGL ES Understanding OpenGL Camera and Coordinates Interfacing OpenGL ES with Android Using GLSurfaceView and Related Classes Implementing the Renderer Using GLSurfaceView from an Activity Changing Camera Settings Using Indices to Add Another Triangle Animating the Simple OpenGL Triangle Braving OpenGL: Shapes and Textures Drawing a Rectangle Working with Shapes Working with Textures Drawing Multiple Figures OpenGL ES 2.0 Java Bindings for OpenGL ES 2.0 Rendering Steps Understanding Shaders Compiling Shaders into a Program Getting Access to the Shader Program Variables A Simple ES 2.0 Triangle Further Reading on OpenGL ES 2.0 Instructions for Compiling the Code Exploring Live Folders Exploring Live Folders How a User Experiences Live Folders Building a Live Folder Instructions for Compiling the Code Home Screen Widgets Architecture of Home Screen Widgets Android Search What Are Home Screen Widgets? User Experience with Home Screen Widgets Life Cycle of a Widget A Sample Widget Application Defining the Widget Provider Defining Widget Size Widget Layout-Related Files Implementing a Widget Provider Implementing Widget Models Implementing Widget Configuration Activity Widget Limitations and Extensions Android Search Experience Exploring Android Global Search Enabling Suggestion Providers for Global Search Activities and Search Key Interaction Behavior of Search Key on a Regular Activity

Behavior of an Activity that Disables Search Explicitly Invoking Search Through a Menu Understanding Local Search and Related Activities Enabling Type-to-Search Implementing a Simple Suggestion Provider Planning the Simple Suggestions Provider Simple Suggestions Provider Implementation Files Implementing the SimpleSuggestionProvider class Understanding Simple Suggestions Provider Search Activity Search Invoker Activity Simple Suggestion Provider User Experience Implementing a Custom Suggestion Provider Planning the Custom Suggestion Provider SuggestURLProvider Project Implementation Files Implementing the SuggestUrlProvider Class Implementing a Search Activity for a Custom Suggestion Provider Custom Suggestions Provider Manifest File Custom Suggestion User Experience Using Action Keys and Application-Specific Search Data Using Action Keys in Android Search Working with Application-Specific Search Context Resources Implications for Tablets Exploring Text to Speech The Basics of Text-to-Speech Capabilities in Android Touch Screens Using Utterances to Keep Track of Our Speech Using Audio Files for Your Voice Advanced Features of the TTS Engine Setting Audio Streams Using Earcons Playing Silence Choosing a Different Text-to-Speech Engine Using Language Methods Understanding MotionEvents The MotionEvent Object Recycling MotionEvents Using VelocityTracker Exploring Drag and Drop Multitouch Multitouch Before Android 2.2 Multitouch Since Android 2.2 Touches with Maps Gestures The Pinch Gesture GestureDetector and OnGestureListeners

Using Sensors Custom Gestures The Gestures Builder Application What Is a Sensor? Detecting Sensors What Can We Know About a Sensor? Getting Sensor Events Issues with Getting Sensor Data Interpreting Sensor Data Light Sensors Proximity Sensors Temperature Sensors Pressure Sensors Gyroscope Sensors Accelerometers Magnetic Field Sensors Using Accelerometers and Magnetic Field Sensors Together Orientation Sensors Magnetic Declination and GeomagneticField Gravity Sensors Linear Acceleration Sensors Rotation Vector Sensors Near Field Communication Sensors Exploring the Contacts API Understanding Accounts A Quick Tour of Account Screens Relevance of Accounts to Contacts Enumerating Accounts Understanding Contacts Application Show Contacts Show Contact Detail Edit Contact Details Setting a Contact s Photo Exporting Contacts Various Contact Data Types Understanding Contacts Examining the Contents SQLite Database Raw Contacts Data Table Aggregated Contacts view_contacts contact_entities_view Working with the Contacts API Exploring Accounts Exploring Aggregated Contacts Exploring Raw Contacts

Exploring Raw Contact Data Adding a Contact and Its Details Controlling Aggregation Impacts of Syncing Deploying Your Application: Android Market and Beyond Becoming a Publisher Following the Rules Developer Console Preparing Your Application for Sale Testing for Different Devices Supporting Different Screen Sizes Preparing AndroidManifest.xml for Uploading Localizing Your Application Preparing Your Application Icon Considerations for Making Money From Apps Directing Users Back to the Market The Android Licensing Service Preparing Your.apk File for Uploading Uploading Your Application User Experience on Android Market Beyond Android Market Fragments for Tablets and More What is a Fragment? When to Use Fragments The Structure of a Fragment A Fragment s Lifecycle Sample Fragment App Showing the Lifecycle FragmentTransactions and the Fragment Back Stack Fragment Transaction Transitions and Animations The FragmentManager Caution When Referencing Fragments ListFragments and <fragment> Invoking a Separate Activity When Needed Persistence of Fragments Understanding Dialog Fragments DialogFragment Basics DialogFragment Sample Application More Communications with Fragments Using startactivity() and settargetfragment() Custom Animations with ObjectAnimator Exploring ActionBar Anatomy of an ActionBar Tabbed Navigation Action Bar Activity Implementing Base Activity Classes Assigning Uniform Behavior for the ActionBar Implementing the Tabbed Listener Implementing the Tabbed Action Bar Activity

Scrollable Debug Text View Layout Action Bar and Menu Interaction Android Manifest File Examining the Tabbed Action Bar Activity List Navigation Action Bar Activity Creating a SpinnerAdapter Creating a List Listener Setting Up a List Action Bar Making Changes to BaseActionBarActivity Making Changes to AndroidManifest.xml Examining the List Action Bar Activity Standard Navigation Action Bar Activity Standard Navigation Action Bar Activity Making Changes to BaseActionBarActivity