SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
Android Jump Start
LifeMichael.com
Haim Michael
April 29th, 2013
All logos, trade marks and brand names used in this presentation belong
to the respective owners.
Table of Content
LifeMichael.com
● 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
Skills Prerequisites
LifeMichael.com
● 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
Software Installation
LifeMichael.com
● 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.
The Android Platform
LifeMichael.com
● “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)
Declarative User Interface
LifeMichael.com
● 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>
Application Resources
LifeMichael.com
● The application resources are static collections of bits
held outside the Java source code.
The SQLite Database
LifeMichael.com
● The application resources are static collections of bits
held outside the Java source code.
Federation of Components
LifeMichael.com
● 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
Implicit and Explicit Intents
LifeMichael.com
● 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>
The Hybrid Option
LifeMichael.com
● 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.
The Hybrid Option
LifeMichael.com
● 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
The Hybrid Option
LifeMichael.com
● HTML5 is a large set of web technologies that allows the
development of diverse and powerful web sites and
applications. more
GeoLocation API
Camera API
Fullscreen API
Drag & Drop API
Web GL API
Canvas API
Web Sockets API
Web Workers API
Offline Storage APIs
Communication API
Video API
Audio API
The Hybrid Option
LifeMichael.com
● Powerful JavaScript libraries allow us to write our code in
a structural organized way.
www.mootools.net
www.jquery.com
www.angularjs.org
The Hybrid Option
LifeMichael.com
● 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
The Need for Java
LifeMichael.com
● 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
The Need for Java
LifeMichael.com
● 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
Self Learning Resources
LifeMichael.com
● Android Developers Web Site
developers.android.com
● Abelski Free Courses
abelski.lifemichael.com
● Israeli Guide to Android
www.androidbook.co.il
Questions & Answers
LifeMichael.com
● 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.
Android Jump Start
LifeMichael.com
Haim Michael
April 29th, 2013
All logos, trade marks and brand names used in this presentation belong
to the respective owners.
Table of Content
LifeMichael.com
● 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
Skills Prerequisites
LifeMichael.com
● 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
Software Installation
LifeMichael.com
● 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.
The Android Platform
LifeMichael.com
● “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)
Declarative User Interface
LifeMichael.com
● 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>
Application Resources
LifeMichael.com
● The application resources are static collections of bits
held outside the Java source code.
The SQLite Database
LifeMichael.com
● The application resources are static collections of bits
held outside the Java source code.
Federation of Components
LifeMichael.com
● 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
Implicit and Explicit Intents
LifeMichael.com
● 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>
The Hybrid Option
LifeMichael.com
● 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.
The Hybrid Option
LifeMichael.com
● 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
The Hybrid Option
LifeMichael.com
● HTML5 is a large set of web technologies that allows the
development of diverse and powerful web sites and
applications. more
GeoLocation API
Camera API
Fullscreen API
Drag & Drop API
Web GL API
Canvas API
Web Sockets API
Web Workers API
Offline Storage APIs
Communication API
Video API
Audio API
The Hybrid Option
LifeMichael.com
● Powerful JavaScript libraries allow us to write our code in
a structural organized way.
www.mootools.net
www.jquery.com
www.angularjs.org
The Hybrid Option
LifeMichael.com
● 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
The Need for Java
LifeMichael.com
● 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
The Need for Java
LifeMichael.com
● 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
Self Learning Resources
LifeMichael.com
● Android Developers Web Site
developers.android.com
● Abelski Free Courses
abelski.lifemichael.com
● Israeli Guide to Android
www.androidbook.co.il
Questions & Answers
LifeMichael.com
● 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.

Weitere ähnliche Inhalte

Was ist angesagt?

Java.il - Confessions of a java developer that fell in love with the groovy l...
Java.il - Confessions of a java developer that fell in love with the groovy l...Java.il - Confessions of a java developer that fell in love with the groovy l...
Java.il - Confessions of a java developer that fell in love with the groovy l...Victor Trakhtenberg
 
Lean frontend development
Lean frontend developmentLean frontend development
Lean frontend developmentMatteo Guidotto
 
Top Web Development Frameworks Comparison: All You Need To Know
Top Web Development Frameworks Comparison: All You Need To KnowTop Web Development Frameworks Comparison: All You Need To Know
Top Web Development Frameworks Comparison: All You Need To KnowPixel Crayons
 
Top 10 Front End Development Technologies to Focus in 2018
Top 10 Front End Development Technologies to Focus in 2018Top 10 Front End Development Technologies to Focus in 2018
Top 10 Front End Development Technologies to Focus in 2018Helios Solutions
 
Web development tool
Web development toolWeb development tool
Web development toolDeep Bhavsar
 
Top 10 open source technologies for enterprise/Business web application devel...
Top 10 open source technologies for enterprise/Business web application devel...Top 10 open source technologies for enterprise/Business web application devel...
Top 10 open source technologies for enterprise/Business web application devel...Techcronus Business Solutions Pvt. Ltd.
 
Android app development Hybrid approach for beginners
Android app development  Hybrid approach for beginnersAndroid app development  Hybrid approach for beginners
Android app development Hybrid approach for beginnersKhirulnizam Abd Rahman
 
Real World AngularJS recipes: beyond TodoMVC
Real World AngularJS recipes: beyond TodoMVCReal World AngularJS recipes: beyond TodoMVC
Real World AngularJS recipes: beyond TodoMVCCarlo Bonamico
 
Sony lazuardi native mobile app with javascript
Sony lazuardi   native mobile app with javascriptSony lazuardi   native mobile app with javascript
Sony lazuardi native mobile app with javascriptPHP Indonesia
 
SFScon14: write java, run javascript: create enterprise html5 apps without “u...
SFScon14: write java, run javascript: create enterprise html5 apps without “u...SFScon14: write java, run javascript: create enterprise html5 apps without “u...
SFScon14: write java, run javascript: create enterprise html5 apps without “u...South Tyrol Free Software Conference
 
Android app development hybrid approach for beginners - Tools Installations ...
Android app development  hybrid approach for beginners - Tools Installations ...Android app development  hybrid approach for beginners - Tools Installations ...
Android app development hybrid approach for beginners - Tools Installations ...Khirulnizam Abd Rahman
 
Frontend Development vs Backend Development | Detailed Comparison
Frontend Development vs Backend Development | Detailed ComparisonFrontend Development vs Backend Development | Detailed Comparison
Frontend Development vs Backend Development | Detailed ComparisonMariya James
 
Fearless Internationalization and Localization Across the Nations
Fearless Internationalization and Localization Across the NationsFearless Internationalization and Localization Across the Nations
Fearless Internationalization and Localization Across the NationsSiena Aguayo
 
Muhammad azamuddin introduction-to-reactjs
Muhammad azamuddin   introduction-to-reactjsMuhammad azamuddin   introduction-to-reactjs
Muhammad azamuddin introduction-to-reactjsPHP Indonesia
 
Gradle & Android Studio - Introduction
Gradle & Android Studio - IntroductionGradle & Android Studio - Introduction
Gradle & Android Studio - IntroductionKevin Pelgrims
 
Porting business apps to Windows Phone
Porting business apps to Windows PhonePorting business apps to Windows Phone
Porting business apps to Windows PhoneMichele Capra
 
Gradle and Android Studio : Best of Friends
Gradle and Android Studio : Best of FriendsGradle and Android Studio : Best of Friends
Gradle and Android Studio : Best of FriendsRomin Irani
 
Adobe CQ at LinkedIn Meetup February 2014
Adobe CQ at LinkedIn Meetup February 2014Adobe CQ at LinkedIn Meetup February 2014
Adobe CQ at LinkedIn Meetup February 2014nyolles
 

Was ist angesagt? (20)

Vaadin Jump Start
Vaadin Jump StartVaadin Jump Start
Vaadin Jump Start
 
Java.il - Confessions of a java developer that fell in love with the groovy l...
Java.il - Confessions of a java developer that fell in love with the groovy l...Java.il - Confessions of a java developer that fell in love with the groovy l...
Java.il - Confessions of a java developer that fell in love with the groovy l...
 
Lean frontend development
Lean frontend developmentLean frontend development
Lean frontend development
 
Top Web Development Frameworks Comparison: All You Need To Know
Top Web Development Frameworks Comparison: All You Need To KnowTop Web Development Frameworks Comparison: All You Need To Know
Top Web Development Frameworks Comparison: All You Need To Know
 
Top 10 Front End Development Technologies to Focus in 2018
Top 10 Front End Development Technologies to Focus in 2018Top 10 Front End Development Technologies to Focus in 2018
Top 10 Front End Development Technologies to Focus in 2018
 
Web development tool
Web development toolWeb development tool
Web development tool
 
Top 10 open source technologies for enterprise/Business web application devel...
Top 10 open source technologies for enterprise/Business web application devel...Top 10 open source technologies for enterprise/Business web application devel...
Top 10 open source technologies for enterprise/Business web application devel...
 
Android app development Hybrid approach for beginners
Android app development  Hybrid approach for beginnersAndroid app development  Hybrid approach for beginners
Android app development Hybrid approach for beginners
 
Real World AngularJS recipes: beyond TodoMVC
Real World AngularJS recipes: beyond TodoMVCReal World AngularJS recipes: beyond TodoMVC
Real World AngularJS recipes: beyond TodoMVC
 
Sony lazuardi native mobile app with javascript
Sony lazuardi   native mobile app with javascriptSony lazuardi   native mobile app with javascript
Sony lazuardi native mobile app with javascript
 
SFScon14: write java, run javascript: create enterprise html5 apps without “u...
SFScon14: write java, run javascript: create enterprise html5 apps without “u...SFScon14: write java, run javascript: create enterprise html5 apps without “u...
SFScon14: write java, run javascript: create enterprise html5 apps without “u...
 
Android app development hybrid approach for beginners - Tools Installations ...
Android app development  hybrid approach for beginners - Tools Installations ...Android app development  hybrid approach for beginners - Tools Installations ...
Android app development hybrid approach for beginners - Tools Installations ...
 
Frontend Development vs Backend Development | Detailed Comparison
Frontend Development vs Backend Development | Detailed ComparisonFrontend Development vs Backend Development | Detailed Comparison
Frontend Development vs Backend Development | Detailed Comparison
 
Effective Android UI - English
Effective Android UI - EnglishEffective Android UI - English
Effective Android UI - English
 
Fearless Internationalization and Localization Across the Nations
Fearless Internationalization and Localization Across the NationsFearless Internationalization and Localization Across the Nations
Fearless Internationalization and Localization Across the Nations
 
Muhammad azamuddin introduction-to-reactjs
Muhammad azamuddin   introduction-to-reactjsMuhammad azamuddin   introduction-to-reactjs
Muhammad azamuddin introduction-to-reactjs
 
Gradle & Android Studio - Introduction
Gradle & Android Studio - IntroductionGradle & Android Studio - Introduction
Gradle & Android Studio - Introduction
 
Porting business apps to Windows Phone
Porting business apps to Windows PhonePorting business apps to Windows Phone
Porting business apps to Windows Phone
 
Gradle and Android Studio : Best of Friends
Gradle and Android Studio : Best of FriendsGradle and Android Studio : Best of Friends
Gradle and Android Studio : Best of Friends
 
Adobe CQ at LinkedIn Meetup February 2014
Adobe CQ at LinkedIn Meetup February 2014Adobe CQ at LinkedIn Meetup February 2014
Adobe CQ at LinkedIn Meetup February 2014
 

Andere mochten auch

A Day In The Life
A Day In The Life A Day In The Life
A Day In The Life outugo
 
San josé domingo de ramos 2012
San josé domingo de ramos 2012San josé domingo de ramos 2012
San josé domingo de ramos 2012Claudio Obregón
 
Interpreting Scripture Term 1 2010
Interpreting Scripture Term 1 2010Interpreting Scripture Term 1 2010
Interpreting Scripture Term 1 2010ddowling2010
 
Jozef Van Assche at DGG Germany February 2010
Jozef Van Assche at DGG Germany February 2010Jozef Van Assche at DGG Germany February 2010
Jozef Van Assche at DGG Germany February 2010guesta492de
 
Semana de Protecção do Tubarão 2010
Semana de Protecção do Tubarão 2010 Semana de Protecção do Tubarão 2010
Semana de Protecção do Tubarão 2010 ADNG DIVING
 
Keeping Kids Warm
Keeping Kids WarmKeeping Kids Warm
Keeping Kids Warmcaseycorley
 
Capitulo 1
Capitulo 1Capitulo 1
Capitulo 141096087
 

Andere mochten auch (9)

A Day In The Life
A Day In The Life A Day In The Life
A Day In The Life
 
San josé domingo de ramos 2012
San josé domingo de ramos 2012San josé domingo de ramos 2012
San josé domingo de ramos 2012
 
Interpreting Scripture Term 1 2010
Interpreting Scripture Term 1 2010Interpreting Scripture Term 1 2010
Interpreting Scripture Term 1 2010
 
Jozef Van Assche at DGG Germany February 2010
Jozef Van Assche at DGG Germany February 2010Jozef Van Assche at DGG Germany February 2010
Jozef Van Assche at DGG Germany February 2010
 
Presentation1
Presentation1Presentation1
Presentation1
 
Php
PhpPhp
Php
 
Semana de Protecção do Tubarão 2010
Semana de Protecção do Tubarão 2010 Semana de Protecção do Tubarão 2010
Semana de Protecção do Tubarão 2010
 
Keeping Kids Warm
Keeping Kids WarmKeeping Kids Warm
Keeping Kids Warm
 
Capitulo 1
Capitulo 1Capitulo 1
Capitulo 1
 

Ähnlich wie Android Jump Start

Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_authlzongren
 
Android workshop material
Android workshop materialAndroid workshop material
Android workshop materialReza Yogaswara
 
Java Meetup - 12-03-15 - Android Development Workshop
Java Meetup - 12-03-15 - Android Development WorkshopJava Meetup - 12-03-15 - Android Development Workshop
Java Meetup - 12-03-15 - Android Development WorkshopKasun Dananjaya Delgolla
 
Android App Development - 01 Introduction
Android App Development - 01 IntroductionAndroid App Development - 01 Introduction
Android App Development - 01 IntroductionDiego Grancini
 
Module-I_Introduction-to-Android.pptx
Module-I_Introduction-to-Android.pptxModule-I_Introduction-to-Android.pptx
Module-I_Introduction-to-Android.pptxlancelotlaytan1996
 
Android Web app
Android Web app Android Web app
Android Web app Sumit Kumar
 
Android application developement
Android application developementAndroid application developement
Android application developementSANJAY0830
 
Getting Started with Android 1.5
Getting Started with Android 1.5Getting Started with Android 1.5
Getting Started with Android 1.5Gaurav Kohli
 
Os eclipse-androidwidget-pdf
Os eclipse-androidwidget-pdfOs eclipse-androidwidget-pdf
Os eclipse-androidwidget-pdfweerabahu
 
Developing for Android-Types of Android Application
Developing for Android-Types of Android ApplicationDeveloping for Android-Types of Android Application
Developing for Android-Types of Android ApplicationNandini Prabhu
 
Seminar on android app development
Seminar on android app developmentSeminar on android app development
Seminar on android app developmentAbhishekKumar4779
 
Getting started with android dev and test perspective
Getting started with android   dev and test perspectiveGetting started with android   dev and test perspective
Getting started with android dev and test perspectiveGunjan Kumar
 
Mobile application development
Mobile application developmentMobile application development
Mobile application developmentumesh patil
 
Getting started as an android developer
Getting started as an  android developerGetting started as an  android developer
Getting started as an android developerAva Meredith
 
Android application development
Android application developmentAndroid application development
Android application developmentslidesuren
 

Ähnlich wie Android Jump Start (20)

Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
 
Android workshop material
Android workshop materialAndroid workshop material
Android workshop material
 
Java Meetup - 12-03-15 - Android Development Workshop
Java Meetup - 12-03-15 - Android Development WorkshopJava Meetup - 12-03-15 - Android Development Workshop
Java Meetup - 12-03-15 - Android Development Workshop
 
Android App Development - 01 Introduction
Android App Development - 01 IntroductionAndroid App Development - 01 Introduction
Android App Development - 01 Introduction
 
Module-I_Introduction-to-Android.pptx
Module-I_Introduction-to-Android.pptxModule-I_Introduction-to-Android.pptx
Module-I_Introduction-to-Android.pptx
 
Android Web app
Android Web app Android Web app
Android Web app
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
 
Android application developement
Android application developementAndroid application developement
Android application developement
 
Getting Started with Android 1.5
Getting Started with Android 1.5Getting Started with Android 1.5
Getting Started with Android 1.5
 
Os eclipse-androidwidget-pdf
Os eclipse-androidwidget-pdfOs eclipse-androidwidget-pdf
Os eclipse-androidwidget-pdf
 
Developing for Android-Types of Android Application
Developing for Android-Types of Android ApplicationDeveloping for Android-Types of Android Application
Developing for Android-Types of Android Application
 
Android Made Simple
Android Made SimpleAndroid Made Simple
Android Made Simple
 
Seminar on android app development
Seminar on android app developmentSeminar on android app development
Seminar on android app development
 
Android class provider in mumbai
Android class provider in mumbaiAndroid class provider in mumbai
Android class provider in mumbai
 
Getting started with android dev and test perspective
Getting started with android   dev and test perspectiveGetting started with android   dev and test perspective
Getting started with android dev and test perspective
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
 
Intro to android (gdays)
Intro to android (gdays)Intro to android (gdays)
Intro to android (gdays)
 
Getting started as an android developer
Getting started as an  android developerGetting started as an  android developer
Getting started as an android developer
 
Android application development
Android application developmentAndroid application development
Android application development
 
Android Intro
Android IntroAndroid Intro
Android Intro
 

Mehr von Haim Michael

Virtual Threads in Java
Virtual Threads in JavaVirtual Threads in Java
Virtual Threads in JavaHaim Michael
 
MongoDB Design Patterns
MongoDB Design PatternsMongoDB Design Patterns
MongoDB Design PatternsHaim Michael
 
Introduction to SQL Injections
Introduction to SQL InjectionsIntroduction to SQL Injections
Introduction to SQL InjectionsHaim Michael
 
Record Classes in Java
Record Classes in JavaRecord Classes in Java
Record Classes in JavaHaim Michael
 
Microservices Design Patterns
Microservices Design PatternsMicroservices Design Patterns
Microservices Design PatternsHaim Michael
 
Structural Pattern Matching in Python
Structural Pattern Matching in PythonStructural Pattern Matching in Python
Structural Pattern Matching in PythonHaim Michael
 
Unit Testing in Python
Unit Testing in PythonUnit Testing in Python
Unit Testing in PythonHaim Michael
 
OOP Best Practices in JavaScript
OOP Best Practices in JavaScriptOOP Best Practices in JavaScript
OOP Best Practices in JavaScriptHaim Michael
 
JavaScript Jump Start 20220214
JavaScript Jump Start 20220214JavaScript Jump Start 20220214
JavaScript Jump Start 20220214Haim Michael
 
Bootstrap Jump Start
Bootstrap Jump StartBootstrap Jump Start
Bootstrap Jump StartHaim Michael
 
What is new in PHP
What is new in PHPWhat is new in PHP
What is new in PHPHaim Michael
 
What is new in Python 3.9
What is new in Python 3.9What is new in Python 3.9
What is new in Python 3.9Haim Michael
 
Programming in Python on Steroid
Programming in Python on SteroidProgramming in Python on Steroid
Programming in Python on SteroidHaim Michael
 
The matplotlib Library
The matplotlib LibraryThe matplotlib Library
The matplotlib LibraryHaim Michael
 
Pandas meetup 20200908
Pandas meetup 20200908Pandas meetup 20200908
Pandas meetup 20200908Haim Michael
 
The num py_library_20200818
The num py_library_20200818The num py_library_20200818
The num py_library_20200818Haim Michael
 
Jupyter notebook 20200728
Jupyter notebook 20200728Jupyter notebook 20200728
Jupyter notebook 20200728Haim Michael
 
Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start) Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start) Haim Michael
 

Mehr von Haim Michael (20)

Anti Patterns
Anti PatternsAnti Patterns
Anti Patterns
 
Virtual Threads in Java
Virtual Threads in JavaVirtual Threads in Java
Virtual Threads in Java
 
MongoDB Design Patterns
MongoDB Design PatternsMongoDB Design Patterns
MongoDB Design Patterns
 
Introduction to SQL Injections
Introduction to SQL InjectionsIntroduction to SQL Injections
Introduction to SQL Injections
 
Record Classes in Java
Record Classes in JavaRecord Classes in Java
Record Classes in Java
 
Microservices Design Patterns
Microservices Design PatternsMicroservices Design Patterns
Microservices Design Patterns
 
Structural Pattern Matching in Python
Structural Pattern Matching in PythonStructural Pattern Matching in Python
Structural Pattern Matching in Python
 
Unit Testing in Python
Unit Testing in PythonUnit Testing in Python
Unit Testing in Python
 
OOP Best Practices in JavaScript
OOP Best Practices in JavaScriptOOP Best Practices in JavaScript
OOP Best Practices in JavaScript
 
Java Jump Start
Java Jump StartJava Jump Start
Java Jump Start
 
JavaScript Jump Start 20220214
JavaScript Jump Start 20220214JavaScript Jump Start 20220214
JavaScript Jump Start 20220214
 
Bootstrap Jump Start
Bootstrap Jump StartBootstrap Jump Start
Bootstrap Jump Start
 
What is new in PHP
What is new in PHPWhat is new in PHP
What is new in PHP
 
What is new in Python 3.9
What is new in Python 3.9What is new in Python 3.9
What is new in Python 3.9
 
Programming in Python on Steroid
Programming in Python on SteroidProgramming in Python on Steroid
Programming in Python on Steroid
 
The matplotlib Library
The matplotlib LibraryThe matplotlib Library
The matplotlib Library
 
Pandas meetup 20200908
Pandas meetup 20200908Pandas meetup 20200908
Pandas meetup 20200908
 
The num py_library_20200818
The num py_library_20200818The num py_library_20200818
The num py_library_20200818
 
Jupyter notebook 20200728
Jupyter notebook 20200728Jupyter notebook 20200728
Jupyter notebook 20200728
 
Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start) Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start)
 

Kürzlich hochgeladen

cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 

Kürzlich hochgeladen (20)

cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 

Android Jump Start

  • 1. Android Jump Start LifeMichael.com Haim Michael April 29th, 2013 All logos, trade marks and brand names used in this presentation belong to the respective owners.
  • 2. Table of Content LifeMichael.com ● 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
  • 3. Skills Prerequisites LifeMichael.com ● 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
  • 4. Software Installation LifeMichael.com ● 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.
  • 5. The Android Platform LifeMichael.com ● “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)
  • 6. Declarative User Interface LifeMichael.com ● 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>
  • 7. Application Resources LifeMichael.com ● The application resources are static collections of bits held outside the Java source code.
  • 8. The SQLite Database LifeMichael.com ● The application resources are static collections of bits held outside the Java source code.
  • 9. Federation of Components LifeMichael.com ● 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
  • 10. Implicit and Explicit Intents LifeMichael.com ● 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>
  • 11. The Hybrid Option LifeMichael.com ● 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.
  • 12. The Hybrid Option LifeMichael.com ● 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
  • 13. The Hybrid Option LifeMichael.com ● HTML5 is a large set of web technologies that allows the development of diverse and powerful web sites and applications. more GeoLocation API Camera API Fullscreen API Drag & Drop API Web GL API Canvas API Web Sockets API Web Workers API Offline Storage APIs Communication API Video API Audio API
  • 14. The Hybrid Option LifeMichael.com ● Powerful JavaScript libraries allow us to write our code in a structural organized way. www.mootools.net www.jquery.com www.angularjs.org
  • 15. The Hybrid Option LifeMichael.com ● 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
  • 16. The Need for Java LifeMichael.com ● 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
  • 17. The Need for Java LifeMichael.com ● 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
  • 18. Self Learning Resources LifeMichael.com ● Android Developers Web Site developers.android.com ● Abelski Free Courses abelski.lifemichael.com ● Israeli Guide to Android www.androidbook.co.il
  • 19. Questions & Answers LifeMichael.com ● 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.
  • 20. Android Jump Start LifeMichael.com Haim Michael April 29th, 2013 All logos, trade marks and brand names used in this presentation belong to the respective owners.
  • 21. Table of Content LifeMichael.com ● 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
  • 22. Skills Prerequisites LifeMichael.com ● 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
  • 23. Software Installation LifeMichael.com ● 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.
  • 24. The Android Platform LifeMichael.com ● “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)
  • 25. Declarative User Interface LifeMichael.com ● 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>
  • 26. Application Resources LifeMichael.com ● The application resources are static collections of bits held outside the Java source code.
  • 27. The SQLite Database LifeMichael.com ● The application resources are static collections of bits held outside the Java source code.
  • 28. Federation of Components LifeMichael.com ● 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
  • 29. Implicit and Explicit Intents LifeMichael.com ● 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>
  • 30. The Hybrid Option LifeMichael.com ● 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.
  • 31. The Hybrid Option LifeMichael.com ● 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
  • 32. The Hybrid Option LifeMichael.com ● HTML5 is a large set of web technologies that allows the development of diverse and powerful web sites and applications. more GeoLocation API Camera API Fullscreen API Drag & Drop API Web GL API Canvas API Web Sockets API Web Workers API Offline Storage APIs Communication API Video API Audio API
  • 33. The Hybrid Option LifeMichael.com ● Powerful JavaScript libraries allow us to write our code in a structural organized way. www.mootools.net www.jquery.com www.angularjs.org
  • 34. The Hybrid Option LifeMichael.com ● 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
  • 35. The Need for Java LifeMichael.com ● 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
  • 36. The Need for Java LifeMichael.com ● 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
  • 37. Self Learning Resources LifeMichael.com ● Android Developers Web Site developers.android.com ● Abelski Free Courses abelski.lifemichael.com ● Israeli Guide to Android www.androidbook.co.il
  • 38. Questions & Answers LifeMichael.com ● 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.