Page 1

twincling.org

Mobile Application Development

August 8th, 2009 Hyderabad, India


twincling.org

We appreciate


twincling.org

Outline ●

Hello Android World

Android Architecture

Android SDK Overview

UI Development

3D with OpenGL


twincling.org

What is Android? An Open Platform for Mobile Development ●

A hardware reference design for mobiles

A Linux operating system kernel

Open source libraries

A run time environment

An application framework and UI framework

Some pre-installed applications and

Software Development Kit


twincling.org

Android SDK ●

No licensing, distribution, or development fees

Hardware access like network, Camera, accelerometer

GSM, EDGE, and 3G networks

GPS with location-based services

Full multimedia hardware control including playback and recording using the camera and microphone

Accelerometer and compass hardware

IPC message passing

Shared data stores

An integrated open source WebKit-based browser

Applications that integrate Map controls as part of their user interface

Peer-to-peer (P2P) support using Google Talk

Mobile-optimized hardware-accelerated graphics, both 2D and 3D

Optimized memory and process management


twincling.org

Software Stack


twincling.org

Android Application ●

Activity Manager

Views

Notification Manager

Content Providers

Resource Manager


twincling.org

Android Libraries ●

android.util – string formatters, XML

android.os – message passing, IPC, clock, debugging

android.graphics – canvas, colors, primitives

android.text – display, parse text

android.database – cursors, database

android.content – data access, content providers

android.view – user interface

android.widget – buttons, text boxes, list boxes etc

com.google.android.maps – Google Maps

android.app – Application, Activity and Services

android.provider – standard content provider like Contacts

android.telephony – phone stack

android.webkit – Web-based content


twincling.org

Android Advanced Libraries ●

android.location – Location access

android.media – Audio and Video

android.opengl – OpenGL ES API for 3D

android.hardware – Camera, Accelerometer, Compass

android.bluetooth - Bluetooth

android.net.wifi - WiFi


twincling.org

SDK includes.. ●

Android APIs

Android project development tools

Android executable(.dex) and packaging(.apk) tools

Android Emulator

Dalvik Debug Monitoring Service (DDMS)

Documentation and Sample Code


twincling.org

SDK Setup ●

http://code.google.com/android/download.html Android pluging available for Eclipse, Netbeans and IntelliJ with JDK 5 or later Android Development Toolkit (ADT) plugin https://dl-ssl.google.com/android/eclipse/


twincling.org

Types of Android apps ●

Foreground Activity

Background Service

Intermittent Activity


twincling.org

Component of an application ●

Activities

Services

Content Providers

Intents

Broadcast Receivers

Notifications


twincling.org

Process States and Priority


twincling.org

Activity Stack


twincling.org

Activity States ●

Active

Paused

Stopped

Inactive


twincling.org

State Changes


twincling.org

In code. package org.twincling.hello; import android.app.Activity; import android.os.Bundle; public class HelloWorld extends Activity { /** Called when the activity is first created. */ // Called at the start of the full lifetime. @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Initialize activity. setContentView(R.layout.main); } // Called after onCreate has finished, use to restore UI state @Override public void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); // Restore UI state from the savedInstanceState. // This bundle has also been passed to onCreate. }


twincling.org

//Called before subsequent visible lifetimes //for an activity process. @Override public void onRestart(){ super.onRestart(); //Load changes knowing that the activity has already //been visible within this process. } //Called at the start of the visible lifetime. @Override public void onStart(){ super.onStart(); //Apply any required UI change now that the Activity is visible. } //Called at the start of the active lifetime. @Override public void onResume(){ super.onResume(); //Resume any paused UI updates, threads, or processes required //by the activity but suspended when it was inactive. } //Called to save UI state changes at the //end of the active lifecycle. @Override


twincling.org

//Called to save UI state changes at the //end of the active lifecycle. @Override public void onSaveInstanceState(Bundle savedInstanceState) { //Save UI state changes to the savedInstanceState. // This bundle will be passed to onCreate if the process is // killed and restarted. super.onSaveInstanceState(savedInstanceState); } // Called at the end of the active lifetime. @Override public void onPause(){ // Suspend UI updates, threads, or CPU intensive processes // that don’t need to be updated when the Activity isn’t // the active foreground activity. super.onPause(); }


twincling.org

// Called at the end of the visible lifetime. @Override public void onStop(){ // Suspend remaining UI updates, threads, or processing // that aren’t required when the Activity isn’t visible. // Persist all edits or state changes // as after this call the process is likely to be killed. super.onStop(); } // Called at the end of the full lifetime. @Override public void onDestroy(){ // Clean up any resources including ending threads, // closing database connections etc. super.onDestroy(); } }


twincling.org

Summary / Take home â—?

Android overview

â—?

Get started on mobile app development


twincling.org

Resources â—?

Android http://developer.android.com/


twincling.org

Books


twincling.org

Special thanks

AppLabs Pvt. Ltd. http://www.applabs.com/


twincling.org

freedom of innovation

info@twincling.org 5,000+ members TSM (2nd Sat) BoF Hackathon Workshops 95+ college sessions and workshops Industry – Student interaction 7-member board of directors

twincling.org

Hyderabad, A. P. India

Largest independent society in A.P.


android  

for android developers

Advertisement
Read more
Read more
Similar to
Popular now
Just for you