android development orientation for starters v2

25
Joemarie Comeros Amparo Android Development Orientation for Starters

Upload: joemarie-amparo

Post on 19-May-2015

1.299 views

Category:

Technology


0 download

DESCRIPTION

This slides contains overview of android development for beginners. I created this for the students of CCA CebuSpecial thanks to Larry Walters's presentation from which I also refer.

TRANSCRIPT

Page 1: Android development orientation for starters v2

Joemarie Comeros Amparo

Android Development Orientation for Starters

Page 2: Android development orientation for starters v2

Android is an open mobile phone platform that was developed by Google and later by Open Handset Alliance. Google defines Android as a "software stack" for mobile phones.

Software stack is made up of operating system(the platform on which everything runs), the middleware (the programming that allows applications to talk to a network and to one another) and the applications (the actual programs that phone will run)

What is Android?

Page 3: Android development orientation for starters v2

July 2005 - Google Inc. bought from Danger In

Open Handset Alliance was formed headed by Google which is composed of companies like Intel, T-Mobile, Spring Nextel and more.

In 2008, Android became available as an open source and ASOP(Android Open Source Project) is responsible for maintaining and development of android.

February 2009, the first android version was released, Android 1.1. for Mobile G1.

Brief History

Page 4: Android development orientation for starters v2

Android OS Versions:

> Android 1.1

> Android 1.5 Cupcake

> Android 1.6 Donut

> Android 2.0/2.1 Eclair

> Android 2.2.x Froyo

> Android 2.3.x Gingerbread

> Android 3. x Honeycomb

> Android 4.0.x Ice Cream Sandwich

> Android 4.1 Jelly Bean

Brief History - continuation

Page 5: Android development orientation for starters v2

Android Version Market Share

Page 6: Android development orientation for starters v2

What will you need?

•Computer running Windows, Linux, or Mac OS X

•Java SDK

•Google Android SDK

•Integrated Development Environment (IDE)

Page 7: Android development orientation for starters v2

Please refer to:

http://developershaven.blogspot.com

Installation

Page 8: Android development orientation for starters v2

Android Development Tool

Android SDK and Virtual Device Manager

Android Emulator / Phone

Dalvik Debug Monitoring Service

SQLite3

…more

Page 9: Android development orientation for starters v2

Application Components

Activity• Present a visual user interface for one focused endeavor the user can undertake• Example: a list of menu items users can choose from

Services• Run in the background for an indefinite period of time• Example: calculate and provide the result to activities that need it

Broadcast Receivers• Receive and react to broadcast announcements• Example: announcements that the time zone has changed

Content Providers• Store and retrieve data and make it accessible to all applications • Example: Android ships with a number of content providers for common

Intents• Hold the content of a message• Example: convey a request for an activity to present an image to the user or let the

user edit some text

Page 10: Android development orientation for starters v2

Activities

Page 11: Android development orientation for starters v2

Services

• Run in the backgroundo Can continue even if Activity that started it dieso Should be used if something needs to be done while the user

is not interacting with application Otherwise, a thread is probably more applicable

o Should create a new thread in the service to do work in, since the service runs in the main thread

• Can be bound to an applicationo In which case will terminate when all applications bound to it

unbindo Allows multiple applications to communicate with it via a

common interface

• Needs to be declared in manifest file

• Like Activities, has a structured life cycle

Page 12: Android development orientation for starters v2

Services

Page 13: Android development orientation for starters v2

Project Components

SRC• The project source code

GEN• Auto generated code• Example: R.java

Included libraries

Resources• Drawables• Layout• Values like strings

Manifest File• A must have xml file. Contains essential information about the

system to the android system

Page 14: Android development orientation for starters v2

XML

• Used to define some of the resourceso Layouts (UI)o Strings

• Manifest file

• Shouldn’t usually have to edit it directly, Eclipse can do that for you

• Preferred way of creating UIso Separates the description of the layout from any

actual code that controls ito Can easily take a UI from one platform to another

Page 15: Android development orientation for starters v2

R Class

• Auto-generated: you shouldn’t edit it

• Contains IDs of the project resources

• Enforces good software engineering

• Use findViewById and Resources object to get access to the resourceso Ex. Button b = (Button)findViewById(R.id.button1)o Ex. getResources().getString(R.string.hello));

Page 16: Android development orientation for starters v2

Layouts

• Eclipse has a great UI creatoro Generates the XML for you

• Composed of View objects

• Can be specified for portrait and landscape modeo Use same file name, so can make completely

different UIs for the orientations without modifying any code

Page 17: Android development orientation for starters v2

Layouts - continuation

Page 18: Android development orientation for starters v2

Layouts - continuation

• Click ‘Create’ to make layout modifications

• When in portrait mode can select ‘Portrait’ to make a res sub folder for portrait layoutso Likewise for Landscape layouts while in landscape modeo Will create folders titled ‘layout-port’ and ‘layout-land’

• Note: these ‘port’ and ‘land’ folders are examples of ‘alternate layouts’, see here for more infoo http://developer.android.com/guide/topics/resources/providing-resources.html

• Avoid errors by making sure components have the same id in both orientations, and that you’ve tested each orientation thoroughly

Page 19: Android development orientation for starters v2

Layouts - continuation

Page 20: Android development orientation for starters v2

Running in Eclipse

• Similar to launching a regular Java app, use the launch configurations

• Specify an Android Application and create a new one

• Specify activity to be run

• Can select a manual option, so each time program is run, you are asked whether you want to use the actual phone or the emulatoro Otherwise, it should be smart and use whichever

one is available

Page 21: Android development orientation for starters v2

Please refer to :

http://developershaven.blogspot.com

Google Maps

Page 22: Android development orientation for starters v2

Google Maps

Page 23: Android development orientation for starters v2

Google Maps

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <com.google.android.maps.MapView android:id="@+id/mapview1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:enabled="true" android:clickable="true" android:apiKey=“Your API Key Here" /> </LinearLayout>

Page 24: Android development orientation for starters v2

• Installation: http://developershaven.blogspot.com

• Google API: http://mfarhan133.wordpress.com/2010/10/01/generate-google-maps-api-key-for-android/

• Android Developer’s Website : http://developer.android.com/index.html

• Numerous Forums & other developer sites, including:o http://www.javacodegeeks.com/2011/02/android-google-maps-tutorial.htmlo http://efreedom.com/Question/1-6070968/Google-Maps-Api-Directionso http://stackoverflow.com o http://www.anddev.org/google_driving_directions_-_mapview_overlayed-t826.html

Resources & Acknowledgements

Page 25: Android development orientation for starters v2

Joemarie Comeros Amparo

Android Developer

Skype/Ymail/Gmail : joemarieamparo

THANK YOU VERY MUCH!