• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Hello Android - Pune GTUG
 

Hello Android - Pune GTUG

on

  • 21,020 views

Presentation for Pune GTUG session on 6th June, 2009

Presentation for Pune GTUG session on 6th June, 2009

Statistics

Views

Total Views
21,020
Views on SlideShare
3,483
Embed Views
17,537

Actions

Likes
0
Downloads
108
Comments
0

21 Embeds 17,537

http://www.androidcompetencycenter.com 17082
http://sushrutbidwai.com 185
http://feeds2.feedburner.com 104
http://feeds.feedburner.com 48
http://translate.googleusercontent.com 36
http://webcache.googleusercontent.com 35
http://192.168.50.8 14
http://www.slideshare.net 11
http://smashingreader.com 6
http://www.linkedin.com 3
https://www.linkedin.com 3
http://twitter.com 1
http://cache.baiducontent.com 1
http://203.208.39.132 1
http://theoldreader.com 1
http://www.inoreader.com 1
http://web.archive.org 1
http://209.85.135.132 1
http://www.bonweb.fr 1
http://www.lmodules.com 1
http://74.125.113.132 1
More...

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

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.

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

    Hello Android - Pune GTUG Hello Android - Pune GTUG Presentation Transcript

    • Hello Android!
        • PuneGTUG on 6 th June, 2009
        • by Sushrut Bidwai
        • Copyright © 2008 Wissen Systems. All rights reserved
    • Agenda
      • Brief history of Android
      • Android phones
      • Android experiments
      • What is Android?
      • What's in new SDK?
      • Android architecture in detail
      • Application fundamentals
      • User interface
      • Resources and assets
      • Data storage
      • Content providers
      • Security and permissions
      • Developing with Eclipse
      • First Android application
      • Copyright © 2008 Wissen Systems. All rights reserved
    • Brief history of Android
      • Developed by a small unknown company, Android Inc
      • Google acquired this company in 2005
      • Later Google opened up to form, Open handset alliance (OHA)
      • OHA consists of
        • Google
        • HTC
        • T-mobile
        • Sprint
        • China mobile, Telecom Italia etc
        • Vodafone, LG, Samsung, Motorola
        • ARM, Intel
        • Many others
      • Copyright © 2008 Wissen Systems. All rights reserved
    • Android phones
      • T-Mobile G1 or HTC Dream, first mobile with Android.
      • HTC Magic
      • HKC Pearl
      • HKC Imobile
      • Samsung launching a new mobile with Android
      • Copyright © 2008 Wissen Systems. All rights reserved
    • What is Android?
      • Software stack, not an operating system
      • Linux is the operating system under Android
      • Provides application programming interface through Java/Dalvik virtual machine (DVM)
      • Dalvik hides OS complexities from app programmer, who can write apps in (best programming language :-) ) Java
      • Jxyz can be ported, or already ported, to run on DVM
      • Provides utilities and libraries like modern web browser, media support, GSM telephony and lot of other things like OpenGL, Location support.
      • My thoughts – Android is Linux based platform, customized to run on mobile/handheld devices which have limited processing power and memory. These devices will run many apps/utilities, one of them being GSM telephony.
      • Ideal target for Netbooks
      • Copyright © 2008 Wissen Systems. All rights reserved
    • What's new SDK?
      • Latest version available is 1.5, known as cupcake.
      • Rumours already loud about donut release ie 2.0, with which LOT of new handsets are expected to come
      • Features for programmer -
        • Locale support
        • Media framework api changes
        • Application defined hardware requirements
        • Speech recognition
        • Lot of other smaller changes
      • Copyright © 2008 Wissen Systems. All rights reserved
    • Android architecture
      • Copyright © 2008 Wissen Systems. All rights reserved
    • Android architecture details
      • Linux kernel
        • Version 2.6, currently used
        • Provides abstraction layer between hardware and rest of the stack
        • Security, memory management, process management, network stack, driver model
      • Libraries
        • Libc port variants
        • Media libraries for audio, video, images
        • Surface manager for touch screen
        • LibWebCore, modern web browser
        • SGL, 2D graphics engine
        • FreeType, bitmap and vector fonts
        • SQLite
      • Copyright © 2008 Wissen Systems. All rights reserved
    • Android architecture details...
      • Android runtime
        • DVM and core libraries
        • Every android process runs its own process and VM instance
        • DVM optimized to run multiple Vms efficiently
        • .dex format for minimal memory footprint
        • Depends on kernel for threading, low level memory management etc
      • Application framework
        • Typical framework, which makes writing apps easier
      • Applications
        • All applications including, apps packaged with android platform
        • All apps are equal
      • Copyright © 2008 Wissen Systems. All rights reserved
    • Application fundamentals
      • AndroidManifest.xml
      • Written as Java applications
      • Applications live in their own world, separate process, VM, userId
      • Ways to share userId
      • Folder structure
      • Components
        • Activities
        • Services
        • Broadcast receivers
        • Content providers
      • Again all applications are equal
      • Copyright © 2008 Wissen Systems. All rights reserved
    • Activity
      • Presents visual interface
      • Each user interface is separate activity.
      • Implemented by subclassing Activity class
      • Modal dialogs and floating activities
      • Activity state
      • Droiddraw and hierarchyviewer
      • Copyright © 2008 Wissen Systems. All rights reserved
    • Service
      • Background processes
      • Works when user is using some other app.
      • Long living component
      • Implemented by subclassing Service class
      • Requires intent to activate
      • Registered in androidmanifest.xml
      • Bound services, not long living, lives through the context only
      • Communication with bound services through serviceconnection
      • Services run in app process, can be setup to run in their own process
      • Communication with remote process through AIDL. (Corba/RMI like)
      • Permissions can be setup in manifest file
      • Copyright © 2008 Wissen Systems. All rights reserved
    • Broadcast Receiver
      • Event handling, also known as intent receiver
      • All communication is managed through intents
      • Extends BroadcastReceiver class to implement
      • Entry in manifest or dynamically registered through context class
      • Broadcast intent with sendBroadCast or sendOrderedBroadCast
      • Permissions very important, specially for platform developers.
      • Copyright © 2008 Wissen Systems. All rights reserved
    • Content providers
      • Way of sharing data between processes/apps
      • Remember – each app data is stored separately and lost after app is uninstalled.
      • A content provider class implements standard set of methods to expose its app data to be used/consumed/created by other apps
      • Supports CRUD operations
      • Standard content providers, like contacts, files, media library provided in platform through core applications
      • REST like implementation where every data object is a URI
      • Copyright © 2008 Wissen Systems. All rights reserved
    • Broadcast Receiver
      • Event handling, also known as intent receiver
      • All communication is managed through intents
      • Extends BroadcastReceiver class to implement
      • Entry in manifest or dynamically registered through context class
      • Broadcast intent with sendBroadCast or sendOrderedBroadCast
      • Permissions very important, specially for platform developers.
      • Copyright © 2008 Wissen Systems. All rights reserved
    • User Interface
      • Built using View and ViewGroup
      • Activities UI is constricted using nodes of View and ViewGroup object
      • Widget – A View object which serves as interaction with user. Buttons etc
      • UI Events are handled using EventListners like onTouchListner, onClickListner
      • Menu – are also defined using View hierarchy, but programmer doesn't define own structure.
      • Menu also have their own event handling callbacks
      • Copyright © 2008 Wissen Systems. All rights reserved
    • Resources and Assets
      • Resources and assets are external elements that you want use and reference in your application
      • Examples – Audio, Video, Images etc
      • Resources are available through R class, compiled by Android
      • Assets are accessible through AssetManager as byte streams
      • Standard set of resources are available to reference in your application
      • Copyright © 2008 Wissen Systems. All rights reserved
    • Thank you! P lease send your feedback to [email_address]
      • Copyright © 2008 Wissen Systems. All rights reserved