KEMBAR78
Android OS & SDK - Getting Started | PPTX
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

Android OS & SDK - Getting Started

  • 1.
    Operating System &Software Development Kit
  • 2.
    Overview • Introduction toAndroid • Architecture of Android • Application Building Blocks • Developing Android App • Career Opportunities
  • 3.
  • 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
  • 6.
  • 7.
    Architecture of Android Applications ApplicationFramework 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
  • 8.
  • 9.
    Application Building Blocks •Activity • Intents • Service • Content Providers
  • 10.
    Activities • Corresponds toone UI Screen • But they can be – faceless, floating window, return a value
  • 11.
    Intents • Think intentas 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 thatrun in a background • Music player, download etc.
  • 13.
    Content Providers App 2 App1 • 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
  • 14.
  • 15.
    Android Software DevelopmentKit (SDK) • Java SDK (at least Java SDK 5) • Android SDK (http://developer.android.com/sdk/index.html)
  • 16.
  • 17.
    Android Software DevelopmentKit (SDK) • Install the Java and set CLASSPATH and PATH • Unzip the downloaded Android SDK, and run Eclipse (run as admin)
  • 18.
    Android Application LifeCycle onCreate() onStart() Starting onRestart() onStart() onResume() Running onResume() onSaveInstanceState() onPause() Paused Stopped onSaveInstanceState() onStop() onDestroy() Destroyed onDestroy()
  • 19.
    What’s inside anApp ? Default Activity Libraries Other Default Default Activities Activity Activity Service Content Android Manifest Drawable Layouts Values Assets
  • 20.
    Android SDK Manager Usingthis tool, we can download the required APIs & Libraries, for application.
  • 21.
    Let’s start developing • • • • StartEclipse (ADT) File -> new -> project Select Android Application Project Click next
  • 22.
    • Enter ApplicationName • 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
  • 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 packagecom.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 MainActivityextends 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.
  • 31.
    Wowww!! We havedone it! Now its ready to launch Press Ctrl + F11 to Run
  • 33.
    Congratulations! You create yourvery first App! Now, its time to publish it to the world
  • 34.
    Publishing Android Appon Google Play Store • https://play.google.com/apps/publish/signup/ • $25 (Rs. 1600 – 1700) one time fee, pay via Google Wallet
  • 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
  • 37.
  • 38.
    Career in AndroidDevelopment • 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
  • 39.