SlideShare a Scribd company logo
Android Training
Session - 1
Presented By: A.T.M. Hassan Uzzaman
Agendas
• Introduction to Android
• Application Structure
• Layouts & Drawable Resources
• Activities and Activity lifecycle
• First sample Application
• Launching emulator
Introduction
 A Linux based Operating System designed primarily for touch
screen mobile devices
 Initially developed by Android Inc
 and later purchased by Google in 2005
 The first Android powered device was sold in Oct 2008
 Android is Open Source and Google releases code under Apache2
license
 Google Play Store
Brief History – Android
2009
 SDK 1.5 (Cupcake)
 New soft keyboard with “autocomplete” feature
 SDK 1.6 (Donut)
 Support Wide VGA
 SDK 2.0/2.0.1/2.1 (Eclair)
 Revamped UI, browser
2010
 SDK 2.2 (Froyo)
 Flash support, tethering
 SDK 2.3 (Gingerbread)
 UI update, system-wide copy-paste
5
2011
– SDK 3.0/3.1/3.2 (Honeycomb) for tablets only
New UI for tablets, support multi-core processors
– SDK 4.0/4.0.1/4.0.2/4.0.3 (Ice Cream Sandwich)
Changes to the UI, Voice input, NFC
2012
 SDK 4.1/4.1.1/4.2(Jelly Bean)
 Performance optimization, refined UI
Honeycomb
Android 3.0-3.2
Ice cream
Sandwich
Android 4.0+
Jelly Bean 4.1+
6
API Level
Platform Version API Level Version Name
Android 4.2 17 Jelly bean
Android 4.1, 4.1.1 16 Jelly bean
Android 4.0.3, 4.0.4 15 Ice cream sandwich
Android 4.0, 4.0.1, 4.0.2 14 Ice cream sandwich
Android 3.2 13 Honey Comb
Android 3.1.x 12 Honey Comb
Android 3.0.x 11 Honey Comb
Android 2.3.4
Android 2.3.3
10 Gingerbread
7
API Level
Platform Version API Level Version Name
Android 2.3.2
Android 2.3.1
Android 2.3
9 Gingerbread
Android 2.2.x 8 Froyo
Android 2.1.x 7 Eclair
Android 2.0.1 6 Eclair
Android 2.0 5 Eclair
Android 1.6 4 Donut
Android 1.5 3 Cupcake
Levels
Activity BackStack
• Main activity calls activity2
Activity 2Push
Operation(
Last in)
Activity 2 is
visible on screen
Main activity
goes in
background
backstack
main
Activity BackStack
• From activity2, user presses back button
Activity 2
Main activity is
visible on screen
and activity 2 is
destroyed
backstack
main
Pop
operation
(First Out)
Java Source Code
Java Byte Code
JVM
Java Byte Code
Dalvik Byte Code
Java
Compiler
Dex
Compiler
Dalvik Executable
DVM
Differences between DVM and JVM
Machine
Property
DVM JVM
Architecture
base
Register Stack
No of
operations
fewer more
File format .dex .class
JVM - Stack Based
POP 20
POP 7
ADD 20, 7, result
PUSH result
DVM - Register Based
Add R3,R1,R2
15
Android Java Consists of
Android Java
=
Java SE - AWT/Swing
+
Android API
APK file format:
 Application package file
 Zip package format based on JAR file format
 Apk holds
 Code(.dex file)
 Resources
 Assets
 Certificates
 Manifest file
Once .apk is installed on a device:
 Own security sandbox
 A unique Linux UserID
 Own Virtual Machine
 Own Linux process
Application Fundamentals
Android Application Components
• Activities: An Activity is an application component that
provides a screen with which users can interact in order to do
something.
• Services: A Service is an application component that can
perform long-running operations in the background and does
not provide a user interface.
• Content Providers: A content provider manages a shared
set of application data.
• Broadcast Receivers: A broadcast receiver is a
component that responds to system-wide broadcast
announcements.
Activity Lifecycle
Configuring
Android Development
Environment
Requirements
JDK 6 (Java Development Kit ) and above
– (JRE alone is not sufficient)
– http://www.oracle.com/technetwork/java/javase/downloads/index.html
Eclipse IDE
– Eclipse + ADT plugin
– Android SDK Tools
– Android Platform-tools
– The latest Android platform
– The latest Android system image for the emulator
• http://developer.android.com/sdk/index.html
Other development environments
• Apache Ant 1.8 or later ( http://ant.apache.org/ )
• Not compatible with Gnu Compiler for Java (gcj)
Note: Some Linux distributions may
Include JDK 1.4 or Gnu Compiler for Java,
both of which are not supported
for Android development.
Adding
Platforms
and
Packages
Figure . The Android SDK Manager shows the
SDK packages that are available, already
installed, or for which an update is available.
Sample Application
Understanding Android Project Structure
• AndroidManifest.xml
– The manifest file describes the fundamental characteristics of the app and
defines each of its components.
• src/
– Directory for your app's main source files. By default, it includes an Activity
class that runs when your app is launched using the app icon.
• res/
– Contains several sub-directories for app resources. Here are just a few:
– drawable-hdpi/
• Directory for drawable objects (such as bitmaps) that are designed for high-
density (hdpi) screens. Other drawable directories contain assets designed for
other screen densities.
– layout/
• Directory for files that define your
app's user interface.
– values/
• Directory for other various XML files that
contain a collection of resources,
such as string and color definitions.
AndroidManifest.xml file
• Every application must have an AndroidManifest.xml file.
• The manifest presents essential information about the
application to the Android system.
• The manifest does the following
– It names the Java package for the application. The package name
serves as a unique identifier for the application.
– It describes the components of the application: The activities,
services, broadcast receivers, and content providers.
– It determines which processes will host application components.
– It also declares the permissions that others are required to have,
in order to interact with the components of the application
– It declares the minimum level of the Android API, that the
application requires.
 The file R.java is an auto-generated file, that is added to your
application, by the Android plug-in.
 This file contains pointers into the drawable, layout, and values
directories.
 You should never modify this file directly. You will be only
referencing R.java in most of your applications.
R.Java
package testPackage.HelloWorldText;
public final class R {
public static final class attr {}
public static final class drawable{
public static final int icon=0x7f020000;
}
public static final class layout {
public static final int main=0x7f030000;
}
public static final class string {
public static final int app_name=0x7f040000;
}
}
R.Java: Content
Resources
 Almost all Android applications will have some sort of
resources in them; at a minimum they often have the
user interface layouts in the form of XML files.
• Android offers one more directory
where you can keep files which also will
be included is package.
This directory called /assets.
•The difference between /res and
/assets is that, Android does not
generate IDs of assets content.
•You need to specify relative path and
name, for files inside /assets.
InputStream is = getAssets().open("text.txt");
Code to Access Assets :
References
www.developer.android.com
www.developer.android.com/sdk/index.html
Questions ?
Thank You.
Ad

More Related Content

What's hot (20)

Android Programming
Android ProgrammingAndroid Programming
Android Programming
Pasi Manninen
 
What’s new in aNdroid [Google I/O Extended Bangkok 2016]
What’s new in aNdroid [Google I/O Extended Bangkok 2016]What’s new in aNdroid [Google I/O Extended Bangkok 2016]
What’s new in aNdroid [Google I/O Extended Bangkok 2016]
Sittiphol Phanvilai
 
Android Development in a Nutshell
Android Development in a NutshellAndroid Development in a Nutshell
Android Development in a Nutshell
Aleix Solé
 
Android
AndroidAndroid
Android
BVP GTUG
 
Android basic principles
Android basic principlesAndroid basic principles
Android basic principles
Henk Laracker
 
Basic of Android App Development
Basic of Android App DevelopmentBasic of Android App Development
Basic of Android App Development
Abhijeet Gupta
 
Android Overview
Android OverviewAndroid Overview
Android Overview
Raju Kadam
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
srinivasansoundar
 
Getting started with android programming
Getting started with android programmingGetting started with android programming
Getting started with android programming
PERKYTORIALS
 
Android Programming Basics
Android Programming BasicsAndroid Programming Basics
Android Programming Basics
Eueung Mulyana
 
Android application development for TresmaxAsia
Android application development for TresmaxAsiaAndroid application development for TresmaxAsia
Android application development for TresmaxAsia
Michael Angelo Rivera
 
Android Presentation
Android PresentationAndroid Presentation
Android Presentation
Bram Vandeputte
 
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 terminologies
Android terminologiesAndroid terminologies
Android terminologies
jerry vasoya
 
Arduino - Android Workshop Presentation
Arduino - Android Workshop PresentationArduino - Android Workshop Presentation
Arduino - Android Workshop Presentation
Hem Shrestha
 
Ramakri
RamakriRamakri
Ramakri
msramakrishna
 
Intro To Android App Development
Intro To Android App DevelopmentIntro To Android App Development
Intro To Android App Development
Mike Kvintus
 
Android Programming Basic
Android Programming BasicAndroid Programming Basic
Android Programming Basic
Duy Do Phan
 
Intro to Android Programming
Intro to Android ProgrammingIntro to Android Programming
Intro to Android Programming
Peter van der Linden
 
PPT Companion to Android
PPT Companion to AndroidPPT Companion to Android
PPT Companion to Android
Dharani Kumar Madduri
 
What’s new in aNdroid [Google I/O Extended Bangkok 2016]
What’s new in aNdroid [Google I/O Extended Bangkok 2016]What’s new in aNdroid [Google I/O Extended Bangkok 2016]
What’s new in aNdroid [Google I/O Extended Bangkok 2016]
Sittiphol Phanvilai
 
Android Development in a Nutshell
Android Development in a NutshellAndroid Development in a Nutshell
Android Development in a Nutshell
Aleix Solé
 
Android basic principles
Android basic principlesAndroid basic principles
Android basic principles
Henk Laracker
 
Basic of Android App Development
Basic of Android App DevelopmentBasic of Android App Development
Basic of Android App Development
Abhijeet Gupta
 
Android Overview
Android OverviewAndroid Overview
Android Overview
Raju Kadam
 
Getting started with android programming
Getting started with android programmingGetting started with android programming
Getting started with android programming
PERKYTORIALS
 
Android Programming Basics
Android Programming BasicsAndroid Programming Basics
Android Programming Basics
Eueung Mulyana
 
Android application development for TresmaxAsia
Android application development for TresmaxAsiaAndroid application development for TresmaxAsia
Android application development for TresmaxAsia
Michael Angelo Rivera
 
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 terminologies
Android terminologiesAndroid terminologies
Android terminologies
jerry vasoya
 
Arduino - Android Workshop Presentation
Arduino - Android Workshop PresentationArduino - Android Workshop Presentation
Arduino - Android Workshop Presentation
Hem Shrestha
 
Intro To Android App Development
Intro To Android App DevelopmentIntro To Android App Development
Intro To Android App Development
Mike Kvintus
 
Android Programming Basic
Android Programming BasicAndroid Programming Basic
Android Programming Basic
Duy Do Phan
 

Similar to Android session-1-sajib (20)

Android development-tutorial
Android development-tutorialAndroid development-tutorial
Android development-tutorial
ilias ahmed
 
Android Anatomy
Android  AnatomyAndroid  Anatomy
Android Anatomy
Bhavya Siddappa
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
zeelpatel0504
 
Andriod
Andriod Andriod
Andriod
Chayan Upadhyay
 
Android For Java Developers
Android For Java DevelopersAndroid For Java Developers
Android For Java Developers
Mike Wolfson
 
Android My Seminar
Android My SeminarAndroid My Seminar
Android My Seminar
Ganesh Waghmare
 
IntroToAndroid
IntroToAndroidIntroToAndroid
IntroToAndroid
Quickoffice Test
 
Introduction to Android Development Part 1
Introduction to Android Development Part 1Introduction to Android Development Part 1
Introduction to Android Development Part 1
Kainda Kiniel Daka
 
Session 2 beccse
Session 2 beccseSession 2 beccse
Session 2 beccse
vin123456gangal
 
Notes Unit2.pptx
Notes Unit2.pptxNotes Unit2.pptx
Notes Unit2.pptx
MIT Autonomous Aurangabad
 
Android application development
Android application developmentAndroid application development
Android application development
slidesuren
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions new
Joe Jacob
 
Android development tutorial
Android development tutorialAndroid development tutorial
Android development tutorial
nazzf
 
Intro to android (gdays)
Intro to android (gdays)Intro to android (gdays)
Intro to android (gdays)
Omolara Adejuwon
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
fantasy zheng
 
Android development tutorial
Android development tutorialAndroid development tutorial
Android development tutorial
Mohammad Taj
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
lzongren
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Java
amaankhan
 
Android and its feature
Android and its featureAndroid and its feature
Android and its feature
Shubham Kumar
 
Android
Android Android
Android
Nishant Jain
 
Android development-tutorial
Android development-tutorialAndroid development-tutorial
Android development-tutorial
ilias ahmed
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
zeelpatel0504
 
Android For Java Developers
Android For Java DevelopersAndroid For Java Developers
Android For Java Developers
Mike Wolfson
 
Introduction to Android Development Part 1
Introduction to Android Development Part 1Introduction to Android Development Part 1
Introduction to Android Development Part 1
Kainda Kiniel Daka
 
Android application development
Android application developmentAndroid application development
Android application development
slidesuren
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions new
Joe Jacob
 
Android development tutorial
Android development tutorialAndroid development tutorial
Android development tutorial
nazzf
 
Android development tutorial
Android development tutorialAndroid development tutorial
Android development tutorial
Mohammad Taj
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
lzongren
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Java
amaankhan
 
Android and its feature
Android and its featureAndroid and its feature
Android and its feature
Shubham Kumar
 
Ad

More from Hussain Behestee (7)

Android session-5-sajib
Android session-5-sajibAndroid session-5-sajib
Android session-5-sajib
Hussain Behestee
 
Android session 3-behestee
Android session 3-behesteeAndroid session 3-behestee
Android session 3-behestee
Hussain Behestee
 
Android session 2-behestee
Android session 2-behesteeAndroid session 2-behestee
Android session 2-behestee
Hussain Behestee
 
Android session 4-behestee
Android session 4-behesteeAndroid session 4-behestee
Android session 4-behestee
Hussain Behestee
 
iOS Training Session-3
iOS Training Session-3iOS Training Session-3
iOS Training Session-3
Hussain Behestee
 
iOS Session-2
iOS Session-2iOS Session-2
iOS Session-2
Hussain Behestee
 
iOS app dev Training - Session1
iOS app dev Training - Session1iOS app dev Training - Session1
iOS app dev Training - Session1
Hussain Behestee
 
Ad

Recently uploaded (20)

Sinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_NameSinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_Name
keshanf79
 
Political History of Pala dynasty Pala Rulers NEP.pptx
Political History of Pala dynasty Pala Rulers NEP.pptxPolitical History of Pala dynasty Pala Rulers NEP.pptx
Political History of Pala dynasty Pala Rulers NEP.pptx
Arya Mahila P. G. College, Banaras Hindu University, Varanasi, India.
 
Operations Management (Dr. Abdulfatah Salem).pdf
Operations Management (Dr. Abdulfatah Salem).pdfOperations Management (Dr. Abdulfatah Salem).pdf
Operations Management (Dr. Abdulfatah Salem).pdf
Arab Academy for Science, Technology and Maritime Transport
 
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Library Association of Ireland
 
Biophysics Chapter 3 Methods of Studying Macromolecules.pdf
Biophysics Chapter 3 Methods of Studying Macromolecules.pdfBiophysics Chapter 3 Methods of Studying Macromolecules.pdf
Biophysics Chapter 3 Methods of Studying Macromolecules.pdf
PKLI-Institute of Nursing and Allied Health Sciences Lahore , Pakistan.
 
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Library Association of Ireland
 
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACYUNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
DR.PRISCILLA MARY J
 
Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam SuccessUltimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Mark Soia
 
Unit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdfUnit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdf
KanchanPatil34
 
LDMMIA Reiki Master Spring 2025 Mini Updates
LDMMIA Reiki Master Spring 2025 Mini UpdatesLDMMIA Reiki Master Spring 2025 Mini Updates
LDMMIA Reiki Master Spring 2025 Mini Updates
LDM Mia eStudios
 
Social Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy StudentsSocial Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy Students
DrNidhiAgarwal
 
Anti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptxAnti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptx
Mayuri Chavan
 
Presentation on Tourism Product Development By Md Shaifullar Rabbi
Presentation on Tourism Product Development By Md Shaifullar RabbiPresentation on Tourism Product Development By Md Shaifullar Rabbi
Presentation on Tourism Product Development By Md Shaifullar Rabbi
Md Shaifullar Rabbi
 
Understanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s GuideUnderstanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s Guide
GS Virdi
 
2541William_McCollough_DigitalDetox.docx
2541William_McCollough_DigitalDetox.docx2541William_McCollough_DigitalDetox.docx
2541William_McCollough_DigitalDetox.docx
contactwilliamm2546
 
YSPH VMOC Special Report - Measles Outbreak Southwest US 4-30-2025.pptx
YSPH VMOC Special Report - Measles Outbreak  Southwest US 4-30-2025.pptxYSPH VMOC Special Report - Measles Outbreak  Southwest US 4-30-2025.pptx
YSPH VMOC Special Report - Measles Outbreak Southwest US 4-30-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025
Mebane Rash
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
YSPH VMOC Special Report - Measles Outbreak Southwest US 5-3-2025.pptx
YSPH VMOC Special Report - Measles Outbreak  Southwest US 5-3-2025.pptxYSPH VMOC Special Report - Measles Outbreak  Southwest US 5-3-2025.pptx
YSPH VMOC Special Report - Measles Outbreak Southwest US 5-3-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
apa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdfapa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdf
Ishika Ghosh
 
Sinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_NameSinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_Name
keshanf79
 
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Library Association of Ireland
 
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Library Association of Ireland
 
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACYUNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
DR.PRISCILLA MARY J
 
Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam SuccessUltimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Mark Soia
 
Unit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdfUnit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdf
KanchanPatil34
 
LDMMIA Reiki Master Spring 2025 Mini Updates
LDMMIA Reiki Master Spring 2025 Mini UpdatesLDMMIA Reiki Master Spring 2025 Mini Updates
LDMMIA Reiki Master Spring 2025 Mini Updates
LDM Mia eStudios
 
Social Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy StudentsSocial Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy Students
DrNidhiAgarwal
 
Anti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptxAnti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptx
Mayuri Chavan
 
Presentation on Tourism Product Development By Md Shaifullar Rabbi
Presentation on Tourism Product Development By Md Shaifullar RabbiPresentation on Tourism Product Development By Md Shaifullar Rabbi
Presentation on Tourism Product Development By Md Shaifullar Rabbi
Md Shaifullar Rabbi
 
Understanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s GuideUnderstanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s Guide
GS Virdi
 
2541William_McCollough_DigitalDetox.docx
2541William_McCollough_DigitalDetox.docx2541William_McCollough_DigitalDetox.docx
2541William_McCollough_DigitalDetox.docx
contactwilliamm2546
 
Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025
Mebane Rash
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
apa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdfapa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdf
Ishika Ghosh
 

Android session-1-sajib

  • 1. Android Training Session - 1 Presented By: A.T.M. Hassan Uzzaman
  • 2. Agendas • Introduction to Android • Application Structure • Layouts & Drawable Resources • Activities and Activity lifecycle • First sample Application • Launching emulator
  • 3. Introduction  A Linux based Operating System designed primarily for touch screen mobile devices  Initially developed by Android Inc  and later purchased by Google in 2005  The first Android powered device was sold in Oct 2008  Android is Open Source and Google releases code under Apache2 license  Google Play Store
  • 4. Brief History – Android 2009  SDK 1.5 (Cupcake)  New soft keyboard with “autocomplete” feature  SDK 1.6 (Donut)  Support Wide VGA  SDK 2.0/2.0.1/2.1 (Eclair)  Revamped UI, browser 2010  SDK 2.2 (Froyo)  Flash support, tethering  SDK 2.3 (Gingerbread)  UI update, system-wide copy-paste
  • 5. 5 2011 – SDK 3.0/3.1/3.2 (Honeycomb) for tablets only New UI for tablets, support multi-core processors – SDK 4.0/4.0.1/4.0.2/4.0.3 (Ice Cream Sandwich) Changes to the UI, Voice input, NFC 2012  SDK 4.1/4.1.1/4.2(Jelly Bean)  Performance optimization, refined UI Honeycomb Android 3.0-3.2 Ice cream Sandwich Android 4.0+ Jelly Bean 4.1+
  • 6. 6 API Level Platform Version API Level Version Name Android 4.2 17 Jelly bean Android 4.1, 4.1.1 16 Jelly bean Android 4.0.3, 4.0.4 15 Ice cream sandwich Android 4.0, 4.0.1, 4.0.2 14 Ice cream sandwich Android 3.2 13 Honey Comb Android 3.1.x 12 Honey Comb Android 3.0.x 11 Honey Comb Android 2.3.4 Android 2.3.3 10 Gingerbread
  • 7. 7 API Level Platform Version API Level Version Name Android 2.3.2 Android 2.3.1 Android 2.3 9 Gingerbread Android 2.2.x 8 Froyo Android 2.1.x 7 Eclair Android 2.0.1 6 Eclair Android 2.0 5 Eclair Android 1.6 4 Donut Android 1.5 3 Cupcake
  • 9. Activity BackStack • Main activity calls activity2 Activity 2Push Operation( Last in) Activity 2 is visible on screen Main activity goes in background backstack main
  • 10. Activity BackStack • From activity2, user presses back button Activity 2 Main activity is visible on screen and activity 2 is destroyed backstack main Pop operation (First Out)
  • 11. Java Source Code Java Byte Code JVM Java Byte Code Dalvik Byte Code Java Compiler Dex Compiler Dalvik Executable DVM
  • 12. Differences between DVM and JVM Machine Property DVM JVM Architecture base Register Stack No of operations fewer more File format .dex .class
  • 13. JVM - Stack Based POP 20 POP 7 ADD 20, 7, result PUSH result
  • 14. DVM - Register Based Add R3,R1,R2
  • 15. 15 Android Java Consists of Android Java = Java SE - AWT/Swing + Android API
  • 16. APK file format:  Application package file  Zip package format based on JAR file format  Apk holds  Code(.dex file)  Resources  Assets  Certificates  Manifest file Once .apk is installed on a device:  Own security sandbox  A unique Linux UserID  Own Virtual Machine  Own Linux process Application Fundamentals
  • 17. Android Application Components • Activities: An Activity is an application component that provides a screen with which users can interact in order to do something. • Services: A Service is an application component that can perform long-running operations in the background and does not provide a user interface. • Content Providers: A content provider manages a shared set of application data. • Broadcast Receivers: A broadcast receiver is a component that responds to system-wide broadcast announcements.
  • 20. Requirements JDK 6 (Java Development Kit ) and above – (JRE alone is not sufficient) – http://www.oracle.com/technetwork/java/javase/downloads/index.html Eclipse IDE – Eclipse + ADT plugin – Android SDK Tools – Android Platform-tools – The latest Android platform – The latest Android system image for the emulator • http://developer.android.com/sdk/index.html Other development environments • Apache Ant 1.8 or later ( http://ant.apache.org/ ) • Not compatible with Gnu Compiler for Java (gcj) Note: Some Linux distributions may Include JDK 1.4 or Gnu Compiler for Java, both of which are not supported for Android development.
  • 21. Adding Platforms and Packages Figure . The Android SDK Manager shows the SDK packages that are available, already installed, or for which an update is available.
  • 23. Understanding Android Project Structure • AndroidManifest.xml – The manifest file describes the fundamental characteristics of the app and defines each of its components. • src/ – Directory for your app's main source files. By default, it includes an Activity class that runs when your app is launched using the app icon. • res/ – Contains several sub-directories for app resources. Here are just a few: – drawable-hdpi/ • Directory for drawable objects (such as bitmaps) that are designed for high- density (hdpi) screens. Other drawable directories contain assets designed for other screen densities. – layout/ • Directory for files that define your app's user interface. – values/ • Directory for other various XML files that contain a collection of resources, such as string and color definitions.
  • 24. AndroidManifest.xml file • Every application must have an AndroidManifest.xml file. • The manifest presents essential information about the application to the Android system. • The manifest does the following – It names the Java package for the application. The package name serves as a unique identifier for the application. – It describes the components of the application: The activities, services, broadcast receivers, and content providers. – It determines which processes will host application components. – It also declares the permissions that others are required to have, in order to interact with the components of the application – It declares the minimum level of the Android API, that the application requires.
  • 25.  The file R.java is an auto-generated file, that is added to your application, by the Android plug-in.  This file contains pointers into the drawable, layout, and values directories.  You should never modify this file directly. You will be only referencing R.java in most of your applications. R.Java
  • 26. package testPackage.HelloWorldText; public final class R { public static final class attr {} public static final class drawable{ public static final int icon=0x7f020000; } public static final class layout { public static final int main=0x7f030000; } public static final class string { public static final int app_name=0x7f040000; } } R.Java: Content
  • 27. Resources  Almost all Android applications will have some sort of resources in them; at a minimum they often have the user interface layouts in the form of XML files.
  • 28. • Android offers one more directory where you can keep files which also will be included is package. This directory called /assets. •The difference between /res and /assets is that, Android does not generate IDs of assets content. •You need to specify relative path and name, for files inside /assets. InputStream is = getAssets().open("text.txt"); Code to Access Assets :