Development

Android development portal (link).

Recommended development environment is Eclipse. Download Android SDK, and ADT plugin for Eclipse.

SDK includes USB driver for Android phone.

If running/debugging your Android application does not reuse already launched emulator, restart the ADB server with "adb kill-server".

If emulator takes a lot of screen real estate, add "-scale .72" to additional options for the emulator in Run Configuration -> Target. Resize the window to display the additional fields where you can type this option.

Some initial reading:

    • Application Fundamentals (link)

Starting up with Android development

    1. Download and install Eclipse.
    2. Download and install Java SDK.
    3. Download Android SDK (link).
    4. Download ROM(s) and Platform Tools.
    5. Follow Hello World tutorial (link).

Activity

(link)

Data Binding

Data binding library is currently in beta. See Guide (link).

Database

    • Android SQLite Database and Content Provider (link)
    • Advanced Cursors (link)

Data Loading with Content Provider

Content Provider mechanism is closely tied with loaders and observers to provide seamless data loading experience.

Loaders

    • Tutorial, part 3, Implementing Loaders (link)
    • Using Observer to listen to the data changes (link)
    • Asynchronous Background Execution and Data Loading with Loaders (Framework) in Android (link)

Design Specifications

    • Structure, includes Toolbars, App Bars, etc. (link)

Intents

Description: Intents (link).

Using Intents to start an Activity in another application:

Intent intent = new Intent();
intent.setComponent(new ComponentName("com.example", "com.example.MyExampleActivity"));
startActivity(intent);

ACTION_MAIN with category CATEGORY_HOME -- Launch the home screen.

Notifications

Link to developer documentation (link).

Services

Reference (link)

Revenue

There are several streams of revenue with the Android apps.

The simple one is getting paid for application download. This is done through app markets, like Google Play or Amazon.

Next, relatively new one, is in-app purchases. Similar to Facebook apps and games, purchases can be done straight from the app itself.

The last one is advertising. Apps can be distributed for free but they contain advertising that generates revenue for the publisher. The most popular advertisement provider for Android apps is AdMob.

Publishing on Android Market

Once you are done with an application, follow the instructions (here) to publish it on the Android Market.

Links

Excellent tutorials @ Grokking Android (link)