• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Mobile Application Development

Mobile Application Development






Total Views
Views on SlideShare
Embed Views



1 Embed 5

http://www.slideshare.net 5



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Mobile Application Development Mobile Application Development Presentation Transcript

    • 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.