Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




Android Development
Home Next Page

Android Developer Guide

Table of Contents

What is Android?

Android Architecture


Application Framework


Android Runtime

Linux Kernel

Application Fundamentals

User Interface

Declaring Layout

Creating Menus

Creating Dialogs

Handling UI Events

Notifying the User

Applying Styles and Themes

Building Custom Components

Binding to Data with AdapterView

Common Layout Objects

How Android Draws Views

Resources and Assets

Resources and Internationalization


Creating Resources

Global Resource Notes

Using Resources

Using Resources in Code

References to Resources

References to Theme Attributes

Using System Resources

Alternate Resources (for alternate languages and configurations)

Internationalization and Localization

Available Resource Types

Intents and Intent Filters

Data Storage

Content Providers

Security and Permissions

Security Architecture

Application Signing

User IDs and File Access

Using Permissions

Declaring and Enforcing Permissions

Enforcing Permissions in AndroidManifest.xml

Enforcing Permissions when Sending Broadcasts

Other Permission Enforcement

URI Permissions

The AndroidManifest.xml File























2D Graphics

3D with OpenGL

Audio and Video

Location and Maps

App Widgets

Developing In Eclipse, with ADT

Developing In Other IDEs

Developing on a Device

Debugging Tasks

Configuring Your IDE to Attach to the Debugging Port

Tools Overview

Using aapt

Android Debug Bridge


Issuing adb Commands

Querying for Emulator/Device Instances

Directing Commands to a Specific Emulator/Device Instance

Installing an Application

Forwarding Ports

Copying Files to or from an Emulator/Device Instance

Listing of adb Commands

Issuing Shell Commands

Examining sqlite3 Databases from a Remote Shell

UI/Application Exerciser Monkey

Other Shell Commands

Enabling logcat Logging

Using logcat Commands

Filtering Log Output

Controlling Log Output Format

Viewing Alternative Log Buffers

Viewing stdout and stderr

Listing of logcat Command Options

Stopping the adb Server

Other Tools




Designing a Remote Interface Using AIDL

Android Virtual Devices

Using Dalvik Debug Monitor Service (DDMS)

Draw 9-patch

Android Emulator


Starting and Stopping the Emulator

Android Virtual Devices and the Emulator

Emulator Startup Options

Working with Emulator Disk Images

Default Images

Runtime Images: User Data and SD Card

Temporary Images

Emulator Networking

Network Address Space

Local Networking Limitations

Using Network Redirections

Setting up Redirections through the Emulator Console

Setting Up Redirections through ADB

Configuring the Emulator's DNS Settings

Using the Emulator with a Proxy

Interconnecting Emulator Instances

Sending a Voice Call or SMS to Another Emulator Instance

Using the Emulator Console

Port Redirection

Geo Location Provider Emulation

Hardware Events Emulation

Device Power Characteristics

Network Status

Network Delay Emulation

Network Speed Emulation

Telephony Emulation

SMS Emulation

VM State

Emulator Window

Terminating an Emulator Instance

Using Emulator Skins

Running Multiple Emulator Instances

Installing Applications on the Emulator

SD Card Emulation

Copying Files to a Disk Image

Loading the Disk Image at Emulator Startup

Troubleshooting Emulator Problems

Emulator Limitations

Hierarchy Viewer

UI/Application Exerciser Monkey


Basic Use of the Monkey

Command Options Reference

Traceview: A Graphical Log Viewer

Creating Trace Files

Copying Trace Files to a Host Machine

Viewing Trace Files in Traceview

Timeline Panel

Profile Panel

Traceview File Format

Data File Format

Key File Format

Traceview Known Issues

Using dmtracedump

Signing Your Applications

Versioning Your Applications

Preparing to Publish: A Checklist

Publishing Your Applications

User Interface Guidelines

Icon Design Guidelines

Widget Design Guidelines

Activity and Task Design Guidelines

Menu Design Guidelines

Designing for Performance


Avoid Creating Objects

Use Native Methods

Prefer Virtual Over Interface

Prefer Static Over Virtual

Avoid Internal Getters/Setters

Cache Field Lookups

Declare Constants Final

Use Enhanced For Loop Syntax With Caution

Avoid Enums

Use Package Scope with Inner Classes

Avoid Float

Some Sample Performance Numbers

Closing Notes

Designing for Responsiveness

Designing for Seamlessness

Hello, World

Hello, Views

Notepad Tutorial

Who Should Use this Tutorial

Preparing for the Exercises


Other Resources and Further Learning

Sample Code

ApiDemos - API Demos

LunarLander - Lunar Lander

NotePad - Note Pad

Android Supported Media Formats

Intents List: Invoking Google Applications on Android Devices


FAQs, Tips, and How-to

Android Development
Home Next Page

  Published under the terms fo the Apache 2.0 License Design by Interspire