SlideShare une entreprise Scribd logo
1  sur  62
Version(s) API Level(s) Year(s) SDK Notes / New Features
1.0-1.1 1-2 2008-2009 First releases, Android Market
1.5 “Cupcake” 3 2009 3rd party keyboards, Widgets
1.6 “Donut” 4 2009 Speech engine
2.0-2.1 “Éclair” 5-7 2009 HTML5, Bluetooth API, Multi-touch SDK
2.2 “Froyo” 8 2010 Performance, JIT,V8 engine, push notifications, Hi-DPI
2.3 “Gingerbread” 9-10 2010-2011 New UI,WXGA,VoIP, NFC, multiple cameras,
concurrent GC, more sensors supported
3.0-3.2 “Honeycomb” 11-13 2011 Holo UI, tablets only, System bar, Action bar, two-pane
UI, multi-core processors, external keyboards/mice
Version(s) API Level(s) Year(s) SDK Notes / New Features
4.0 “Ice Cream Sandwich” 14-15 2011 Brings 3.x features to phones, speech to text
4.1-4.3 “Jelly Bean” 16-18 2012-2013 “Project Butter”, expandable notifications, 7”
tablet UI, geofencing, native emojis
4.4 “KitKat” 19 2013 Low RAM device support, cleaner Holo UI,
immersive mode apps,WebView uses
Chromium, Storage Access Framework, UI
transition framework
4.4W “KitKat” 20 2013 Wearable extensions (smartwatches)
5.0-5.1 “Lollipop” 21-22 2014-2015 Android Runtime (ART), 64-bit support, vector
drawables, Material Design,WebView updated
through Play Store
6.0 “Marshmallow” 23 2015 Data backup/restore for apps, in-app
permission checks
C# Keyword / Usage Java Keyword / Usage
bool boolean
string <none> (use String type)
namespace (block scoped) package (file scoped)
using (a namespace or “static”) import (a package, class, or wildcard)
base super
MyClass : MyBaseClass, IMyInterface MyClass extends MyBaseClass implements MyInterface
const (field) static final
readonly final
sealed final
<none> (variable used in lambda) final (variable used in anonymous inner class)
is instanceof
lock synchronized
foreach (Type item in collection) for (Type item : collection)
typeof(MyClass) MyClass.class
.NETType JavaType
IEnumerable, IEnumerable<T> Iterable<T>
IEnumerator, IEnumerator<T> Iterator<T>
IList, IList<T> List<E>
List<T> ArrayList<E> implements List<E>
IDictionary<TKey,TValue> Map<K,V>
Dictionary<TKey,TValue> HashMap<K,V> implements Map<K,V>
KeyValuePair<TKey,TValue> Map.Entry<K,V>
ICollection<T> Collection<E>
ISet<T> Set<E>
HashSet<T> HashSet<E> implements Set<E>
.NETType JavaType(s)
System.Guid java.util.UUID
System.DateTime java.util.Date
System.IDisposable java.io.Closeable
System.ISerializable java.io.Serializable
System.IO.Stream java.io.InputStream, java.io.OutputStream
System.Type java.lang.Class<T>
System.Uri java.net.URI, java.net.URL, android.net.Uri
System.Text.RegularExpressions.Regex java.util.regex.Matcher, java.util.regex.Pattern
Notice: final keyword, MainActivity.this, and thatView.OnClickListener is an interface
EmailActivity
EmailListFragment
EmailActivity
EmailListFragment EmailMessageFragment
Phone UI Tablet UI
EmailMessageFragment
http://developer.android.com/guide/topics/ui/menus.html
http://developer.android.com/training/basics/activity-lifecycle/starting.html
Lifetime First Call Final Call
Entire Lifetime onCreate onDestroy
Visible Lifetime onStart onStop
Foreground Lifetime onResume onPause
Lifecycle Method Next Method Common Usage
onCreate onStart Set up activity’s view, get view references
(findViewById), restore instance state
onStart onResume or onStop (rare)
onRestart onStart (rare)
onResume onPause Start any timers or CPU-consuming tasks, refresh UI
elements, play audio/video
onPause onResume or onStop Pause any timers or CPU-consuming tasks, pause
audio/video
onStop onRestart or onDestroy (rare) Clean up your activity
onDestroy nothing (rare) Clean up your activity
* onSaveInstanceState Save instance state (duh)
* onRestoreInstanceState (rare) Restore instance state (duh)
* Not part of previous diagram
Intent Action (public static final String) Example Usage
Intent.ACTION_VIEW Open URL
Intent.ACTION_ATTACH_DATA Attach photo to a contact
Intent.ACTION_EDIT Edit a calendar entry
Intent.ACTION_PICK Pick a file from a directory
Intent.ACTION_DIAL Call a number
Intent.ACTION_SEND Share something (system share chooser)
Intent.ACTION_SEARCH Perform a system search
Intent.ACTION_WEB_SEARCH Perform a web search
MediaStore.ACTION_IMAGE_CAPTURE Take a photo with the camera (default app)
MediaStore.ACTION_VIDEO_CAPTURE Record a video with the camera (default app)
Permission Group Permissions
CALENDAR READ_CALENDAR,WRITE_CALENDAR
CAMERA CAMERA
CONTACTS READ_CONTACTS,WRITE_CONTACTS, GET_ACCOUNTS
LOCATION ACCESS_FINE_LOCATION,ACCESS_COARSE_LOCATION
MICROPHONE RECORD_AUDIO
PHONE READ_PHONE_STATE, CALL_PHONE, READ_CALL_LOG,WRITE_CALL_LOG,
ADD_VOICEMAIL,USE_SIP, PROCESS_OUTGOING_CALLS
SENSORS BODY_SENSORS
SMS SEND_SMS, RECEIVE_SMS, READ_SMS, RECEIVE_WAP_PUSH, RECEIVE_MMS
STORAGE READ_EXTERNAL_STORAGE,WRITE_EXTERNAL_STORAGE
Directive Example Description
compileSdkVersion compileSdkVersion 23 Which API level this is compiled against
buildToolsVersion buildToolsVersion “21.1.2” Android BuildTools installed version
applicationId applicationId “com.feature23.hello” The unique app ID, used by the OS
minSdkVersion minSdkVersion 19 App won’t run on devices below this
targetSdkVersion targetSdkVersion 23 Which API level this app is tested
against
versionCode versionCode 2 Integer version code, must increment
each release, no decimal places
versionName versionName “1.01” User-friendly version number
compile compile
'com.google.code.gson:gson:2.4'
Add a Maven dependency
compile files('libs/coollection-
0.2.0.jar')
Add a jar dependency
Android Crash Course Lunch and Learn
Android Crash Course Lunch and Learn
Android Crash Course Lunch and Learn

Contenu connexe

Similaire à Android Crash Course Lunch and Learn

Cucumber meets iPhone
Cucumber meets iPhoneCucumber meets iPhone
Cucumber meets iPhoneErin Dees
 
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Heiko Behrens
 
Create Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS StudioCreate Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS StudioGuilhem Ensuque
 
[1D1]신개념 N스크린 웹 앱 프레임워크 PARS
[1D1]신개념 N스크린 웹 앱 프레임워크 PARS[1D1]신개념 N스크린 웹 앱 프레임워크 PARS
[1D1]신개념 N스크린 웹 앱 프레임워크 PARSNAVER D2
 
Html5 investigation
Html5 investigationHtml5 investigation
Html5 investigationoppokui
 
Apps development for Recon HUDs
Apps development for Recon HUDsApps development for Recon HUDs
Apps development for Recon HUDsXavier Hallade
 
Android terminologies
Android terminologiesAndroid terminologies
Android terminologiesjerry vasoya
 
My customers are using iPhone/Android, but I'm a Microsoft Guy.
My customers are using iPhone/Android, but I'm a Microsoft Guy.My customers are using iPhone/Android, but I'm a Microsoft Guy.
My customers are using iPhone/Android, but I'm a Microsoft Guy.Simon Guest
 
Functional Requirements Of System Requirements
Functional Requirements Of System RequirementsFunctional Requirements Of System Requirements
Functional Requirements Of System RequirementsLaura Arrigo
 
Android - Open Source Bridge 2011
Android - Open Source Bridge 2011Android - Open Source Bridge 2011
Android - Open Source Bridge 2011sullis
 
Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011sullis
 
Fixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World RomaniaFixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World RomaniaChristian Heilmann
 
Building solutions on the Microsoft platform that target iPhone, iPad, and An...
Building solutions on the Microsoft platform that target iPhone, iPad, and An...Building solutions on the Microsoft platform that target iPhone, iPad, and An...
Building solutions on the Microsoft platform that target iPhone, iPad, and An...Simon Guest
 
Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)Mikkel Flindt Heisterberg
 
Windows phone 7 application development
Windows phone 7 application developmentWindows phone 7 application development
Windows phone 7 application developmentMannu Malhotra
 
Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15sullis
 
Develop for Windows Phone Mango and Windows 8: our Tips
Develop for Windows Phone Mango and Windows 8: our TipsDevelop for Windows Phone Mango and Windows 8: our Tips
Develop for Windows Phone Mango and Windows 8: our TipsSoumow Dollon
 
Go mobile with Windows Phone
Go mobile with Windows PhoneGo mobile with Windows Phone
Go mobile with Windows PhoneDima Maleev
 

Similaire à Android Crash Course Lunch and Learn (20)

Cucumber meets iPhone
Cucumber meets iPhoneCucumber meets iPhone
Cucumber meets iPhone
 
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
 
Create Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS StudioCreate Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
 
[1D1]신개념 N스크린 웹 앱 프레임워크 PARS
[1D1]신개념 N스크린 웹 앱 프레임워크 PARS[1D1]신개념 N스크린 웹 앱 프레임워크 PARS
[1D1]신개념 N스크린 웹 앱 프레임워크 PARS
 
Html5 investigation
Html5 investigationHtml5 investigation
Html5 investigation
 
Apps development for Recon HUDs
Apps development for Recon HUDsApps development for Recon HUDs
Apps development for Recon HUDs
 
Android terminologies
Android terminologiesAndroid terminologies
Android terminologies
 
My customers are using iPhone/Android, but I'm a Microsoft Guy.
My customers are using iPhone/Android, but I'm a Microsoft Guy.My customers are using iPhone/Android, but I'm a Microsoft Guy.
My customers are using iPhone/Android, but I'm a Microsoft Guy.
 
Functional Requirements Of System Requirements
Functional Requirements Of System RequirementsFunctional Requirements Of System Requirements
Functional Requirements Of System Requirements
 
Android - Open Source Bridge 2011
Android - Open Source Bridge 2011Android - Open Source Bridge 2011
Android - Open Source Bridge 2011
 
Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011
 
Fixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World RomaniaFixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World Romania
 
Lecture1
Lecture1Lecture1
Lecture1
 
Building solutions on the Microsoft platform that target iPhone, iPad, and An...
Building solutions on the Microsoft platform that target iPhone, iPad, and An...Building solutions on the Microsoft platform that target iPhone, iPad, and An...
Building solutions on the Microsoft platform that target iPhone, iPad, and An...
 
Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)
 
Windows phone 7 application development
Windows phone 7 application developmentWindows phone 7 application development
Windows phone 7 application development
 
Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15
 
Develop for Windows Phone Mango and Windows 8: our Tips
Develop for Windows Phone Mango and Windows 8: our TipsDevelop for Windows Phone Mango and Windows 8: our Tips
Develop for Windows Phone Mango and Windows 8: our Tips
 
Intro to Android Programming
Intro to Android ProgrammingIntro to Android Programming
Intro to Android Programming
 
Go mobile with Windows Phone
Go mobile with Windows PhoneGo mobile with Windows Phone
Go mobile with Windows Phone
 

Dernier

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 

Dernier (20)

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 

Android Crash Course Lunch and Learn

  • 1.
  • 2.
  • 3. Version(s) API Level(s) Year(s) SDK Notes / New Features 1.0-1.1 1-2 2008-2009 First releases, Android Market 1.5 “Cupcake” 3 2009 3rd party keyboards, Widgets 1.6 “Donut” 4 2009 Speech engine 2.0-2.1 “Éclair” 5-7 2009 HTML5, Bluetooth API, Multi-touch SDK 2.2 “Froyo” 8 2010 Performance, JIT,V8 engine, push notifications, Hi-DPI 2.3 “Gingerbread” 9-10 2010-2011 New UI,WXGA,VoIP, NFC, multiple cameras, concurrent GC, more sensors supported 3.0-3.2 “Honeycomb” 11-13 2011 Holo UI, tablets only, System bar, Action bar, two-pane UI, multi-core processors, external keyboards/mice
  • 4. Version(s) API Level(s) Year(s) SDK Notes / New Features 4.0 “Ice Cream Sandwich” 14-15 2011 Brings 3.x features to phones, speech to text 4.1-4.3 “Jelly Bean” 16-18 2012-2013 “Project Butter”, expandable notifications, 7” tablet UI, geofencing, native emojis 4.4 “KitKat” 19 2013 Low RAM device support, cleaner Holo UI, immersive mode apps,WebView uses Chromium, Storage Access Framework, UI transition framework 4.4W “KitKat” 20 2013 Wearable extensions (smartwatches) 5.0-5.1 “Lollipop” 21-22 2014-2015 Android Runtime (ART), 64-bit support, vector drawables, Material Design,WebView updated through Play Store 6.0 “Marshmallow” 23 2015 Data backup/restore for apps, in-app permission checks
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16. C# Keyword / Usage Java Keyword / Usage bool boolean string <none> (use String type) namespace (block scoped) package (file scoped) using (a namespace or “static”) import (a package, class, or wildcard) base super MyClass : MyBaseClass, IMyInterface MyClass extends MyBaseClass implements MyInterface const (field) static final readonly final sealed final <none> (variable used in lambda) final (variable used in anonymous inner class) is instanceof lock synchronized foreach (Type item in collection) for (Type item : collection) typeof(MyClass) MyClass.class
  • 17.
  • 18.
  • 19.
  • 20.
  • 21. .NETType JavaType IEnumerable, IEnumerable<T> Iterable<T> IEnumerator, IEnumerator<T> Iterator<T> IList, IList<T> List<E> List<T> ArrayList<E> implements List<E> IDictionary<TKey,TValue> Map<K,V> Dictionary<TKey,TValue> HashMap<K,V> implements Map<K,V> KeyValuePair<TKey,TValue> Map.Entry<K,V> ICollection<T> Collection<E> ISet<T> Set<E> HashSet<T> HashSet<E> implements Set<E>
  • 22. .NETType JavaType(s) System.Guid java.util.UUID System.DateTime java.util.Date System.IDisposable java.io.Closeable System.ISerializable java.io.Serializable System.IO.Stream java.io.InputStream, java.io.OutputStream System.Type java.lang.Class<T> System.Uri java.net.URI, java.net.URL, android.net.Uri System.Text.RegularExpressions.Regex java.util.regex.Matcher, java.util.regex.Pattern
  • 23.
  • 24. Notice: final keyword, MainActivity.this, and thatView.OnClickListener is an interface
  • 25.
  • 26.
  • 27.
  • 29.
  • 30.
  • 31.
  • 33.
  • 34.
  • 35.
  • 36.
  • 38. Lifetime First Call Final Call Entire Lifetime onCreate onDestroy Visible Lifetime onStart onStop Foreground Lifetime onResume onPause
  • 39. Lifecycle Method Next Method Common Usage onCreate onStart Set up activity’s view, get view references (findViewById), restore instance state onStart onResume or onStop (rare) onRestart onStart (rare) onResume onPause Start any timers or CPU-consuming tasks, refresh UI elements, play audio/video onPause onResume or onStop Pause any timers or CPU-consuming tasks, pause audio/video onStop onRestart or onDestroy (rare) Clean up your activity onDestroy nothing (rare) Clean up your activity * onSaveInstanceState Save instance state (duh) * onRestoreInstanceState (rare) Restore instance state (duh) * Not part of previous diagram
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48. Intent Action (public static final String) Example Usage Intent.ACTION_VIEW Open URL Intent.ACTION_ATTACH_DATA Attach photo to a contact Intent.ACTION_EDIT Edit a calendar entry Intent.ACTION_PICK Pick a file from a directory Intent.ACTION_DIAL Call a number Intent.ACTION_SEND Share something (system share chooser) Intent.ACTION_SEARCH Perform a system search Intent.ACTION_WEB_SEARCH Perform a web search MediaStore.ACTION_IMAGE_CAPTURE Take a photo with the camera (default app) MediaStore.ACTION_VIDEO_CAPTURE Record a video with the camera (default app)
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57. Permission Group Permissions CALENDAR READ_CALENDAR,WRITE_CALENDAR CAMERA CAMERA CONTACTS READ_CONTACTS,WRITE_CONTACTS, GET_ACCOUNTS LOCATION ACCESS_FINE_LOCATION,ACCESS_COARSE_LOCATION MICROPHONE RECORD_AUDIO PHONE READ_PHONE_STATE, CALL_PHONE, READ_CALL_LOG,WRITE_CALL_LOG, ADD_VOICEMAIL,USE_SIP, PROCESS_OUTGOING_CALLS SENSORS BODY_SENSORS SMS SEND_SMS, RECEIVE_SMS, READ_SMS, RECEIVE_WAP_PUSH, RECEIVE_MMS STORAGE READ_EXTERNAL_STORAGE,WRITE_EXTERNAL_STORAGE
  • 58.
  • 59. Directive Example Description compileSdkVersion compileSdkVersion 23 Which API level this is compiled against buildToolsVersion buildToolsVersion “21.1.2” Android BuildTools installed version applicationId applicationId “com.feature23.hello” The unique app ID, used by the OS minSdkVersion minSdkVersion 19 App won’t run on devices below this targetSdkVersion targetSdkVersion 23 Which API level this app is tested against versionCode versionCode 2 Integer version code, must increment each release, no decimal places versionName versionName “1.01” User-friendly version number compile compile 'com.google.code.gson:gson:2.4' Add a Maven dependency compile files('libs/coollection- 0.2.0.jar') Add a jar dependency