Loading presentation...

Present Remotely

Send the link below via email or IM


Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.


Beginning Android

A short presentation for a bunch of college studs who want to know a thing or two about Android development.

Lyndon Michael Bibera

on 29 January 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Beginning Android

Lyndon Michael Bibera Beginning Android Who Am I..? Android Timeline Trends in Smartphone Usage About What is Android Architecture Developing for Android Pre-requisites Development Phase Publishing Why Develop for Android? Consulting Services - Orange and Bronze Software Labs Inc. Software engineering done right 2005 2007 2008 2009 2010 2011 2012 Andy Rubin 2003 Palo Alto, California October 2003 Rich Miner Nick Sears Chris White Android Inc. was founded "...smarter mobile devices that are
more aware of its owner's location
and preferences" acquired Android Android 1.0 1.5 1.6 2.0/2.1 operated in secret Cupcake Donut Eclair 2.2 Froyo 2.3 Gingerbread Android 3.0 Honeycomb Android 4.0 Ice Cream Sandwich Software Engineer Suggested Resources Head First Android Pro Android 4 Application Development Android dominates global market share
for smartphone OS (50.9%) Android Developers Guide simple and powerful SDK support from industrial giants no licensing fees excellent documentation thriving developer community JDK 6 (oracle.com)
Android SDK (developer.android.com/sdk)
Eclipse 3.6 (eclipse.org/downloads)
ADT Plugin Dalvik Virtual Machine Java Source Code Java Byte Code Dalvik Executable process virtual machine that runs an app per instance
register-based virtual machine
optimized to ensure that a device can run multiple instances efficiently Android was built for developers unlimited hardware access Software Development Kit Application Components Application Resources Application Design Principles User Experience Guidelines Not a programming tutorial
Inspire more Android devs
What Android IS/NOT
Development requirements
Basic concepts Independent Distribution Activities Services Broadcast Receivers Android Manifest opensource multiple distribution channel Android IS... Android is NOT... a Java ME implementation runs on a Dalvik VM runs on Java VM custom implementation of the Java libraries a simple application layer complete development platform a mobile phone brand a device (not necessarily a mobile phone) that runs on an Android platform programming
software design
software installation and configuration
collaboration with stakeholders
consultant Programming Languages Application Frameworks Databases Application Servers Tools Responsibilities Aug 17, 2005 Sept HTC Dream T1-Mobile G1 first Android phone released Feb April Sept May Dec Feb Oct March Rebranded Google Market to Oct Open Handset Alliance composed of mobile operators, software companies, and handset manufacturers
a consortium of 84 firms aimed at developing open standards for mobile devices Pre-development Phase Android API
Development tools
Sample codes Java package Application Components Permissions Minimum Android API Required libraries The API provides (and encourages) resource externalization
externalizing a resource enables the app to support multiple device configuration
resources are referenced through the "R" class Animation Color State List Drawable Layout Menu String Style Values Boolean Color Dimension Integer Array Android User Share Activity a single, focused thing that the user can do
interacts with the user
takes care of creating a window for you to place your View(s) Service an application component that can perform long-running operations in the background
does not provide a user interface
no direct user interaction involved ContentProvider provides data to other applications
required if you need to share data between multiple applications performance seamlessness responsiveness security enchant me simplify my
life make me
amazing Nov Established OHA Intents and Intent Filters Intents Intent Filters Post-development Phase Content Providers BroadcastReceiver receive Intents send by a broadcast
Android's way of sending events across multiple applications
could be registered in the AndroidManifest.xml file or in Java code SQLite Database User Configuration action data + Intents used to start and stop Activities and Services
used to wrap the data sent and received by Content Providers and Broadcast Receivers respectively Intent Filters informs the system which Intents they can handle
with Intent filters, you can leverage the Activities and Services of other apps
you can also provide alternative implementation of existing Intent Filters (ex: replace native apps) Tools: Technical Requirements: Alternative Technology Java Compiler Dalvik Compiler (http://developer.android.com) delight me in surprising ways real objects are more fun than buttons and menus get to know me keep it brief pictures are faster than words decide for me but
let me have the final say only show what I need
when I need it I should always know where I am never lose my stuff if it looks the same
it should act the same only interrupt me
if it's important give me tricks that work everwhere it's not my fault sprinkle encouragement do the heavy lifting for me make important things faster Java Resources Head First Java
Effective Java Pre-requisites Project Structure Activity Lifecycle Activity States Active
Stopped www.sencha.com/products/touch phonegap.com Monetizing Android Apps Android users want apps for free advertisements
in-app purchases
support business operations don't do work that you don't need to do
don't allocate memory if you can avoid it mobile devices have limited computing power and storage
battery life is important to users avoid exposing internal files
do not store sensitive information in external storage when the app is not responsive enough
Android triggers ANR... ANR is triggered on the following conditions:
No response from an input event within 5 seconds
A BroadcastReceiver hasn't finished executing within 10 seconds show progress for long-running processes
delegate long running processes to a different thread users find it annoying when apps freeze or display the ANR dialog use ContentProviders to expose data don't drop data don't interrupt the user delegate long running processes to threads extend system themes design your UI to work with multiple screen resolutions assume that the network is slow let me make it mine
Full transcript