Kindle Fire Development Essentials
Table of Contents
- Introduction to Kindle Fire App Development Essentials
- An Overview of the Kindle Fire
- Setting up a Kindle Fire Android Development Environment
- System Requirements
- Installing the Java Development Kit (JDK)
- Downloading the Android Developer Tools (ADT) Bundle
- Installing the ADT Bundle
- Installing the Correct Android and Kindle Fire SDK Packages
- Making the Android SDK Tools Command-line Accessible
- Adding the ADT Plugin to an Existing Eclipse Integration
- Adding the ADT Plugin to an Existing Eclipse Integration
- Adding the ADT Plugin to an Existing Eclipse Integration
- Creating a Kindle Fire Android Virtual Device (AVD)
- Creating an Example Kindle Fire Android Application
- Testing Android Applications on a Physical Kindle Fire Device with ADB
- An Overview of the Android Debug Bridge (ADB)
- Enabling ADB on the Kindle Fire Device
- Configuring the adb to Detect a Kindle Fire Device
- Mac OS X Kindle Fire ADB Configuration
- Windows Kindle Fire ADB Configuration
- Linux Kindle Fire adb Configuration
- Testing the adb Connection
- Manual Selection of the Application Run Target
- An Overview of the Kindle Fire Android Architecture
- The Anatomy of an Android Application
- Understanding Android Application and Activity Lifecycles
- Handling Android Activity State Changes
- Android Activity State Changes - An Example Application
- Saving and Restoring the User Interface State of an Android Activity
- Understanding Android Views, View Groups and Layouts
- Designing an Android User Interface using the Graphical Layout Tool
- The Android Graphical Layout Tool
- A Graphical Layout Tool Example
- Adding an XML Resource File to the Project
- Editing View Properties
- Using the View Properties Sheet
- Creating a New Activity
- Adding the New Activity to the Manifest File
- Running the Application
- Manually Creating an XML Layout
- Using the Hierarchy Viewer
- Creating an Android User Interface in Java Code
- An Overview and Example of Android Event Handling
- Android Touch and Multi-touch Event Handling
- Detecting Common Gestures using the Android Gesture Detector Class
- Implementing Android Custom Gesture and Pinch Recognition
- The Android Gesture Builder Application
- The GestureOverlayView Class
- Detecting Gestures
- Identifying Specific Gestures
- Adding SD Card Support to an AVD
- Building and Running the Gesture Builder Application
- Creating a Gestures File
- Extracting the Gestures File from the SD Card
- Creating the Example Project
- Designing the User Interface
- Loading the Gestures File
- Registering the Event Listener
- Implementing the onGesturePerformed Method
- Testing the Application
- Configuring the GestureOverlayView
- Intercepting Gestures
- Detecting Pinch Gestures
- A Pinch Gesture Example Project
- An Introduction to Android Fragments
- Using Fragments in Android - A Worked Example
- About the Example Fragment Application
- Creating the Example Project
- Adding the Android Support Library
- Creating the First Fragment Layout
- Creating the First Fragment Class
- Creating the Second Fragment Layout
- Adding the Fragments to the Activity
- Making the Toolbar Fragment Talk to the Activity
- Making the Activity Talk to the Text Fragment
- Testing the Application
- Creating and Managing Android Overflow Menus on the Kindle Fire
- An Overview of Android Intents
- Android Explicit Intents – A Worked Example
- Creating the Explicit Intent Example Application
- Designing the User Interface Layout for ActivityA
- Creating the Second Activity Class
- Creating the User Interface for ActivityB
- Adding ActivityB to the Application Manifest File
- Creating the Intent
- Extracting Intent Data
- Launching ActivityB as a Sub-Activity
- Returning Data from a Sub-Activity
- Testing the Application
- Android Implicit Intents – A Worked Example
- Creating the Implicit Intent Example Project
- Designing the User Interface
- Creating the Implicit Intent
- Adding a Second Matching Activity
- Adding the Web View to the UI
- Obtaining the Intent URL
- Modifying the MyWebView Project Manifest File
- Installing the MyWebView Package on a Device
- Testing the Application
- Android Broadcast Intents and Broadcast Receivers
- An Overview of Broadcast Intents
- An Overview of Broadcast Receivers
- Obtaining Results from a Broadcast
- Sticky Broadcast Intents
- The Broadcast Intent Example
- Creating the Example Application
- Creating and Sending the Broadcast Intent
- Creating the Broadcast Receiver
- Configuring a Broadcast Receiver in the Manifest File
- Testing the Broadcast Example
- Listening for System Broadcasts
- A Basic Overview of Android Threads and Thread handlers
- An Overview of Android Started and Bound Services
- Implementing an Android Started Service – A Worked Example
- Android Local Bound Services – A Worked Example
- Android Remote Bound Services – A Worked Example
- An Overview of Android SQLite Databases
- An Android TableLayout and TableRow Tutorial
- An Android SQLite Database Tutorial
- Understanding Android Content Providers
- Implementing an Android Content Provider
- Copying the Database Project
- Adding the Content Provider Package
- Creating the Content Provider Class
- Constructing the Authority and Content URI
- Implementing URI Matching in the Content Provider
- Implementing the Content Provider onCreate() Method
- Implementing the Content Provider insert() Method
- Implementing the Content Provider query() Method
- Implementing the Content Provider update() Method
- Implementing the Content Provider update() Method
- Implementing the Content Provider delete() Method
- Declaring the Content Provider in the Manifest File
- Modifying the Database Handler
- Implementing Video Playback on Android using the VideoView and MediaController Classes
- Introducing the Android VideoView Class
- Introducing the Android MediaController Class
- Testing Video Playback
- Creating the Video Playback Example
- Designing VideoPlayer Layout
- Configuring the VideoView
- Adding Internet Permission
- Adding the MediaController to the Video View
- Setting up the onPreparedListener
- Video Recording and Image Capture on the Kindle Fire using Camera Intents
- Kindle Fire Audio Recording and Playback using MediaPlayer and MediaRecorder
- Playing Audio
- Recording Audio and Video using the MediaRecorder Class
- About the Example Project
- Creating the AudioApp Project
- Designing the User Interface
- Checking for Microphone Availability
- Performing the Activity Initialization
- Implementing the recordAudio() Method
- Implementing the stopRecording() Method
- Implementing the playAudio() method
- Configuring Permissions in the Manifest File
- Testing the Application
- Working with the Amazon Maps API on the Kindle Fire
- Amazon Maps vs. Google Maps
- The Elements of Amazon Maps
- Getting Ready to Use Amazon Maps
- Downloading the Amazon Mobile SDK
- Adding the Amazon Mobile SDK to an Eclipse Project
- Obtaining Your Developer Signature
- Registering the Application in the Amazon Mobile App Distribution Portal
- Adding Map Support to the AndroidManifest.xml File
- Enabling Location Based Services on the Kindle Fire Device
- Registering an Emulator
- Adjusting the Emulator Location Settings
- Checking for Map Support
- Understanding Geocoding and Reverse Geocoding
- Adding a MapView to an Application
- Customizing a Map View using the MapController
- Displaying the User’s Current Location
- Creating an Itemized Overlay
- A Kindle Fire Amazon Maps API Tutorial
- About the Example Map Application
- Creating and Preparing the MapExample Project
- Registering the Application in the Amazon Mobile App Distribution Portal
- Modifying the Android Manifest File
- Adding the Map View Activity
- Adding the MapView Object
- Designing the User Interface for the MapExampleActivity Class
- Checking for Maps Support
- Launching the Intent
- Updating the Map Location
- Testing the Application
- Marking Android Map Locations using Amazon Map Overlays
- An Overview of the Amazon In-App Purchasing API
- Understanding the Different Types of In-App Purchase
- Local and Remote Content
- The Architecture of the Amazon In-App Purchasing API|The Purchasing Observer
- The Purchasing Manager
- The Amazon Client
- The SDK Tester
- Defining In-App Purchase Items
- Preparing a Project to use the In-App Purchasing API
- Modifying the Manifest File
- A Simple Amazon In-App Purchasing Example Application
- Creating the Example Application
- Adding the in-app-purchasing Library to the Project
- Adding the Receiver to the Manifest File
- Designing the User Interface
- Creating the Purchasing Observer Class
- Adding the SKU as a String Resource
- Displaying the Purchase Item Details
- Initiating the Purchase
- Handling the Purchase Response
- Creating and Installing the SDK Tester Purchase Item File
- Installing the SDK Tester
- Testing the Application
- Simulating Purchase Problems
- Integrating Ads with the Amazon Mobile Ads API
- The Amazon Mobile Ads API
- Ad Targeting Options
- Amazon Mobile Ads API – The Rules of Use
- Downloading and Installing the Amazon Mobile Ads API
- Providing Tax and Banking Information
- Preparing a Project to use Amazon Mobile Ads
- Adding the API JAR File to the Project
- Obtaining the Application Key
- Configuring the Manifest File
- Adding the Amazon Ad Resources
- Registering the Application Key
- Writing Java Code to Display an Ad
- Adding an Ad to the Layout Resource File
- Setting Ad Targeting Options
- Enabling Testing and Logging
- Tracking Events with an AdListener
- Configuring the Ad Request Timeout
- A Kindle Fire Amazon Mobile Ads API Example Application
- Handling Different Kindle Fire Devices and Displays