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

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
AbdullahMunir32
 

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

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
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

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...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
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
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 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.