SlideShare a Scribd company logo
1 of 14
Developing for Android a quick introduction by Alex Novac   Zitec CTO & Founding Partner
INDEX ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Concerns Regarding Mobile Platforms ,[object Object],[object Object],[object Object],[object Object]
Developing Applications for Android ,[object Object],[object Object],[object Object],[object Object]
The Structure of an Android app ,[object Object],[object Object],[object Object],[object Object]
Activities ,[object Object]
Life cycle of Activities ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Activities ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Multitasking in Android ,[object Object],[object Object],[object Object],[object Object]
Inter-application communication ,[object Object],[object Object],[object Object]
Services ,[object Object],[object Object],[object Object],[object Object]
Notification system ,[object Object]
Final notes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Questions and Answers ,[object Object],@acidtrix  @zitec @sharoider www.zitec.com www.sharoid.com http://bit.ly/dy4040

More Related Content

Similar to ESW #1 - Developing For Android

Java For Mobile Devices – Building a client application for the Android platform
Java For Mobile Devices – Building a client application for the Android platformJava For Mobile Devices – Building a client application for the Android platform
Java For Mobile Devices – Building a client application for the Android platformIndicThreads
 
Java For Mobile Devices – Building a client application for the Android platform
Java For Mobile Devices – Building a client application for the Android platformJava For Mobile Devices – Building a client application for the Android platform
Java For Mobile Devices – Building a client application for the Android platformIndicThreads
 
Basic android workshop
Basic android workshopBasic android workshop
Basic android workshopThagatpam Tech
 
Gradle for Android Developers
Gradle for Android DevelopersGradle for Android Developers
Gradle for Android DevelopersJosiah Renaudin
 
Mobile Application Development -Lecture 09 & 10.pdf
Mobile Application Development -Lecture 09 & 10.pdfMobile Application Development -Lecture 09 & 10.pdf
Mobile Application Development -Lecture 09 & 10.pdfAbdullahMunir32
 
Android 101 Session @thejunction32
Android 101 Session @thejunction32Android 101 Session @thejunction32
Android 101 Session @thejunction32Eden Shochat
 
Beginning Native Android Apps
Beginning Native Android AppsBeginning Native Android Apps
Beginning Native Android AppsGil Irizarry
 
Android Programming made easy
Android Programming made easyAndroid Programming made easy
Android Programming made easyLars Vogel
 
Android Workshop
Android WorkshopAndroid Workshop
Android WorkshopJunda Ong
 
Android terminologies
Android terminologiesAndroid terminologies
Android terminologiesjerry vasoya
 

Similar to ESW #1 - Developing For Android (20)

Android101
Android101Android101
Android101
 
Android TCJUG
Android TCJUGAndroid TCJUG
Android TCJUG
 
Android Development Basics
Android Development BasicsAndroid Development Basics
Android Development Basics
 
Java For Mobile Devices – Building a client application for the Android platform
Java For Mobile Devices – Building a client application for the Android platformJava For Mobile Devices – Building a client application for the Android platform
Java For Mobile Devices – Building a client application for the Android platform
 
Java For Mobile Devices – Building a client application for the Android platform
Java For Mobile Devices – Building a client application for the Android platformJava For Mobile Devices – Building a client application for the Android platform
Java For Mobile Devices – Building a client application for the Android platform
 
Android
AndroidAndroid
Android
 
Basic android workshop
Basic android workshopBasic android workshop
Basic android workshop
 
Gradle for Android Developers
Gradle for Android DevelopersGradle for Android Developers
Gradle for Android Developers
 
PPT Companion to Android
PPT Companion to AndroidPPT Companion to Android
PPT Companion to Android
 
Stmik bandung
Stmik bandungStmik bandung
Stmik bandung
 
Mobile Application Development -Lecture 09 & 10.pdf
Mobile Application Development -Lecture 09 & 10.pdfMobile Application Development -Lecture 09 & 10.pdf
Mobile Application Development -Lecture 09 & 10.pdf
 
Android 101 Session @thejunction32
Android 101 Session @thejunction32Android 101 Session @thejunction32
Android 101 Session @thejunction32
 
Beginning Native Android Apps
Beginning Native Android AppsBeginning Native Android Apps
Beginning Native Android Apps
 
Unit2
Unit2Unit2
Unit2
 
Android_ver_01
Android_ver_01Android_ver_01
Android_ver_01
 
Android Programming made easy
Android Programming made easyAndroid Programming made easy
Android Programming made easy
 
Android best practices
Android best practicesAndroid best practices
Android best practices
 
Android
AndroidAndroid
Android
 
Android Workshop
Android WorkshopAndroid Workshop
Android Workshop
 
Android terminologies
Android terminologiesAndroid terminologies
Android terminologies
 

Recently uploaded

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
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
 

Recently uploaded (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 

ESW #1 - Developing For Android

  • 1. Developing for Android a quick introduction by Alex Novac   Zitec CTO & Founding Partner
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.

Editor's Notes

  1. Battery Usage: various coding techniques can be used to minimize power consumption (like using reverse for loops) CPU Performance: various devices have different CPUs and the app should run smoothly on any off them. Device features: make sure the device you are running on has the feature you request. It is possible to run an Android app on a device that does not have a mobile connection or a phone book (think Tablet) Internet Connection: the type of the internet connection is important. Some data might be nice to display but uses a lot of bandwitdh (like pictures) and you can improve the user experience by detecting if they are on a fast and cheap (aka wifi) connection or on a high latency (aka mobile) connection.
  2. Android uses JAVA as a base programming language, but C++ can be used, although it is not supported and there are not many resources available for this. Google provides a very good Eclipse plugin that helps/automates a lot off the tasks involved in development. The Android Development Toolkit includes debugger and emulators for all Android OS versions plus other tools that help in development. http://developer.android.com is the main resource for tutorials, help and references. 
  3. Activities - provide interaction with the user. They are the windows of a desktop application or the webpages of a web application. Services - provide background processing. Services are equivalent to Linux daemons, Windows services or server-side cronjobs/processes. Broadcast receivers - provide a way for the OS or applications to inform other applications of various events that occur (eg. charging, docking, battery status, various user actions etc.) Content providers - create an uniform interface between applications to communicate public informations. Examples are the phone-book or the Messaging (SMS)
  4. Activities have a life cycle that is important. Any activity can be killed by the system if it is running low on resources. The main method of inter-activities communication is the Intent object. The Intent object is the main method of communication between any Android objects.
  5. the various states an activity may find itself in and the diagram of how it moves from one state to another. It is important to note that unless an activity is in the foreground its chance of being destroyed is pretty big.
  6. onCreate is the main entry point of an Activity. Here you can do initialization of various Views contained in the Activity. onCreateOptionsMenu is responsible for returning the menu items to be used when the user presses (touches) the default Menu button on the device. onOptionsItemSelected getss called when a user has selected one off the menu options. There are methods in the Activity class that are called when the activity switches between its states (foreground, background etc)
  7. not a smooth ride - switching between processes is not exactly like on a desktop computer . use home button and the app might be running or might get started again. bkg procs can be killed - if the OS is low on resources it will start killing background processes Services - no UI, functional only pieces of code intent-filter - a method of getting notified of various events. the OS will create a process and call it's BroadcastReceiver handlers if an event it has registered for occurs.
  8. any activity in one application can call another exported activity from another application and read it's return code when that exits.  the new activity performs as if part of the first application but it runs on a separate process (flags are used for changing behavior) the return code can be a complex structures that incorporates whatever data the called activity wants to return to its caller
  9. background processing - communication with servers time-consuming operations - parsing large amounts of data monitoring - checking various parameters at fixed time intervals. media playback - locally stored or streamed music playback
  10. Notifications are a way for background processes to communicate with the user. They consist of an icon on the top bar of the device's UI and a message when the Notification screen is expanded. Clicking on a notification can trigger an application set action like starting an activity or executing a service command. BroadcastReceivers and Services cannot start activities but can pop-up notifications. They can populate a PendingIntent which is the Intent that they would like to be executed on their behalf.
  11. do a lot of checks - things are more volatile in the mobile platform workflow - understand the steps that an activity or service moves trough settings manager - android has a default settings manager that handles setting everything for you coding guides - there are both design and coding guides that offer a lot of hints for beginners don't bloat your app - it's a mobile application and it should do one thing and do it well stay up to date- android is an emerging platform, things change a lot and ppl find out new ways of developing every day.