SlideShare a Scribd company logo
Introduction to Android
Development
By Kainda K. Daka
What is Android?
 Android is an open source and Linux-based operating system for mobile
devices such as smartphones and tablet computers. Android was developed by
the Open Handset Alliance, led by Google, and other companies.
 It is not just another operating system for high-end mobile phones….
 It is a software platform, rather than just an OS, that has the potential to be
utilized in a much wider range of devices.
 Android is an application framework on top of Linux, which facilitates its
rapid deployment in many domains.
History
 October 2003 - Android Inc. founded by Andy Rubin, Rich Miner, Nick Sears and
Chris White
 August 2005 - Google acquired Android Inc.
 November 2007 - Open Handset Alliance (OHA) formed
 September 2008 - Android 1.0 released
 April 2009 – Android 1.5 (Cup Cake)
 October 2006 - Android 2.0 (Eclair)
 May 2010 – Android 2.2 (Froyo)
 Dec 2010 – Android 2.3 (Gingerbread)
 Feb 2011 – Android 3.0 (HoneyComb)
 October 2011 – Android 4.0 (Ice Cream Sandwich)
 July 2012 – Android 4.1, 4.2 (Jelly Bean) to date
Android Architecture
Features
 Application framework - enabling reuse and replacement of components
 Dalvik virtual machine - optimized for mobile devices
 Integrated browser - based on the open source WebKit engine
 Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the
OpenGL ES 1.0 specification (hardware acceleration optional)
 SQLite for structured data storage
 Media support for common audio, video, and still image formats
(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
 GSM Telephony (hardware dependent)
 Bluetooth, EDGE, 3G, and WiFi (hardware dependent)
 Camera, GPS, compass, and accelerometer (hardware dependent)
 Rich development environment including a device emulator, tools for debugging, memory
and performance profiling, and a plugin for the Eclipse IDE
Dalvik Virtual Machine
 This is not strictly a Java virtual machine.
 It was designed specifically for Android and is optimized in two key ways.
 Designed to be instantiated multiple times – each application has its own private
copy running in a Linux process.
 Also designed to be very memory efficient, being register based (instead of being
stack based like most Java VMs) and using its own bytecode implementation.
 The Dalvik VM makes full use of Linux for memory management and multi-
threading, which is intrinsic in the Java language.
 Android applications are commonly implemented in Java utilizing the Dalvik
VM.
 Accommodates interoperability which results in application portability, e.g.
the message sending capability of the SMS application can be used by another
application to send text messages.
Android distribution channels…
 The main distribution channel is Google Play (previously called Android
Market),
 App Geyser - Alternative free distribution channel
 Lots of other third party sites that offer direct download of the android APK.
 Apktop.com
Development Environment
 Full Java IDEs - Eclipse, IntelliJ, Netbeans and recently Android Studio
 Plugins and a download of the Google Android SDK are required for all the
above IDEs except for Android Studio which comes in-built.
 Graphical UI Builders - IDEs also provide GUI Builder for drag and drop
functionality
 Develop on Virtual Devices - You can specify your target configuration by
specifying an Android Virtual Device (AVD) during development
 Develop on Hardware Devices – Execute code on either the host-based
emulator or a real device, which is normally connected via USB.
 Powerful Debugging - Full Java debugger with on-device debugging and
Android-specific tools.
Programming Model
 An Android application consists of a number of resources which are bundled
into an archive – an Android package.
 Programs are generally written in Java, built using the standard Java
tools, and then the output file is processed to generate specific code for the
Dalvik VM.
 An application is a set of components which are instantiated and run as
required. There is not really an entry point or main() function.
 There are four types of application component: activities, services, broadcast
receivers, and content providers
An Activity…
 A functional unit of the application, which may be invoked by another
activity.
 It has a user interface of some form.
 An application may incorporate a number of activities.
 One activity may be nominated as the default which means that it may be
directly executed by the user.
A Service…
 Similar to an activity, except that it runs in the background
 Runs without a UI.
 An example of a service might be a media player that plays music while the
user performs other tasks.
Broadcast Receivers…
 Responds to a broadcast messages from other applications or from the
system.
 For example, it may be useful for the application to know when a picture has
been taken. This is the kind of event that may result in a broadcast message.
Content Provider
 Supplies data from one application to others on request.
 Requests are handled by the methods of the ContentResolver class.
 The data may be stored in the file system, the database or somewhere else
entirely.
Android Application Lifecycle
Application Lifecycle details…
 Resumed – The activity is in the foreground and the user can interact with it.
(Also sometimes referred to as the "running" state.)
 Paused – The activity is partially obscured by another activity—the other
activity that's in the foreground is semi-transparent or doesn't cover the
entire screen. It does not receive user input and cannot execute any code.
 Stopped - The activity is completely hidden and not visible to the user; it is
considered to be in the background. While stopped, the activity instance and
all its state information such as member variables is retained, but it cannot
execute any code.
 The other states (Created and Started) are transient and the system quickly
moves from them to the next state by calling the next lifecycle callback
method. That is, after the system calls onCreate(), it quickly calls
onStart(), which is quickly followed by onResume().
Physical Project Structure in Eclipse
Physical Project Structure in Eclipse…
 /SRC
 The src folder contains the Java source code files of your application organized
into packages
 /GEN
 Automatically generated files by the ADT. Here the R.java file contains
reference/index to all the resources in the res we use in our program.
 /ASSETS
 The assets folder is used to store raw asset files. You can keep any raw data in the
assets folder and there’s an asset manager in Android to read the data stored in
the folder. The raw data can be anything such as audio, video, images etc.
Physical Project Structure in Eclipse…
 /BIN
 /bin folder is where our compiled application files go. When we successfully
compile an application, this folder will contain java class files, dex files which are
executable under Dalvik virtual machine, apk archives etc.
 /RES
 /res folder is where we store all our external resources for our applications such as
images, layout XML files, strings, animations, audio files etc.
 /res/drawable - This folder contains the bitmap file to be used in the program
 /res/layout - XML files that defines the User Interface goes in this folder.
 /res/values - XML files that define simple values such as
strings, arrays, integers, dimensions, colors, styles etc. are placed in this folder.
 /res/menu - XML files that define menus in your application goes in this folder
AndroidManifest.xml
 One of the most important file in the Android project structure. It contains all
the information about your application.
 When an application is launched, the first file the system seeks is the
AndroidManifest.xml file. It actually works as a road map of your
application, for the system
 The Android Manifest file contains information about:
 Components of your application such as Activities, services etc.
 User permissions required
 Minimum level of Android API required
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest . . . >
<application . . . >
<activity android:name="co.za.momentum.ibrs.MyActivity" ... >
</activity>
. . .
</application>
</manifest>
AndroidManifest.xml
<application . . . >
<activity android:name="com.example.project.MyActivity" ... >
<intent-filter . . . >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
. . .
</application>
Demo and Question and Answers
Ad

More Related Content

What's hot (20)

Basic android-ppt
Basic android-pptBasic android-ppt
Basic android-ppt
Srijib Roy
 
Arduino - Android Workshop Presentation
Arduino - Android Workshop PresentationArduino - Android Workshop Presentation
Arduino - Android Workshop Presentation
Hem Shrestha
 
Android App Development Intro at ESC SV 2012
Android App Development Intro at ESC SV 2012Android App Development Intro at ESC SV 2012
Android App Development Intro at ESC SV 2012
Opersys inc.
 
Get an Android tutorial for beginners
Get an Android tutorial for beginnersGet an Android tutorial for beginners
Get an Android tutorial for beginners
JavaTpoint.Com
 
Android Programming
Android ProgrammingAndroid Programming
Android Programming
Pasi Manninen
 
PPT Companion to Android
PPT Companion to AndroidPPT Companion to Android
PPT Companion to Android
Dharani Kumar Madduri
 
Intro To Android App Development
Intro To Android App DevelopmentIntro To Android App Development
Intro To Android App Development
Mike Kvintus
 
Android - From Zero to Hero @ DEVit 2017
Android - From Zero to Hero @ DEVit 2017Android - From Zero to Hero @ DEVit 2017
Android - From Zero to Hero @ DEVit 2017
Ivo Neskovic
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
master760
 
Android development tutorial
Android development tutorialAndroid development tutorial
Android development tutorial
nazzf
 
Android terminologies
Android terminologiesAndroid terminologies
Android terminologies
jerry vasoya
 
Android Programming Basics
Android Programming BasicsAndroid Programming Basics
Android Programming Basics
Eueung Mulyana
 
Introduction to Android and Android Studio
Introduction to Android and Android StudioIntroduction to Android and Android Studio
Introduction to Android and Android Studio
Suyash Srijan
 
Android architecture
Android architectureAndroid architecture
Android architecture
Hari Krishna
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application Development
Benny Skogberg
 
Android Programming Seminar
Android Programming SeminarAndroid Programming Seminar
Android Programming Seminar
Nhat Nguyen
 
Android development basics
Android development basicsAndroid development basics
Android development basics
Pramesh Gautam
 
Android Programming made easy
Android Programming made easyAndroid Programming made easy
Android Programming made easy
Lars Vogel
 
Android development - the basics, MFF UK, 2014
Android development - the basics, MFF UK, 2014Android development - the basics, MFF UK, 2014
Android development - the basics, MFF UK, 2014
Tomáš Kypta
 
Android basics
Android basicsAndroid basics
Android basics
Berglind Ósk Bergsdóttir
 
Basic android-ppt
Basic android-pptBasic android-ppt
Basic android-ppt
Srijib Roy
 
Arduino - Android Workshop Presentation
Arduino - Android Workshop PresentationArduino - Android Workshop Presentation
Arduino - Android Workshop Presentation
Hem Shrestha
 
Android App Development Intro at ESC SV 2012
Android App Development Intro at ESC SV 2012Android App Development Intro at ESC SV 2012
Android App Development Intro at ESC SV 2012
Opersys inc.
 
Get an Android tutorial for beginners
Get an Android tutorial for beginnersGet an Android tutorial for beginners
Get an Android tutorial for beginners
JavaTpoint.Com
 
Intro To Android App Development
Intro To Android App DevelopmentIntro To Android App Development
Intro To Android App Development
Mike Kvintus
 
Android - From Zero to Hero @ DEVit 2017
Android - From Zero to Hero @ DEVit 2017Android - From Zero to Hero @ DEVit 2017
Android - From Zero to Hero @ DEVit 2017
Ivo Neskovic
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
master760
 
Android development tutorial
Android development tutorialAndroid development tutorial
Android development tutorial
nazzf
 
Android terminologies
Android terminologiesAndroid terminologies
Android terminologies
jerry vasoya
 
Android Programming Basics
Android Programming BasicsAndroid Programming Basics
Android Programming Basics
Eueung Mulyana
 
Introduction to Android and Android Studio
Introduction to Android and Android StudioIntroduction to Android and Android Studio
Introduction to Android and Android Studio
Suyash Srijan
 
Android architecture
Android architectureAndroid architecture
Android architecture
Hari Krishna
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application Development
Benny Skogberg
 
Android Programming Seminar
Android Programming SeminarAndroid Programming Seminar
Android Programming Seminar
Nhat Nguyen
 
Android development basics
Android development basicsAndroid development basics
Android development basics
Pramesh Gautam
 
Android Programming made easy
Android Programming made easyAndroid Programming made easy
Android Programming made easy
Lars Vogel
 
Android development - the basics, MFF UK, 2014
Android development - the basics, MFF UK, 2014Android development - the basics, MFF UK, 2014
Android development - the basics, MFF UK, 2014
Tomáš Kypta
 

Similar to Introduction to Android Development Part 1 (20)

introductiontoandroiddevelopment (2).ppt
introductiontoandroiddevelopment (2).pptintroductiontoandroiddevelopment (2).ppt
introductiontoandroiddevelopment (2).ppt
NagarajKalligudd1
 
Google android white paper
Google android white paperGoogle android white paper
Google android white paper
Sravan Reddy
 
Android For Java Developers
Android For Java DevelopersAndroid For Java Developers
Android For Java Developers
Mike Wolfson
 
Android Anatomy
Android  AnatomyAndroid  Anatomy
Android Anatomy
Bhavya Siddappa
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
fantasy zheng
 
Android platform
Android platform Android platform
Android platform
Rashmi Warghade
 
Android 1-intro n architecture
Android 1-intro n architectureAndroid 1-intro n architecture
Android 1-intro n architecture
Dilip Singh
 
First Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting IntroductionFirst Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting Introduction
Cesar Augusto Nogueira
 
OS in mobile devices [Android]
OS in mobile devices [Android]OS in mobile devices [Android]
OS in mobile devices [Android]
Yatharth Aggarwal
 
Android beginners David
Android beginners DavidAndroid beginners David
Android beginners David
Arun David Johnson R
 
mobile application using flutter and android studio
mobile application using flutter and android studiomobile application using flutter and android studio
mobile application using flutter and android studio
abdibedilu2
 
01 what is android
01 what is android01 what is android
01 what is android
C.o. Nieto
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
zeelpatel0504
 
UNIT5newpart1pptx__2024_11_13_09_51_59 (1).pptx
UNIT5newpart1pptx__2024_11_13_09_51_59 (1).pptxUNIT5newpart1pptx__2024_11_13_09_51_59 (1).pptx
UNIT5newpart1pptx__2024_11_13_09_51_59 (1).pptx
LeeroyMugadza
 
Java talks. Android intoduction for develompment
Java talks. Android intoduction for develompmentJava talks. Android intoduction for develompment
Java talks. Android intoduction for develompment
Alexei Miliutin
 
Aptech Apps
Aptech Apps Aptech Apps
Aptech Apps
RasikaShinde6
 
Android development training programme Day 1
Android development training programme Day 1Android development training programme Day 1
Android development training programme Day 1
DHIRAJ PRAVIN
 
Android my
Android myAndroid my
Android my
pratikguptateddy
 
Android My Seminar
Android My SeminarAndroid My Seminar
Android My Seminar
Ganesh Waghmare
 
Android Development
Android DevelopmentAndroid Development
Android Development
mclougm4
 
introductiontoandroiddevelopment (2).ppt
introductiontoandroiddevelopment (2).pptintroductiontoandroiddevelopment (2).ppt
introductiontoandroiddevelopment (2).ppt
NagarajKalligudd1
 
Google android white paper
Google android white paperGoogle android white paper
Google android white paper
Sravan Reddy
 
Android For Java Developers
Android For Java DevelopersAndroid For Java Developers
Android For Java Developers
Mike Wolfson
 
Android 1-intro n architecture
Android 1-intro n architectureAndroid 1-intro n architecture
Android 1-intro n architecture
Dilip Singh
 
First Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting IntroductionFirst Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting Introduction
Cesar Augusto Nogueira
 
OS in mobile devices [Android]
OS in mobile devices [Android]OS in mobile devices [Android]
OS in mobile devices [Android]
Yatharth Aggarwal
 
mobile application using flutter and android studio
mobile application using flutter and android studiomobile application using flutter and android studio
mobile application using flutter and android studio
abdibedilu2
 
01 what is android
01 what is android01 what is android
01 what is android
C.o. Nieto
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
zeelpatel0504
 
UNIT5newpart1pptx__2024_11_13_09_51_59 (1).pptx
UNIT5newpart1pptx__2024_11_13_09_51_59 (1).pptxUNIT5newpart1pptx__2024_11_13_09_51_59 (1).pptx
UNIT5newpart1pptx__2024_11_13_09_51_59 (1).pptx
LeeroyMugadza
 
Java talks. Android intoduction for develompment
Java talks. Android intoduction for develompmentJava talks. Android intoduction for develompment
Java talks. Android intoduction for develompment
Alexei Miliutin
 
Android development training programme Day 1
Android development training programme Day 1Android development training programme Day 1
Android development training programme Day 1
DHIRAJ PRAVIN
 
Android Development
Android DevelopmentAndroid Development
Android Development
mclougm4
 
Ad

Recently uploaded (20)

Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Ad

Introduction to Android Development Part 1

  • 2. What is Android?  Android is an open source and Linux-based operating system for mobile devices such as smartphones and tablet computers. Android was developed by the Open Handset Alliance, led by Google, and other companies.  It is not just another operating system for high-end mobile phones….  It is a software platform, rather than just an OS, that has the potential to be utilized in a much wider range of devices.  Android is an application framework on top of Linux, which facilitates its rapid deployment in many domains.
  • 3. History  October 2003 - Android Inc. founded by Andy Rubin, Rich Miner, Nick Sears and Chris White  August 2005 - Google acquired Android Inc.  November 2007 - Open Handset Alliance (OHA) formed  September 2008 - Android 1.0 released  April 2009 – Android 1.5 (Cup Cake)  October 2006 - Android 2.0 (Eclair)  May 2010 – Android 2.2 (Froyo)  Dec 2010 – Android 2.3 (Gingerbread)  Feb 2011 – Android 3.0 (HoneyComb)  October 2011 – Android 4.0 (Ice Cream Sandwich)  July 2012 – Android 4.1, 4.2 (Jelly Bean) to date
  • 5. Features  Application framework - enabling reuse and replacement of components  Dalvik virtual machine - optimized for mobile devices  Integrated browser - based on the open source WebKit engine  Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)  SQLite for structured data storage  Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)  GSM Telephony (hardware dependent)  Bluetooth, EDGE, 3G, and WiFi (hardware dependent)  Camera, GPS, compass, and accelerometer (hardware dependent)  Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE
  • 6. Dalvik Virtual Machine  This is not strictly a Java virtual machine.  It was designed specifically for Android and is optimized in two key ways.  Designed to be instantiated multiple times – each application has its own private copy running in a Linux process.  Also designed to be very memory efficient, being register based (instead of being stack based like most Java VMs) and using its own bytecode implementation.  The Dalvik VM makes full use of Linux for memory management and multi- threading, which is intrinsic in the Java language.  Android applications are commonly implemented in Java utilizing the Dalvik VM.  Accommodates interoperability which results in application portability, e.g. the message sending capability of the SMS application can be used by another application to send text messages.
  • 7. Android distribution channels…  The main distribution channel is Google Play (previously called Android Market),  App Geyser - Alternative free distribution channel  Lots of other third party sites that offer direct download of the android APK.  Apktop.com
  • 8. Development Environment  Full Java IDEs - Eclipse, IntelliJ, Netbeans and recently Android Studio  Plugins and a download of the Google Android SDK are required for all the above IDEs except for Android Studio which comes in-built.  Graphical UI Builders - IDEs also provide GUI Builder for drag and drop functionality  Develop on Virtual Devices - You can specify your target configuration by specifying an Android Virtual Device (AVD) during development  Develop on Hardware Devices – Execute code on either the host-based emulator or a real device, which is normally connected via USB.  Powerful Debugging - Full Java debugger with on-device debugging and Android-specific tools.
  • 9. Programming Model  An Android application consists of a number of resources which are bundled into an archive – an Android package.  Programs are generally written in Java, built using the standard Java tools, and then the output file is processed to generate specific code for the Dalvik VM.  An application is a set of components which are instantiated and run as required. There is not really an entry point or main() function.  There are four types of application component: activities, services, broadcast receivers, and content providers
  • 10. An Activity…  A functional unit of the application, which may be invoked by another activity.  It has a user interface of some form.  An application may incorporate a number of activities.  One activity may be nominated as the default which means that it may be directly executed by the user.
  • 11. A Service…  Similar to an activity, except that it runs in the background  Runs without a UI.  An example of a service might be a media player that plays music while the user performs other tasks.
  • 12. Broadcast Receivers…  Responds to a broadcast messages from other applications or from the system.  For example, it may be useful for the application to know when a picture has been taken. This is the kind of event that may result in a broadcast message.
  • 13. Content Provider  Supplies data from one application to others on request.  Requests are handled by the methods of the ContentResolver class.  The data may be stored in the file system, the database or somewhere else entirely.
  • 15. Application Lifecycle details…  Resumed – The activity is in the foreground and the user can interact with it. (Also sometimes referred to as the "running" state.)  Paused – The activity is partially obscured by another activity—the other activity that's in the foreground is semi-transparent or doesn't cover the entire screen. It does not receive user input and cannot execute any code.  Stopped - The activity is completely hidden and not visible to the user; it is considered to be in the background. While stopped, the activity instance and all its state information such as member variables is retained, but it cannot execute any code.  The other states (Created and Started) are transient and the system quickly moves from them to the next state by calling the next lifecycle callback method. That is, after the system calls onCreate(), it quickly calls onStart(), which is quickly followed by onResume().
  • 17. Physical Project Structure in Eclipse…  /SRC  The src folder contains the Java source code files of your application organized into packages  /GEN  Automatically generated files by the ADT. Here the R.java file contains reference/index to all the resources in the res we use in our program.  /ASSETS  The assets folder is used to store raw asset files. You can keep any raw data in the assets folder and there’s an asset manager in Android to read the data stored in the folder. The raw data can be anything such as audio, video, images etc.
  • 18. Physical Project Structure in Eclipse…  /BIN  /bin folder is where our compiled application files go. When we successfully compile an application, this folder will contain java class files, dex files which are executable under Dalvik virtual machine, apk archives etc.  /RES  /res folder is where we store all our external resources for our applications such as images, layout XML files, strings, animations, audio files etc.  /res/drawable - This folder contains the bitmap file to be used in the program  /res/layout - XML files that defines the User Interface goes in this folder.  /res/values - XML files that define simple values such as strings, arrays, integers, dimensions, colors, styles etc. are placed in this folder.  /res/menu - XML files that define menus in your application goes in this folder
  • 19. AndroidManifest.xml  One of the most important file in the Android project structure. It contains all the information about your application.  When an application is launched, the first file the system seeks is the AndroidManifest.xml file. It actually works as a road map of your application, for the system  The Android Manifest file contains information about:  Components of your application such as Activities, services etc.  User permissions required  Minimum level of Android API required
  • 20. AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest . . . > <application . . . > <activity android:name="co.za.momentum.ibrs.MyActivity" ... > </activity> . . . </application> </manifest>
  • 21. AndroidManifest.xml <application . . . > <activity android:name="com.example.project.MyActivity" ... > <intent-filter . . . > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> . . . </application>
  • 22. Demo and Question and Answers