26
twincling.org August 8th, 2009 Hyderabad, India Mobile Application Development

android

Embed Size (px)

DESCRIPTION

for android developers

Citation preview

twincling.org

August 8th, 2009Hyderabad, India

Mobile Application Development

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.@Overridepublic void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);// Initialize activity.setContentView(R.layout.main);

}

// Called after onCreate has finished, use to restore UI state@Overridepublic 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.@Overridepublic 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.@Overridepublic void onStart(){

super.onStart();//Apply any required UI change now that the Activity is visible.

}//Called at the start of the active lifetime.@Overridepublic 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.@Overridepublic 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.@Overridepublic 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.@Overridepublic 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.@Overridepublic 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

AppLabs Pvt. Ltd.

http://www.applabs.com/

Special thanks

twincling.org

freedom of innovation5,000+ members

TSM (2nd Sat)BoF HackathonWorkshops

95+ college sessionsand workshops

Industry – Studentinteraction

7-member board of directors

Largest independentsociety in A.P.twincling.org

[email protected]

Hyderabad, A. P.India