Programming for Android
Only £1975 per person
Contact us for Onsite Price
Layout
The course comprises instructor-led presentations and practical hands-on exercises. The practical sessions are structured to give the delegates the opportunity to put into practice some of the theory covered during the instructor-led sessions.
Training Course Objectives
- The architecture of Android OS
- Using the Eclipse based development environment.
- GUI development.
- Supporting multiple languages.
- Accessing data from files, network and SQL database.
- Audio and video playback.
- Automated testing of your applications.
- Selling your applications in Android market.
Who it is for
Developers and architects who will be developing applications for Android devices.
Training Course Prerequisites
- Basic knowledge of Java programming language.
Chapters
Chapter 1 Introduction to Android
- What is Android?
- A Short History
- Advantages of Android
- Disadvantages of Android
- References
Chapter 2 The Architecture of Android
- Key Components Stack
- The Kernel
- Libraries
- The Dalvik JVM
- Application Framework
- Applications
Chapter 3 The Development Environment
- What Do We Need?
- Setting Up the SDK
- 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)
- The Console Views
- Developing for Multiple Android Versions
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
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
Chapter 6 Layout Management
- Background
- LinearLayout
- LinearLayout Orientation
- fill_parent Example
- Layout Gravity
- Weight
- TableLayout
- Managing the Width
- RelativeLayout
- RelativeLayout Example
- ScrollView
- HorizontalScrollView
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
Chapter 8 Intents and Intent Filter
- 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
- Example Hint Matching ? 1
- Example Hint Matching ? 2
- 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
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
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
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
- Working with Asset 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
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
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
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
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
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