Android Development Orientation for Starters - compuSCHOOL

darkfryingpanΚινητά – Ασύρματες Τεχνολογίες

10 Δεκ 2013 (πριν από 3 χρόνια και 9 μήνες)

100 εμφανίσεις

Joemarie Comeros Amparo

Android
Development
Orientation for
Starters

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?

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

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

Android Version Market Share

What will you need?




Computer running Windows, Linux,
or Mac OS X




Java SDK




Google Android SDK




Integrated Development Environment
(IDE)


Please refer to:

http://developershaven.blogspot.com

Installation

Android Development Tool

Android SDK and Virtual Device Manager

Android Emulator / Phone

Dalvik

Debug Monitoring Service

SQLite3

…more

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

Activities

Services


Run in the background

o
Can continue even if Activity that started it dies

o
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 application

o
In which case will terminate when all applications bound to it
unbind

o
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

Services

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

XML


Used to define some of the resources

o
Layouts (UI)

o
Strings


Manifest file


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


Preferred way of creating UIs

o
Separates the description of the layout from any
actual code that controls it

o
Can easily take a UI from one platform to another

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 resources

o
Ex. Button b = (Button)
findViewById
(R.id.button1)

o
Ex.
getResources
().
getString
(
R.string.
hello
));

Layouts


Eclipse has a great UI creator

o
Generates the XML for you


Composed of
View

objects


Can be specified for portrait and landscape
mode

o
Use same file name, so can make completely
different UIs for the orientations without modifying
any code

Layouts
-

continuation

Layouts
-

continuation


Click ‘Create’ to make layout modifications


When in portrait mode can select ‘Portrait’ to make
a res sub folder for portrait layouts

o
Likewise for Landscape layouts while in landscape mode

o
Will create folders titled ‘layout
-
port’ and ‘layout
-
land’


Note: these ‘port’ and ‘land’ folders are examples of
‘alternate layouts’, see here for more info

o
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

Layouts
-

continuation

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
emulator

o
Otherwise, it should be smart and use whichever
one is available


Please refer to :


http://developershaven.blogspot.com

Google Maps

Google Maps

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
>



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.html

o
http://efreedom.com/Question/1
-
6070968/Google
-
Maps
-
Api
-
Directions

o
http://stackoverflow.com


o
http://www.anddev.org/google_driving_directions_
-
_mapview_overlayed
-
t826.html

Resources & Acknowledgements




Joemarie

Comeros

Amparo

Android Developer

Skype/
Ymail
/Gmail :
joemarieamparo

THANK YOU VERY MUCH!