Professional Android 4 Application Development

By Gail Wright,2014-04-26 09:34
8 views 0
Professional Android 4 Application Development

    Table of Contents ? Chapter 1: Hello, Android ?

A Little Background

    ? What Android Isn't

    ? Android: An Open Platform for Mobile Development

    ? Native Android Applications

    ? Android SDK Features

    ? Introducing the Open Handset Alliance

    ? What Does Android Run On?

    ? Why Develop for Mobile?

    ? Why Develop for Android?

    ? Introducing the Development Framework


    Chapter 2: Getting Started

    ? Developing for Android

    ? Developing for Mobile and Embedded Devices

    ? Android Development Tools


    Chapter 3: Creating Applications and Activities

    ? What Makes an Android Application?

    ? Introducing the Application Manifest File

    ? Using the Manifest Editor

    ? Externalizing Resources

    ? The Android Application Lifecycle

    ? Understanding an Application's Priority and Its Process' States

    ? Introducing the Android Application Class

    ? A Closer Look at Android Activities


    Chapter 4: Understanding Fragments

    ? Fundamental Android UI Design

    ? Android User Interface Fundamentals

    ? Introducing Layouts

    ? To-Do List Example

    ? Introducing Fragments

    ? The Android Widget Toolbox

    ? Creating New Views

    ? Introducing Adapters


    Chapter 5: Intents and Broadcast Receivers

    ? Introducing Intents

    ? Creating Intent Filters and Broadcast Receivers


    Chapter 6: Using Internet Resources

    ? Downloading and Parsing Internet Resources

    ? Using the Download Manager

    ? Using Internet Services


Connecting to Google App Engine

    ? Best Practices for Downloading Data Without Draining the Battery


    Chapter 7: Files, Saving State,and Preferences

    ? Saving Simple Application Data

    ? Creating and Saving Shared Preferences

    ? Retrieving Shared Preferences

    ? Creating a Settings Activity for the Earthquake Viewer

    ? Introducing the Preference Framework and the Preference Activity

    ? Creating a Standard Preference Activity for the Earthquake Viewer

    ? Persisting the Application Instance State

    ? Including Static Files as Resources

    ? Working with the File System


    Chapter 8: Databases and Content Providers

    ? Introducing Android Databases

    ? Introducing SQLite

    ? Content Values and Cursors

    ? Working with SQLite Databases

    ? Creating Content Providers

    ? Using Content Providers

    ? Adding Search to Your Application

    ? Creating a Searchable Earthquake Content Provider

    ? Native Android Content Providers


    Chapter 9: Working in the Background

    ? Introducing Services

    ? Using Background Threads

    ? Using Alarms

    ? Using the Intent Service to Simplify the Earthquake Update Service


    Chapter 10: Expanding the User Experience

    ? Introducing the Action Bar

    ? Adding an Action Bar to the Earthquake Monitor

    ? Creating and Using Menus and Action Bar Action Items

    ? Refreshing the Earthquake Monitor

    ? Going Full Screen

    ? Introducing Dialogs

    ? Let's Make a Toast

    ? Introducing Notifications

    ? Adding Notifications and Dialogs to the Earthquake Monitor


    Chapter 11: Advanced User Experience

    ? Designing for Every Screen Size and Density


Ensuring Accessibility

    ? Introducing Android Text-to-Speech

    ? Using Speech Recognition

    ? Controlling Device Vibration

    ? Working with Animations

    ? Enhancing Your Views

    ? Advanced Drawable Resources

    ? Copy, Paste, and the Clipboard


    Chapter 12: Hardware Sensors

    ? Using Sensors and the Sensor Manager

    ? Monitoring a Device's Movement and Orientation

    ? Introducing the Environmental Sensors


    Chapter 13: Maps, Geocoding, and Location-Based Services

    ? Using Location-Based Services

    ? Using the Emulator with Location-Based Services

    ? Selecting a Location Provider

    ? Finding Your Current Location

    ? Best Practice for Location Updates

    ? Using Proximity Alerts

    ? Using the Geocoder

    ? Creating Map-Based Activities

    ? Mapping Earthquakes Example


    Chapter 14: Invading the Home Screen

    ? Introducing Home Screen Widgets

    ? Creating App Widgets

    ? Creating an Earthquake Widget

    ? Introducing Collection View Widgets

    ? Introducing Live Folders

    ? Surfacing Application Search Results Using the Quick Search Box

    ? Creating Live Wallpaper


    Chapter 15: Audio, Video, and Using the Camera

    ? Playing Audio and Video

    ? Manipulating Raw Audio

    ? Creating a Sound Pool

    ? Using Audio Effects

    ? Using the Camera for Taking Pictures

    ? Recording Video

    ? Using Media Effects

    ? Adding Media to the Media Store


Chapter 16: Bluetooth, NFC, Networks, and Wi-Fi

    ? Using Bluetooth

    ? Managing Network and Internet Connectivity

    ? Managing Wi-Fi

    ? Transferring Data Using Wi-Fi Direct

    ? Near Field Communication


    Chapter 17: Telephony and SMS

    ? Hardware Support for Telephony

    ? Using Telephony

    ? Introducing SMS and MMS

    ? Introducing SIP and VOIP


    Chapter 18: Advanced Android Development

    ? Paranoid Android

    ? Introducing Cloud to Device Messaging

    ? Implementing Copy Protection Using the License Verification Library

    ? Introducing In-App Billing

    ? Using Wake Locks

    ? Using AIDL to Support Inter-Process Communication for Services

    ? Dealing with Different Hardware and Software Availability

    ? Optimizing UI Performance with Strict Mode


    Chapter 19: Monetizing, Promoting, and Distributing Applications

    ? Signing and Publishing Applications

    ? Distributing Applications

    ? An Introduction to Monetizing Your Applications

    ? Application Marketing, Promotion, and Distribution Strategies

    ? Analytics and Referral Tracking






Chapter 1


    Hello, Android


    What's in this Chapter?


    A background of mobile application development


    What Android is (and what it isn't)


    An introduction to the Android SDK features


    Which devices Android runs on


    Why you should develop for mobile and Android


    An introduction to the Android SDK and development framework


    Whether you're an experienced mobile engineer, a desktop or web developer, or a completeprogramming novice, Android represents an exciting new opportunity to write innovativeapplications for an increasingly wide range of devices.


    Despite the name, Android will not help you create an unstoppable army of emotionless robotwarriors on a relentless quest to cleanse the earth of the scourge of humanity. Instead,Android is an open-source software stack that includes the operating system, middleware, andkey mobile applications, along with a set of API libraries for writing applications that canshape the look, feel, and function of the devices on which they run.


    Small, stylish, and versatile, modern mobile devices have become powerful tools thatincorporate touchscreens, cameras, media players, Global Positioning System (GPS) receivers,and Near Field Communications (NFC) hardware. As technology has evolved, mobile phones havebecome about much more than simply making calls. With the introduction of tablets and GoogleTV, Android has expanded beyond its roots as a mobile phone operating system, providing aconsistent platform for application development across an increasingly wide range of hardware.


    In Android, native and third-party applications are written with the same APIs and executed onthe same run time. These APIs feature hardware access, video recording, location-basedservices, support for background services, map-based activities, relational databases, inter-application communication, Bluetooth, NFC, and 2D and 3D graphics.


    This book describes how to use these APIs to create your own Android applications. In thischapter you'll learn some guidelines for mobile and embedded hardware development, as well asbe introduced to some of the platform features available for Android development.


Report this document

For any questions or suggestions please email