Learning Android |
Want to build apps for Android devices? This book is the perfect way to master the fundamentals. Written by an expert who's taught this mobile platform to hundreds of developers in large organizations, this gentle introduction shows experienced object-oriented programmers how to use Android’s basic building blocks to create user interfaces, store data, connect to the network, and more.
You'll build a Twitter-like application throughout the course of this book, adding new features with each chapter. Along the way, you'll also create your own toolbox of code patterns to help you program any type of Android application with ease.
Marko Gargenta is the founder and chief Android expert at Marakana, a training company in San Francisco. Marko has developed Android Bootcamp and Android Internals courses, and has trained over 1,000 developers on four continents. His clients include Qualcomm, Sony-Ericsson, Motorola, Sharp, Cisco, U.S. Department of Defense, and many more. Marko frequently speaks on Android at technical conferences and events, and is the founder of San Francisco Android Users Group.
Table of Contents
Chapter 1 Android Overview
Android Overview
History
Android Versions
Summary
Chapter 2 The Stack
Stack Overview
Linux
Native Libraries
Dalvik
Application Framework
Applications
Summary
Chapter 3 Quick Start
Installing the Android SDK
Hello, World
The Emulator
Summary
Chapter 4 Main Building Blocks
What Are Main Building Blocks?
A Real-World Example
Activities
Intents
Services
Content Providers
Broadcast Receivers
Application Context
Summary
Chapter 5 Yamba Project Overview
The Yamba Application
Design Philosophy
Project Design
Part 1: Android User Interface
Part 2: Preferences, Filesystem, Options Menu, and Intents
Part 3: Android Services
Part 4: Working with Databases
Part 5: Lists and Adapters
Part 6: Broadcast Receivers
Part 7: Content Providers
Part 8: System Services
Summary
Chapter 6 Android User Interface
Two Ways to Create a User Interface
Views and Layouts
Starting the Yamba Project
The StatusActivity Layout
The StatusActivity Java Class
Logging in Android
Threading in Android
Other UI Events
Adding Color and Graphics
Alternative Resources
Optimizing the User Interface
Summary
Chapter 7 Preferences, the Filesystem, the Options Menu, and Intents
Preferences
The Options Menu
Shared Preferences
The Filesystem Explained
Summary
Chapter 8 Services
The Yamba Application Object
UpdaterService
Looping in the Service
Pulling Data from Twitter
Summary
Chapter 9 The Database
About SQLite
DbHelper
First Example
Update UpdaterService
Refactoring Status Data
Summary
Chapter 10 Lists and Adapters
TimelineActivity
Basic TimelineActivity Layout
About Adapters
TimelineAdapter
ViewBinder: A Better Alternative to TimelineAdapter
Updating the Manifest File
Base Activity
Summary
Chapter 11 Broadcast Receivers
About Broadcast Receivers
BootReceiver
The TimelineReceiver
Broadcasting Intents
The Network Receiver
Adding Custom Permissions to Send and Receive Broadcasts
Summary
Chapter 12 Content Providers
Creating a Content Provider
Using Content Providers Through Widgets
Summary
Chapter 13 System Services
Compass Demo
Location Service
Updating Yamba to Use the Location Service
Intent Service
Sending Notifications
Summary
Chapter 14 The Android Interface Definition Language
Implementing the Remote Service
Implementing the Remote Client
Summary
Chapter 15 The Native Development Kit (NDK)
What Is and Isn’t the NDK For?
Problems Solved by the NDK
An NDK Example: Fibonacci
Summary
Download FileYou'll build a Twitter-like application throughout the course of this book, adding new features with each chapter. Along the way, you'll also create your own toolbox of code patterns to help you program any type of Android application with ease.
- Get an overview of the Android platform and discover how it fits into the mobile ecosystem
- Learn about the Android stack, including its application framework, and the structure and distribution of application packages (APK)
- Set up your Android development environment and get started with simple programs
- Use Android’s building blocks-Activities, Intents, Services, Content Providers, and Broadcast Receivers
- Learn how to build basic Android user interfaces and organize UI elements in Views and Layouts
- Build a service that uses a background process to update data in your application
- Get an introduction to Android Interface Definition Language (AIDL) and the Native Development Kit (NDK).
Marko Gargenta is the founder and chief Android expert at Marakana, a training company in San Francisco. Marko has developed Android Bootcamp and Android Internals courses, and has trained over 1,000 developers on four continents. His clients include Qualcomm, Sony-Ericsson, Motorola, Sharp, Cisco, U.S. Department of Defense, and many more. Marko frequently speaks on Android at technical conferences and events, and is the founder of San Francisco Android Users Group.
Table of Contents
Chapter 1 Android Overview
Android Overview
History
Android Versions
Summary
Chapter 2 The Stack
Stack Overview
Linux
Native Libraries
Dalvik
Application Framework
Applications
Summary
Chapter 3 Quick Start
Installing the Android SDK
Hello, World
The Emulator
Summary
Chapter 4 Main Building Blocks
What Are Main Building Blocks?
A Real-World Example
Activities
Intents
Services
Content Providers
Broadcast Receivers
Application Context
Summary
Chapter 5 Yamba Project Overview
The Yamba Application
Design Philosophy
Project Design
Part 1: Android User Interface
Part 2: Preferences, Filesystem, Options Menu, and Intents
Part 3: Android Services
Part 4: Working with Databases
Part 5: Lists and Adapters
Part 6: Broadcast Receivers
Part 7: Content Providers
Part 8: System Services
Summary
Chapter 6 Android User Interface
Two Ways to Create a User Interface
Views and Layouts
Starting the Yamba Project
The StatusActivity Layout
The StatusActivity Java Class
Logging in Android
Threading in Android
Other UI Events
Adding Color and Graphics
Alternative Resources
Optimizing the User Interface
Summary
Chapter 7 Preferences, the Filesystem, the Options Menu, and Intents
Preferences
The Options Menu
Shared Preferences
The Filesystem Explained
Summary
Chapter 8 Services
The Yamba Application Object
UpdaterService
Looping in the Service
Pulling Data from Twitter
Summary
Chapter 9 The Database
About SQLite
DbHelper
First Example
Update UpdaterService
Refactoring Status Data
Summary
Chapter 10 Lists and Adapters
TimelineActivity
Basic TimelineActivity Layout
About Adapters
TimelineAdapter
ViewBinder: A Better Alternative to TimelineAdapter
Updating the Manifest File
Base Activity
Summary
Chapter 11 Broadcast Receivers
About Broadcast Receivers
BootReceiver
The TimelineReceiver
Broadcasting Intents
The Network Receiver
Adding Custom Permissions to Send and Receive Broadcasts
Summary
Chapter 12 Content Providers
Creating a Content Provider
Using Content Providers Through Widgets
Summary
Chapter 13 System Services
Compass Demo
Location Service
Updating Yamba to Use the Location Service
Intent Service
Sending Notifications
Summary
Chapter 14 The Android Interface Definition Language
Implementing the Remote Service
Implementing the Remote Client
Summary
Chapter 15 The Native Development Kit (NDK)
What Is and Isn’t the NDK For?
Problems Solved by the NDK
An NDK Example: Fibonacci
Summary