1 / 19

Smartphone Application Development

Smartphone Application Development. Sam Palmer. Why is this interesting?. Smartphones are becoming increasingly common As hardware improves smartphones are becoming increasingly more powerful Smartphones now resemble computers more than phones

catori
Download Presentation

Smartphone Application Development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Smartphone Application Development Sam Palmer

  2. Why is this interesting? • Smartphones are becoming increasingly common • As hardware improves smartphones are becoming increasingly more powerful • Smartphones now resemble computers more than phones • Mobile operating systems are becoming increasingly robust

  3. Everyone likes money • Mobile applications are an expanding and lucrative market • Itunes store has over 150,000 third party applications with over 3 BILLION downloads • Android Market has over 40,000 applications and is growing by about 8,000 apps a month

  4. The app store • Used for iphone applications • $99 yearly membership for unlimited app hosting • Apps pricing: $0.99 - $999.99 • Profits: 70% developer / 30% Apple • Apps must be approved by Apple • Only way to distribute iphone apps

  5. Android Market • $25 one time fee for lifetime membership • No fee for hosting applications • Profits: 70% developer / 30% Google • Content not regulated/restricted • Can distribute apps through other venues

  6. Windows Marketplace • $99 yearly membership • $99 per app submission • Apps must be approved by Microsoft • Profits: 70% developer / 30% Microsoft • Can distribute apps through other venues

  7. Android • Based on the linux 2.6 kernel • Open source operating system – Apache public license • Operating system is available free to manufacturers • Applications written in a combination of Java & XML • Designed to encourage use & reuse of applications • Uses Eclipse IDE & Android Development Toolkit plugin (ADT) • ADT includes graphical phone emulator

  8. Libraries • C & C++ code • Webkit – open source browser engine (also used in Safari) • Dalvik VM – specifically designed for android & embedded systems. • Uses .dex files – which are more efficiently compiled bytecode optimized for embedded systems • Can run multiple processes & each process has its own VM

  9. Application Framework • All applications use the same framework & APIs • Activity Manager: manages lifecycle of applications. Includes a common backstack to integrate multiple running processes seamlessly to the user • Package Manager: keeps track of installed apps • Window Manager: manages windows • Telephony manager: contains the phone API

  10. Application Framework • Content providers: allow applications to share data with other apps • Resource Manager: stores bitmaps, layout files, and other external parts that are not code • View System: contains buttons, lists, and other UI components

  11. Application Building Blocks • Activity: UI components, typically corresponding to a single screen. An app can have multiple activities • Intent Receiver: responds to notifications or state changes. Can wake up a process • Service: a faceless task that runs in the background. Activities can connect to services • Content Provider: enables applications to share data. Data can be stored in any fashion, such as files or in the internal SQlite database

  12. Intents • Intents are messages used for late-time binding between components in the same or different applications • Android automatically finds the appropriate activity, service, or broadcast receiver and instantiates it if necessary • Almost any task has an intent in the middle • Promotes modularity • Core phone features can be changed for user created versions

  13. Backstack • Used to seamlessly transition between processes • System automatically saves state information of applications before starting a new app http://www.youtube.com/watch?v=fL6gSd4ugSI&feature=player_embedded#t=03m50s

  14. HelloWorld

  15. Iphone: HelloWorld

  16. Iphone: HelloWorld

  17. Android Resources http://developer.android.com/index.html

More Related