SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
Introducing Android




                             Cory Maksymchuk
                cory.maksymchuk@protegra.com
                   cory.maksymchuk@gmail.com
Today


•   Java is dead?
•   What is Android and why was it made?
•   Open?
•   Money?
•   Overview of android architecture
•   Sample Application
Java is Dead
Android
Worldwide Smart Phone Market share

•   2009 – 3.9%
•   2010 – 23%
•   2011 – 38%
•   2012 – 49%
•   3 years = 500 million smart phones running Android
Why Java?


•   Mature Language
•   Massive open source community
•   Excellent tools/IDEs
•   Large, slow bloated Virtual Machine
    - Dalvik = Small, fast optimized Virtual Machine


• All benefits, no disadvantages
    - Except?
What is Android?
How was growth achieved?

•   Operating system, built on Linux
•   Compiler, debugger, emulator, VM
•   Open sourced code under Apache 2 license
•   Open Handset Alliance – 84’ish Companies
    -   Why?
    -   Open standards to allow it to grow
    -   Ability to compete – Apple, Symbian/Nokia, RIM, Microsoft
    -   Google = Smart
• Android vs. iPhone?
Open?


• Yes… but No…
• Open
   - A license that insures the code can be modified, reused and
     distributed
   - A community development approach
   - Assurance the users have total freedom over the device and
     software.
• Google has achieved ½ of openness – Legally Open
  Source
• Is their ‘community development approach’ any different
  than Apple or RIM?
Money?


• What kind of a company is Google?
• How do they make money?
• Android simply makes them better at doing what they’ve
  always done best.
3 Things


• Activities = Screens



• Views/Widgets = Components



• Intents = Messages - used for navigation (among other
  things)
Activities = Screens


• Screens have lifecycles on Mobile devices
   -   onCreate() — Activity is first created
   -   onStart() — Becomes visible
   -   onResume() — Interacting with the user
   -   onPause() — Current activity-> another activity resumed
   -   onStop() — No longer visible to the user
   -   onDestroy() — Before the activity is destroyed
   -   onRestart() — Restarting again
Views


• Basic building block for UI components

                                  Layout




                Widget           ViewGroup




                          View
Views – Cont’d


• To add views to a screen/activity, create hierarchy of
  views, then call setViewGroup(…) in the activity.
• Layout may contain layout and buttons, text fields, radio
  buttons, etc.
Intents = Messages


• Main communication mechanism in Android

1) Used to call other apps or screens – This is us!
2) Send a message to someone who is listening
  -   Low battery
  -   Time zone change
3) Start a service
  -   Download a file
  -   Start/Check the status of a process
Intents/Messages
What do they contain?

• Component name – Unique identifier of component
   - This is an explicit intent
• Activity
   -   ACTION_CALL
   -   ACTION_EDIT
   -   ACTION_SYNC
   -   ACTION_VIEW
• Data
   - URI and MIME type (http://www.protegra.com)
• Category
   - Logical Grouping of activities
• Extras
   - Key/Value pairs
Intent Filters – Intent Resolution


•   Data


•   <intent-filter . . . >
       <action android:name="com.example.project.SHOW_CURRENT" />
       <action android:name="com.example.project.SHOW_RECENT" />
       ...
       <category android:name="android.intent.category.DEFAULT" />
       <category android:name="android.intent.category.BROWSABLE" />
       ...
     <data android:mimeType="video/mpeg" android:scheme="http" . . . />
      <data android:mimeType="audio/mpeg" android:scheme="http" . . . />
    </intent-filter>
Summary


• Screens = Activities
• Screens have components (Views) to manage layouts
  as well as widgets, etc.
• Activities call other Activities, invoke services and send
  messages using Intents
Code

Mais conteúdo relacionado

Semelhante a C maksymchuk android

Android_Workshop
Android_WorkshopAndroid_Workshop
Android_Workshop
Senthil ACS
 
Google Developer Group(GDG) DevFest Event 2012 Android talk
Google Developer Group(GDG) DevFest Event 2012 Android talkGoogle Developer Group(GDG) DevFest Event 2012 Android talk
Google Developer Group(GDG) DevFest Event 2012 Android talk
Imam Raza
 
Matteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break editionMatteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break edition
DuckMa
 

Semelhante a C maksymchuk android (20)

Android development first steps
Android development   first stepsAndroid development   first steps
Android development first steps
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
 
Android_Workshop
Android_WorkshopAndroid_Workshop
Android_Workshop
 
Dori waldman android _course_2
Dori waldman android _course_2Dori waldman android _course_2
Dori waldman android _course_2
 
Unit I- ANDROID OVERVIEW.ppt
Unit I- ANDROID OVERVIEW.pptUnit I- ANDROID OVERVIEW.ppt
Unit I- ANDROID OVERVIEW.ppt
 
Dori waldman android _course
Dori waldman android _courseDori waldman android _course
Dori waldman android _course
 
Eca online-seminar-session-1.pptx
Eca online-seminar-session-1.pptxEca online-seminar-session-1.pptx
Eca online-seminar-session-1.pptx
 
Android_ver_01
Android_ver_01Android_ver_01
Android_ver_01
 
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
 
OS in mobile devices [Android]
OS in mobile devices [Android]OS in mobile devices [Android]
OS in mobile devices [Android]
 
Android
AndroidAndroid
Android
 
Google Developer Group(GDG) DevFest Event 2012 Android talk
Google Developer Group(GDG) DevFest Event 2012 Android talkGoogle Developer Group(GDG) DevFest Event 2012 Android talk
Google Developer Group(GDG) DevFest Event 2012 Android talk
 
Android Jumpstart Jfokus
Android Jumpstart JfokusAndroid Jumpstart Jfokus
Android Jumpstart Jfokus
 
Matteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break editionMatteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break edition
 
Basics of Android
Basics of Android Basics of Android
Basics of Android
 
Android Mobile App Development basics PPT
Android Mobile App Development basics PPTAndroid Mobile App Development basics PPT
Android Mobile App Development basics PPT
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Introduction to Android Development and Security
Introduction to Android Development and SecurityIntroduction to Android Development and Security
Introduction to Android Development and Security
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application Development
 

Mais de sdeconf

Mais de sdeconf (20)

S rogalsky user-storymapping
S rogalsky user-storymappingS rogalsky user-storymapping
S rogalsky user-storymapping
 
Sdec 2011 ux_agile_svt
Sdec 2011 ux_agile_svtSdec 2011 ux_agile_svt
Sdec 2011 ux_agile_svt
 
Sdec 2011 ask_watchlisten_svt
Sdec 2011 ask_watchlisten_svtSdec 2011 ask_watchlisten_svt
Sdec 2011 ask_watchlisten_svt
 
S bueckert sdecmobile
S bueckert sdecmobileS bueckert sdecmobile
S bueckert sdecmobile
 
Ro r trilogy-part-1
Ro r trilogy-part-1Ro r trilogy-part-1
Ro r trilogy-part-1
 
Rackforce the cloud
Rackforce the cloudRackforce the cloud
Rackforce the cloud
 
Pscad agile adoption
Pscad agile adoptionPscad agile adoption
Pscad agile adoption
 
L phillips apm
L phillips apmL phillips apm
L phillips apm
 
J wagner security
J wagner securityJ wagner security
J wagner security
 
G meredith scala
G meredith scalaG meredith scala
G meredith scala
 
Friesens agile adoption
Friesens agile adoptionFriesens agile adoption
Friesens agile adoption
 
Dan perron lim
Dan perron limDan perron lim
Dan perron lim
 
D alpert ux102
D alpert ux102D alpert ux102
D alpert ux102
 
Sdec11.agile ina day
Sdec11.agile ina daySdec11.agile ina day
Sdec11.agile ina day
 
D alpert ux101
D alpert ux101D alpert ux101
D alpert ux101
 
C fowler intro-azure
C fowler intro-azureC fowler intro-azure
C fowler intro-azure
 
C fowler azure-dojo
C fowler azure-dojoC fowler azure-dojo
C fowler azure-dojo
 
Booked in agileadoption
Booked in agileadoptionBooked in agileadoption
Booked in agileadoption
 
A baryklo design-patterns
A baryklo design-patternsA baryklo design-patterns
A baryklo design-patterns
 
T bunio active-architecture
T bunio active-architectureT bunio active-architecture
T bunio active-architecture
 

Último

Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
UK Journal
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 

Último (20)

AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 

C maksymchuk android

  • 1. Introducing Android Cory Maksymchuk cory.maksymchuk@protegra.com cory.maksymchuk@gmail.com
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. Today • Java is dead? • What is Android and why was it made? • Open? • Money? • Overview of android architecture • Sample Application
  • 10. Android Worldwide Smart Phone Market share • 2009 – 3.9% • 2010 – 23% • 2011 – 38% • 2012 – 49% • 3 years = 500 million smart phones running Android
  • 11. Why Java? • Mature Language • Massive open source community • Excellent tools/IDEs • Large, slow bloated Virtual Machine - Dalvik = Small, fast optimized Virtual Machine • All benefits, no disadvantages - Except?
  • 12. What is Android? How was growth achieved? • Operating system, built on Linux • Compiler, debugger, emulator, VM • Open sourced code under Apache 2 license • Open Handset Alliance – 84’ish Companies - Why? - Open standards to allow it to grow - Ability to compete – Apple, Symbian/Nokia, RIM, Microsoft - Google = Smart • Android vs. iPhone?
  • 13. Open? • Yes… but No… • Open - A license that insures the code can be modified, reused and distributed - A community development approach - Assurance the users have total freedom over the device and software. • Google has achieved ½ of openness – Legally Open Source • Is their ‘community development approach’ any different than Apple or RIM?
  • 14. Money? • What kind of a company is Google? • How do they make money? • Android simply makes them better at doing what they’ve always done best.
  • 15.
  • 16. 3 Things • Activities = Screens • Views/Widgets = Components • Intents = Messages - used for navigation (among other things)
  • 17. Activities = Screens • Screens have lifecycles on Mobile devices - onCreate() — Activity is first created - onStart() — Becomes visible - onResume() — Interacting with the user - onPause() — Current activity-> another activity resumed - onStop() — No longer visible to the user - onDestroy() — Before the activity is destroyed - onRestart() — Restarting again
  • 18.
  • 19. Views • Basic building block for UI components Layout Widget ViewGroup View
  • 20. Views – Cont’d • To add views to a screen/activity, create hierarchy of views, then call setViewGroup(…) in the activity. • Layout may contain layout and buttons, text fields, radio buttons, etc.
  • 21. Intents = Messages • Main communication mechanism in Android 1) Used to call other apps or screens – This is us! 2) Send a message to someone who is listening - Low battery - Time zone change 3) Start a service - Download a file - Start/Check the status of a process
  • 22. Intents/Messages What do they contain? • Component name – Unique identifier of component - This is an explicit intent • Activity - ACTION_CALL - ACTION_EDIT - ACTION_SYNC - ACTION_VIEW • Data - URI and MIME type (http://www.protegra.com) • Category - Logical Grouping of activities • Extras - Key/Value pairs
  • 23. Intent Filters – Intent Resolution • Data • <intent-filter . . . > <action android:name="com.example.project.SHOW_CURRENT" /> <action android:name="com.example.project.SHOW_RECENT" /> ... <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> ... <data android:mimeType="video/mpeg" android:scheme="http" . . . /> <data android:mimeType="audio/mpeg" android:scheme="http" . . . /> </intent-filter>
  • 24. Summary • Screens = Activities • Screens have components (Views) to manage layouts as well as widgets, etc. • Activities call other Activities, invoke services and send messages using Intents
  • 25. Code