Your SlideShare is downloading. ×
0
Hello Android - Pune GTUG
Hello Android - Pune GTUG
Hello Android - Pune GTUG
Hello Android - Pune GTUG
Hello Android - Pune GTUG
Hello Android - Pune GTUG
Hello Android - Pune GTUG
Hello Android - Pune GTUG
Hello Android - Pune GTUG
Hello Android - Pune GTUG
Hello Android - Pune GTUG
Hello Android - Pune GTUG
Hello Android - Pune GTUG
Hello Android - Pune GTUG
Hello Android - Pune GTUG
Hello Android - Pune GTUG
Hello Android - Pune GTUG
Hello Android - Pune GTUG
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Hello Android - Pune GTUG

19,079

Published on

Presentation for Pune GTUG session on 6th June, 2009

Presentation for Pune GTUG session on 6th June, 2009

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
19,079
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
109
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Hello Android!
      • PuneGTUG on 6 th June, 2009
      • by Sushrut Bidwai
      • Copyright © 2008 Wissen Systems. All rights reserved
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. Android architecture
    • Copyright © 2008 Wissen Systems. All rights reserved
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. Thank you! P lease send your feedback to [email_address]
    • Copyright © 2008 Wissen Systems. All rights reserved

×