android jump start
TRANSCRIPT
![Page 1: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/1.jpg)
Android Jump StartLi fe M
ic hae l .c o
m
Haim MichaelApril 29th, 2013
All logos, trade marks and brand names used in this presentation belong to the respective owners.
![Page 2: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/2.jpg)
Table of ContentLi fe M
ic hae l .c o
m● Skills Prerequisites
● Software Installation
● The Android Platform
● Declarative User Interface
● Application Resources
● The SQLite Database
● Federation of Components
● Implicit and Explicit Intents
● The Hybrid Option
● The Need for Java
● Self Learning Resources
● Questions & Answers
![Page 3: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/3.jpg)
Skills PrerequisitesLi fe M
ic hae l .c o
m● Knowledge and understanding of the following topics in
Java:
Procedural Programming
Object Oriented Programming
Arrays & Strings
Inheritance
Inner Classes
Exceptions Handling
Threads
I/O Streams
Generics
Collections
![Page 4: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/4.jpg)
Software InstallationLi fe M
ic hae l .c o
m● Eclipse IDE Classic / Eclipse IDE for Java Developers
www.eclipse.org
● Android Development Tools (ADT) Plugin for Eclipse
http://developer.android.com/tools/sdk/eclipse-adt.html
● Android Software Development Tools (SDK)
http://developer.android.com/sdk/index.html
You can simply download and install the ADT Bundle. It
includes a customized version of Eclipse already installed with
the ADT plugin, the Android SDK and everything is already
configured for a smooth start.
![Page 5: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/5.jpg)
The Android PlatformLi fe M
ic hae l .c o
m● “Android is a software platform that delivers a complete
set of software for mobile devices, including an operating
system, a middle-ware and key mobile applications” (Google)
![Page 6: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/6.jpg)
Declarative User InterfaceLi fe M
ic hae l .c o
m● We can create the user interface using XML (similar to
silverlight).
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" >
<EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="44dp" android:ems="10" android:inputType="numberDecimal" >
<requestFocus /> </EditText></RelativeLayout>
![Page 7: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/7.jpg)
Application ResourcesLi fe M
ic hae l .c o
m● The application resources are static collections of bits
held outside the Java source code.
![Page 8: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/8.jpg)
The SQLite DatabaseLi fe M
ic hae l .c o
m● The application resources are static collections of bits
held outside the Java source code.
![Page 9: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/9.jpg)
Federation of ComponentsLi fe M
ic hae l .c o
m● The android platform is a federation of components of
different types, including activities, services, broadcast
receivers and content providers.
Activity Service Broadcast Receiver
Content Provider
![Page 10: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/10.jpg)
Implicit and Explicit IntentsLi fe M
ic hae l .c o
m● The intent is an abstract description of an operation to be
performed. (google)
Intent intent = new Intent("android.intent.action.PICK");intent.addCategory("android.intent.category.DEFAULT");
<intent-filter><action android:name="android.intent.action.PICK" /><category android:name="android.intent.category.DEFAULT" />
</intent-filter>
![Page 11: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/11.jpg)
The Hybrid OptionLi fe M
ic hae l .c o
m● The android platform allows us to embed the built-in web
browser as a widget within the user interface of our
application.
● Instantiating the WebView class we get an object that
represents an embedded web browser. The WebView
widget is implemented based on WebKit.
![Page 12: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/12.jpg)
The Hybrid OptionLi fe M
ic hae l .c o
m● JavaScript is a powerful programming language. We can
develop user interface similar to the one we get when
developing it in Java.
www.jQueryMobile.com
www.jqmgallery.com
www.sencha.com/products/touch/
www.sencha.com/products/touch/demos/
www.kendoui.com
demos.kendoui.com
![Page 13: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/13.jpg)
The Hybrid OptionLi fe M
ic hae l .c o
m● HTML5 is a large set of web technologies that allows the
development of diverse and powerful web sites and
applications. more
GeoLocation APICamera APIFullscreen APIDrag & Drop APIWeb GL APICanvas API Web Sockets APIWeb Workers APIOffline Storage APIs Communication APIVideo APIAudio API
![Page 14: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/14.jpg)
The Hybrid OptionLi fe M
ic hae l .c o
m● Powerful JavaScript libraries allow us to write our code in
a structural organized way.
www.mootools.net
www.jquery.com
www.angularjs.org
![Page 15: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/15.jpg)
The Hybrid OptionLi fe M
ic hae l .c o
m● We can use PhoneGap in order to write code in
JavaScript that interacts with the mobile telephone itself.
We can invent our own PhoneGap.
www.phonegap.com
![Page 16: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/16.jpg)
The Need for JavaLi fe M
ic hae l .c o
m● There are cases in which we better develop our code for
android in Java:
Computation Resource Limits
Code Running in The Background
High Quality Applications
![Page 17: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/17.jpg)
The Need for JavaLi fe M
ic hae l .c o
m● There are cases in which we don't have a choice but
writing our code in Java:
Using The Platform Capabilities
Live Wallpapers
App Widgets
Developing New Launchers
Developing New Keyboards
Push Notifications
Interaction with Platform Intents
![Page 18: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/18.jpg)
Self Learning ResourcesLi fe M
ic hae l .c o
m● Android Developers Web Site
developers.android.com
● Abelski Free Courses
abelski.lifemichael.com
● Israeli Guide to Android
www.androidbook.co.il
![Page 19: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/19.jpg)
Questions & AnswersLi fe M
ic hae l .c o
m● Two courses you might find interesting include
Android 4.3 Applications Development
more info detailed plan
PHP Cross Platform Mobile Applications
more info detailed plan
● If you enjoyed my lecture please leave me a comment
at http://speakermix.com/life-michael.
Thanks for your time!
Haim.
![Page 20: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/20.jpg)
Android Jump StartLifeMic hael.c o
mHaim MichaelApril 29th, 2013
All logos, trade marks and brand names used in this presentation belong to the respective owners.
![Page 21: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/21.jpg)
Table of ContentLifeMic hael.c o
m● Skills Prerequisites
● Software Installation
● The Android Platform
● Declarative User Interface
● Application Resources
● The SQLite Database
● Federation of Components
● Implicit and Explicit Intents
● The Hybrid Option
● The Need for Java
● Self Learning Resources
● Questions & Answers
![Page 22: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/22.jpg)
Skills PrerequisitesLifeMic hael.c o
m● Knowledge and understanding of the following topics in
Java:
Procedural Programming
Object Oriented Programming
Arrays & Strings
Inheritance
Inner Classes
Exceptions Handling
Threads
I/O Streams
Generics
Collections
![Page 23: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/23.jpg)
Software InstallationLifeMic hael.c o
m● Eclipse IDE Classic / Eclipse IDE for Java Developers
www.eclipse.org
● Android Development Tools (ADT) Plugin for Eclipse
http://developer.android.com/tools/sdk/eclipse-adt.html
● Android Software Development Tools (SDK)
http://developer.android.com/sdk/index.html
You can simply download and install the ADT Bundle. It
includes a customized version of Eclipse already installed with
the ADT plugin, the Android SDK and everything is already
configured for a smooth start.
![Page 24: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/24.jpg)
The Android PlatformLifeMic hael.c o
m● “Android is a software platform that delivers a complete
set of software for mobile devices, including an operating
system, a middle-ware and key mobile applications” (Google)
![Page 25: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/25.jpg)
Declarative User InterfaceLifeMic hael.c o
m● We can create the user interface using XML (similar to
silverlight).
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" >
<EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="44dp" android:ems="10" android:inputType="numberDecimal" >
<requestFocus /> </EditText></RelativeLayout>
![Page 26: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/26.jpg)
Application ResourcesLifeMic hael.c o
m● The application resources are static collections of bits
held outside the Java source code.
![Page 27: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/27.jpg)
The SQLite DatabaseLifeMic hael.c o
m● The application resources are static collections of bits
held outside the Java source code.
![Page 28: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/28.jpg)
Federation of ComponentsLifeMic hael.c o
m● The android platform is a federation of components of
different types, including activities, services, broadcast
receivers and content providers.
Activity Service Broadcast Receiver
Content Provider
![Page 29: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/29.jpg)
Implicit and Explicit IntentsLifeMic hael.c o
m● The intent is an abstract description of an operation to be
performed. (google)
Intent intent = new Intent("android.intent.action.PICK");intent.addCategory("android.intent.category.DEFAULT");
<intent-filter><action android:name="android.intent.action.PICK" /><category android:name="android.intent.category.DEFAULT" />
</intent-filter>
![Page 30: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/30.jpg)
The Hybrid OptionLifeMic hael.c o
m● The android platform allows us to embed the built-in web
browser as a widget within the user interface of our
application.
● Instantiating the WebView class we get an object that
represents an embedded web browser. The WebView
widget is implemented based on WebKit.
![Page 31: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/31.jpg)
The Hybrid OptionLifeMic hael.c o
m● JavaScript is a powerful programming language. We can
develop user interface similar to the one we get when
developing it in Java.
www.jQueryMobile.com
www.jqmgallery.com
www.sencha.com/products/touch/
www.sencha.com/products/touch/demos/
www.kendoui.com
demos.kendoui.com
![Page 32: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/32.jpg)
The Hybrid OptionLifeMic hael.c o
m● HTML5 is a large set of web technologies that allows the
development of diverse and powerful web sites and
applications. more
GeoLocation APICamera APIFullscreen APIDrag & Drop APIWeb GL APICanvas API Web Sockets APIWeb Workers APIOffline Storage APIs Communication APIVideo APIAudio API
![Page 33: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/33.jpg)
The Hybrid OptionLifeMic hael.c o
m● Powerful JavaScript libraries allow us to write our code in
a structural organized way.
www.mootools.net
www.jquery.com
www.angularjs.org
![Page 34: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/34.jpg)
The Hybrid OptionLifeMic hael.c o
m● We can use PhoneGap in order to write code in
JavaScript that interacts with the mobile telephone itself.
We can invent our own PhoneGap.
www.phonegap.com
![Page 35: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/35.jpg)
The Need for JavaLifeMic hael.c o
m● There are cases in which we better develop our code for
android in Java:
Computation Resource Limits
Code Running in The Background
High Quality Applications
![Page 36: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/36.jpg)
The Need for JavaLifeMic hael.c o
m● There are cases in which we don't have a choice but
writing our code in Java:
Using The Platform Capabilities
Live Wallpapers
App Widgets
Developing New Launchers
Developing New Keyboards
Push Notifications
Interaction with Platform Intents
![Page 37: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/37.jpg)
Self Learning ResourcesLifeMic hael.c o
m● Android Developers Web Site
developers.android.com
● Abelski Free Courses
abelski.lifemichael.com
● Israeli Guide to Android
www.androidbook.co.il
![Page 38: Android Jump Start](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55cae46fbb61eb33788b46a1/html5/thumbnails/38.jpg)
Questions & AnswersLifeMic hael.c o
m● Two courses you might find interesting include
Android 4.3 Applications Development
more info detailed plan
PHP Cross Platform Mobile Applications
more info detailed plan
● If you enjoyed my lecture please leave me a comment
at http://speakermix.com/life-michael.
Thanks for your time!
Haim.