SlideShare a Scribd company logo
1 of 39
Operating System & Software Development Kit
Overview

• Introduction to Android
• Architecture of Android
• Application Building Blocks
• Developing Android App
• Career Opportunities
Introduction
Introduction to Android

• Open Source Software Platform for Mobile Application
Development

• An Open Handset Alliance Project, acquired by Google, Inc. in 2005
• A Complete Stack – Operating System + Middleware + Applications
• Powered by Linux Operating System
• Developed using C/C++ , provide development using Java
Android Powered Devices
• Smart Phones
• Tablets
• Washing Machine
• Coffeemaker (“Appresso”)
• Watch
• Android Powered Microwave (MAID)
• Camera (Coolpix S800c)

• Gaming Console
• E-Bike (concept by Ford Motor Co.)
• Android Powered Headrest
• Ninja Robot (boxing robot)
• Android Powered Refrigerator
• Smart TV & Pocket TV
• Chevrolet Volt integrated with Android
Architecture
Architecture of Android
Applications

Application Framework

Libraries

Android Runtime

Linux Kernel

Android Runtime
Libraries
Linux Kernel
• Dalvik Virtual machine
Application Framework
Applications

C/C++ Libraries
• Work asfile (Hardware Abstraction Layer)
• .dex HAL
• API Interface application
Built in and User
Interface through Java
• Device Drivers Efficient
• Compact and
• Activity manager.apk files
Can install using
• Limited memory & Power
Handling User Interface
• memory management
• Content ->Phone-> .jar ->WeChat, Web Browser,
Providers
Example: .class Dialer, .dex
• .java
• 2D/3DAndroid or others
Graphics
Process Management
Hello
• Location Manager etc
• Core LibrariesBrowser Engine, SQLite
Media Acces,
Networking

•

Java Standard Edition
Application Building Blocks
Application Building Blocks

• Activity
• Intents
• Service
• Content Providers
Activities

• Corresponds to one UI Screen
• But they can be – faceless, floating window,
return a value
Intents

• Think intent as an object or description what you want DONE!
• Example- view, call, play etc.

• System matches intent with activity that can best provide the
service

• Activities and IntentRecievers describe what intent can service
Activity 1

Intent (says : I want to do this)

Activity 2
Services

• Components that run in a background
• Music player, download etc.
Content Providers
App 2

App 1

• Sharing of data across applications
• Address book, photo gallery

• Provide uniform API for:

Content Provider
(eg. address book)

• Query
• Delete, update & insert
App 3

App 4
Developing Android App
Android Software Development Kit (SDK)

• Java SDK (at least Java SDK 5)
• Android SDK
(http://developer.android.com/sdk/index.html)
Android SDK
Android Software Development Kit (SDK)

• Install the Java and set CLASSPATH and
PATH

• Unzip the downloaded Android SDK,
and run Eclipse (run as admin)
Android Application Life Cycle
onCreate()
onStart()

Starting

onRestart()
onStart()
onResume()

Running
onResume()

onSaveInstanceState()
onPause()

Paused

Stopped
onSaveInstanceState()
onStop()
onDestroy()

Destroyed

onDestroy()
What’s inside an App ?
Default
Activity

Libraries

Other
Default
Default
Activities
Activity
Activity

Service
Content

Android Manifest
Drawable

Layouts

Values

Assets
Android SDK Manager
Using this tool, we
can download the
required APIs &
Libraries, for
application.
Let’s start developing
•
•
•
•

Start Eclipse (ADT)
File -> new -> project
Select Android Application Project
Click next
• Enter Application Name
• HelloAndroid
• Enter Project Name
• HelloAndroid
• Enter Package Name
• com.example.helloandroid
• Minimum Required SDK
• API 10
• Target SDK : API 10
• Compile With: API 10
• Theme : none
Let’s start developing

• Choose all other options as default.
• Click next -> next -> next -> finish…..
• Now we are ready to Code and Develop
Let’s start developing

• MainActivity.java : for back-end programming
• Activity_main.xml : for designing layout (UI)
• Double Click the activity_main.xml
• Eclipse will show its
• Graphical layout : for drag-n-drop design
• Activity_main.xml : for code based design
Let’s start developing

• In this application, we want to bind an event to that button
• Whenever user click (or touch) that button, the text box
must display “Hello Android”

• We have designed our UI, and now its time for code in
java.
Let’s start developing
package com.example.helloandroid;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity implements OnClickListener {
private EditText txt;
private Button btn;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txt = (EditText) findViewById(R.id.editText1);
btn = (Button) findViewById(R.id.button1);
btn.setOnClickListener(this);
}
public void onClick(View v) {
txt.setText("Hello Android");
}
}
Running the Application

• We need to set an emulator to test on PC.
• In eclipse, click Android Virtual device Manager icon.
• It will popup a dialog box, that you can use to
create your emulator.

• In that dialog box, click new button to add an emulator.
Wowww!! We have done it!
Now its ready to launch

Press Ctrl + F11 to Run
Congratulations!
You create your very first App!
Now, its time to publish it to the world
Publishing Android App on Google Play Store

• https://play.google.com/apps/publish/signup/
• $25 (Rs. 1600 – 1700) one time fee, pay via Google Wallet
Upload APK file
• Find .apk of your project in bin
folder of your workspace

• Upload it using Screen Instructions
• Manage Pricing & Distribution
• Manage Store Listing
• Available for end-user, anywhere in
the world
Career Opportunities
Career in Android Development

• Salary
• Highest Salary Increases – 9% from 2012-2013
• 2012 : $85,000 - $1,22,500 , 2013 : $92,750 $1,33,500 (networkworld.com survey)

• Future Scope & Growth
• The more devices, the more software required, the more developer
required

• Get experience in Java & programming, help you to switch if you needed
Thanks!
-

Hemant Kumar Chapoliya

http://hemantchhapoliya.co.in

More Related Content

What's hot (20)

An Introduction To Java Web Technology
An Introduction To Java Web TechnologyAn Introduction To Java Web Technology
An Introduction To Java Web Technology
 
Java tutorial PPT
Java tutorial PPTJava tutorial PPT
Java tutorial PPT
 
Android SDK Tutorial | Edureka
Android SDK Tutorial | EdurekaAndroid SDK Tutorial | Edureka
Android SDK Tutorial | Edureka
 
User defined functions in C programmig
User defined functions in C programmigUser defined functions in C programmig
User defined functions in C programmig
 
Android intents
Android intentsAndroid intents
Android intents
 
Android Threading
Android ThreadingAndroid Threading
Android Threading
 
C function
C functionC function
C function
 
Python GUI
Python GUIPython GUI
Python GUI
 
Android - Android Intent Types
Android - Android Intent TypesAndroid - Android Intent Types
Android - Android Intent Types
 
Java swing
Java swingJava swing
Java swing
 
Android intent
Android intentAndroid intent
Android intent
 
Android application-component
Android application-componentAndroid application-component
Android application-component
 
C++ Files and Streams
C++ Files and Streams C++ Files and Streams
C++ Files and Streams
 
Introduction to c#
Introduction to c#Introduction to c#
Introduction to c#
 
Intro to Javascript
Intro to JavascriptIntro to Javascript
Intro to Javascript
 
Android datastorage
Android datastorageAndroid datastorage
Android datastorage
 
C# Basics
C# BasicsC# Basics
C# Basics
 
Sets in python
Sets in pythonSets in python
Sets in python
 
Python Programming - XIII. GUI Programming
Python Programming - XIII. GUI ProgrammingPython Programming - XIII. GUI Programming
Python Programming - XIII. GUI Programming
 
Data types in python
Data types in pythonData types in python
Data types in python
 

Viewers also liked

Infinum Android Talks #14 - Facebook for Android API
Infinum Android Talks #14 - Facebook for Android APIInfinum Android Talks #14 - Facebook for Android API
Infinum Android Talks #14 - Facebook for Android APIInfinum
 
Social networking api for Android Developers
Social networking api for Android DevelopersSocial networking api for Android Developers
Social networking api for Android DevelopersSatyam Twanabasu
 
Google Maps API for Android
Google Maps API for AndroidGoogle Maps API for Android
Google Maps API for AndroidMaksim Golivkin
 
API 101 - Understanding APIs.
API 101 - Understanding APIs.API 101 - Understanding APIs.
API 101 - Understanding APIs.Kirsten Hunter
 
API Technical Writing
API Technical WritingAPI Technical Writing
API Technical WritingSarah Maddox
 
Yow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with NotesYow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with NotesAdrian Cockcroft
 
Mobile Application Development With Android
Mobile Application Development With AndroidMobile Application Development With Android
Mobile Application Development With Androidguest213e237
 

Viewers also liked (14)

Infinum Android Talks #14 - Facebook for Android API
Infinum Android Talks #14 - Facebook for Android APIInfinum Android Talks #14 - Facebook for Android API
Infinum Android Talks #14 - Facebook for Android API
 
Webinar on Google Android SDK
Webinar on Google Android SDKWebinar on Google Android SDK
Webinar on Google Android SDK
 
Facebook & Twitter API
Facebook & Twitter APIFacebook & Twitter API
Facebook & Twitter API
 
Social networking api for Android Developers
Social networking api for Android DevelopersSocial networking api for Android Developers
Social networking api for Android Developers
 
Le Wagon - 2h Landing
Le Wagon - 2h LandingLe Wagon - 2h Landing
Le Wagon - 2h Landing
 
API for Beginners
API for BeginnersAPI for Beginners
API for Beginners
 
Google Maps API for Android
Google Maps API for AndroidGoogle Maps API for Android
Google Maps API for Android
 
Api presentation
Api presentationApi presentation
Api presentation
 
API for Beginners
API for BeginnersAPI for Beginners
API for Beginners
 
API 101 - Understanding APIs.
API 101 - Understanding APIs.API 101 - Understanding APIs.
API 101 - Understanding APIs.
 
API Technical Writing
API Technical WritingAPI Technical Writing
API Technical Writing
 
Yow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with NotesYow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with Notes
 
Mobile Application Development With Android
Mobile Application Development With AndroidMobile Application Development With Android
Mobile Application Development With Android
 
Android seminar ppt
Android seminar pptAndroid seminar ppt
Android seminar ppt
 

Similar to Android OS & SDK - Getting Started

Android application development
Android application developmentAndroid application development
Android application developmentslidesuren
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_authlzongren
 
Android studio
Android studioAndroid studio
Android studioAndri Yabu
 
Day: 2 Environment Setup for Android Application Development
Day: 2 Environment Setup for Android Application DevelopmentDay: 2 Environment Setup for Android Application Development
Day: 2 Environment Setup for Android Application DevelopmentAhsanul Karim
 
Java Meetup - 12-03-15 - Android Development Workshop
Java Meetup - 12-03-15 - Android Development WorkshopJava Meetup - 12-03-15 - Android Development Workshop
Java Meetup - 12-03-15 - Android Development WorkshopKasun Dananjaya Delgolla
 
Android 101 - Introduction to Android Development
Android 101 - Introduction to Android DevelopmentAndroid 101 - Introduction to Android Development
Android 101 - Introduction to Android DevelopmentAndy Scherzinger
 
Android App development and test environment, Understaing android app structure
Android App development and test environment, Understaing android app structureAndroid App development and test environment, Understaing android app structure
Android App development and test environment, Understaing android app structureVijay Rastogi
 
Mobile application development
Mobile application developmentMobile application development
Mobile application developmentumesh patil
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions newJoe Jacob
 
Android installation guide
Android installation guideAndroid installation guide
Android installation guidemagicshui
 
Android application developement
Android application developementAndroid application developement
Android application developementSANJAY0830
 
Lec005 android start_program
Lec005 android start_programLec005 android start_program
Lec005 android start_programEyad Almasri
 

Similar to Android OS & SDK - Getting Started (20)

Android application development
Android application developmentAndroid application development
Android application development
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
 
Android Tutorial
Android TutorialAndroid Tutorial
Android Tutorial
 
Android studio
Android studioAndroid studio
Android studio
 
ANDROID PPT 1.pdf
ANDROID PPT 1.pdfANDROID PPT 1.pdf
ANDROID PPT 1.pdf
 
Day: 2 Environment Setup for Android Application Development
Day: 2 Environment Setup for Android Application DevelopmentDay: 2 Environment Setup for Android Application Development
Day: 2 Environment Setup for Android Application Development
 
Java Meetup - 12-03-15 - Android Development Workshop
Java Meetup - 12-03-15 - Android Development WorkshopJava Meetup - 12-03-15 - Android Development Workshop
Java Meetup - 12-03-15 - Android Development Workshop
 
Android app devolopment
Android app devolopmentAndroid app devolopment
Android app devolopment
 
Android 101 - Introduction to Android Development
Android 101 - Introduction to Android DevelopmentAndroid 101 - Introduction to Android Development
Android 101 - Introduction to Android Development
 
Android App development and test environment, Understaing android app structure
Android App development and test environment, Understaing android app structureAndroid App development and test environment, Understaing android app structure
Android App development and test environment, Understaing android app structure
 
Android
AndroidAndroid
Android
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions new
 
Android installation guide
Android installation guideAndroid installation guide
Android installation guide
 
Unit I- ANDROID OVERVIEW.ppt
Unit I- ANDROID OVERVIEW.pptUnit I- ANDROID OVERVIEW.ppt
Unit I- ANDROID OVERVIEW.ppt
 
Android application developement
Android application developementAndroid application developement
Android application developement
 
Android Programming
Android ProgrammingAndroid Programming
Android Programming
 
Android session-1-sajib
Android session-1-sajibAndroid session-1-sajib
Android session-1-sajib
 
Lec005 android start_program
Lec005 android start_programLec005 android start_program
Lec005 android start_program
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
 

Recently uploaded

ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxPoojaSen20
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinojohnmickonozaleda
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 

Recently uploaded (20)

ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipino
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 

Android OS & SDK - Getting Started

  • 1. Operating System & Software Development Kit
  • 2. Overview • Introduction to Android • Architecture of Android • Application Building Blocks • Developing Android App • Career Opportunities
  • 4. Introduction to Android • Open Source Software Platform for Mobile Application Development • An Open Handset Alliance Project, acquired by Google, Inc. in 2005 • A Complete Stack – Operating System + Middleware + Applications • Powered by Linux Operating System • Developed using C/C++ , provide development using Java
  • 5. Android Powered Devices • Smart Phones • Tablets • Washing Machine • Coffeemaker (“Appresso”) • Watch • Android Powered Microwave (MAID) • Camera (Coolpix S800c) • Gaming Console • E-Bike (concept by Ford Motor Co.) • Android Powered Headrest • Ninja Robot (boxing robot) • Android Powered Refrigerator • Smart TV & Pocket TV • Chevrolet Volt integrated with Android
  • 7. Architecture of Android Applications Application Framework Libraries Android Runtime Linux Kernel Android Runtime Libraries Linux Kernel • Dalvik Virtual machine Application Framework Applications C/C++ Libraries • Work asfile (Hardware Abstraction Layer) • .dex HAL • API Interface application Built in and User Interface through Java • Device Drivers Efficient • Compact and • Activity manager.apk files Can install using • Limited memory & Power Handling User Interface • memory management • Content ->Phone-> .jar ->WeChat, Web Browser, Providers Example: .class Dialer, .dex • .java • 2D/3DAndroid or others Graphics Process Management Hello • Location Manager etc • Core LibrariesBrowser Engine, SQLite Media Acces, Networking • Java Standard Edition
  • 9. Application Building Blocks • Activity • Intents • Service • Content Providers
  • 10. Activities • Corresponds to one UI Screen • But they can be – faceless, floating window, return a value
  • 11. Intents • Think intent as an object or description what you want DONE! • Example- view, call, play etc. • System matches intent with activity that can best provide the service • Activities and IntentRecievers describe what intent can service Activity 1 Intent (says : I want to do this) Activity 2
  • 12. Services • Components that run in a background • Music player, download etc.
  • 13. Content Providers App 2 App 1 • Sharing of data across applications • Address book, photo gallery • Provide uniform API for: Content Provider (eg. address book) • Query • Delete, update & insert App 3 App 4
  • 15. Android Software Development Kit (SDK) • Java SDK (at least Java SDK 5) • Android SDK (http://developer.android.com/sdk/index.html)
  • 17. Android Software Development Kit (SDK) • Install the Java and set CLASSPATH and PATH • Unzip the downloaded Android SDK, and run Eclipse (run as admin)
  • 18. Android Application Life Cycle onCreate() onStart() Starting onRestart() onStart() onResume() Running onResume() onSaveInstanceState() onPause() Paused Stopped onSaveInstanceState() onStop() onDestroy() Destroyed onDestroy()
  • 19. What’s inside an App ? Default Activity Libraries Other Default Default Activities Activity Activity Service Content Android Manifest Drawable Layouts Values Assets
  • 20. Android SDK Manager Using this tool, we can download the required APIs & Libraries, for application.
  • 21. Let’s start developing • • • • Start Eclipse (ADT) File -> new -> project Select Android Application Project Click next
  • 22. • Enter Application Name • HelloAndroid • Enter Project Name • HelloAndroid • Enter Package Name • com.example.helloandroid • Minimum Required SDK • API 10 • Target SDK : API 10 • Compile With: API 10 • Theme : none
  • 23. Let’s start developing • Choose all other options as default. • Click next -> next -> next -> finish….. • Now we are ready to Code and Develop
  • 24. Let’s start developing • MainActivity.java : for back-end programming • Activity_main.xml : for designing layout (UI) • Double Click the activity_main.xml • Eclipse will show its • Graphical layout : for drag-n-drop design • Activity_main.xml : for code based design
  • 25.
  • 26. Let’s start developing • In this application, we want to bind an event to that button • Whenever user click (or touch) that button, the text box must display “Hello Android” • We have designed our UI, and now its time for code in java.
  • 27. Let’s start developing package com.example.helloandroid; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText;
  • 28. public class MainActivity extends Activity implements OnClickListener { private EditText txt; private Button btn; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); txt = (EditText) findViewById(R.id.editText1); btn = (Button) findViewById(R.id.button1); btn.setOnClickListener(this); } public void onClick(View v) { txt.setText("Hello Android"); } }
  • 29. Running the Application • We need to set an emulator to test on PC. • In eclipse, click Android Virtual device Manager icon. • It will popup a dialog box, that you can use to create your emulator. • In that dialog box, click new button to add an emulator.
  • 30.
  • 31. Wowww!! We have done it! Now its ready to launch Press Ctrl + F11 to Run
  • 32.
  • 33. Congratulations! You create your very first App! Now, its time to publish it to the world
  • 34. Publishing Android App on Google Play Store • https://play.google.com/apps/publish/signup/ • $25 (Rs. 1600 – 1700) one time fee, pay via Google Wallet
  • 35.
  • 36. Upload APK file • Find .apk of your project in bin folder of your workspace • Upload it using Screen Instructions • Manage Pricing & Distribution • Manage Store Listing • Available for end-user, anywhere in the world
  • 38. Career in Android Development • Salary • Highest Salary Increases – 9% from 2012-2013 • 2012 : $85,000 - $1,22,500 , 2013 : $92,750 $1,33,500 (networkworld.com survey) • Future Scope & Growth • The more devices, the more software required, the more developer required • Get experience in Java & programming, help you to switch if you needed