Sunteți pe pagina 1din 26

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

info@twincling.org
freedom of innovation
5,000+ members

TSM (2nd Sat)


BoF
Hackathon
Workshops

95+ college sessions


and workshops

Industry – Student
interaction

7-member
board of directors

Hyderabad, A. P.
twincling.org India
Largest independent
society in A.P.

S-ar putea să vă placă și