SlideShare a Scribd company logo
Android Development Classes in Chandigarh
www.bigboxx.in
Phone 0172-4612244 ,+918427023322, Address: S.C.O. 146-147,Basement, , Sector 34-
A,Chandigarh – 160034, India, Email id: info@bigboxx.in
Contents
2
What’s Android
Android architecture
Android software development
‘Hello World’ on Android
More…
2014/8/2Bigboxx.in
What’s Android
3 2014/8/2
Android Phones
4
Motorola CliqHTC G1 HTC HeroSamsung i7500
Samsung Moment
Motorola DroidHTC Magic HTC Tattoo
Sony X10
2014/8/2
Mobile Devices
5
It’s obvious that mobile device may take the place of PC in
future
OS plays a vital part
Processor Device
Embedded
OS
Middleware Apps
2014/8/2
6 2014/8/2
OHA and Android
7
OHA(Open Handset Alliance) is a group of 71 technology
and mobile companies, including Google, Intel, Dell, HTC
and China Mobile…
OHA’s aim:
accelerate innovation in mobile phones
offer consumers a richer, less expensive, and better mobile
experience
OHA developed Android™, the first complete, open, and
free mobile platform
OHA was initially called up by Google, and Google is the
‘captain’
2014/8/2
What’s Android
8
Generally, Android is a software stack for
mobile devices that includes an operating
system, middleware and key applications
Android is based on JAVA and all its
applications are developed in JAVA
The JAVA VM, known as Dalvik, is highly
customized and optimized for mobile
devices
Android SDK offers rich tools for android
application development and many useful
APIs。
The core of Android
2014/8/2
Android Features #1
9
Application framework enabling reuse and replacement
of components
Optimized Java virtual machine: Dalvik
Optimized Graphics Processing, supporting 2D and 3D
graphics(OpenGL ES 1.0 )
Integrated open source web browser: WebKit
SQLite for structured data storage
2014/8/2
Android Features #2
10
Multimedia capability, supporting varieties of audio,
video and still image formats
GSM Telephony
Bluetooth, EDGE, 3G and Wi-Fi support
Camera, GPS, compass, accelerometer
and other sensors support
Rich development environment, including an
emulator, debugging tools, memory probe tools, log
tools and powerful eclipse plugins
Hardware
dependent
2014/8/2
Android architecture
11 2014/8/2
12 2014/8/2
Linux Kernel
13
Note that Android based on a Linux kernel not a Linux OS
Supplies Security, Memory management, Process
management, Network stack and Driver model
Acts as an abstraction layer between the hardware and
the rest of the software stack
2014/8/2
Libraries
14
Run in system background
Using C/C++ Language
4 types of Libraries
Bionic Libc, system C libraries
Function Libraries, supporting multimedia, web browser,
SQLite...
Native Servers
Hardware
Abstraction Libraries
2014/8/2
Core Libraries
15
System C library, the standard C system library, tuned for
embedded Linux-based devices
Media Libraries, support playback and recording of many
popular audio and video formats, as well as image files,
including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
Surface Manager, manages access to the display subsystem
and seamlessly composites 2D and 3D graphic layers from
multiple applications
WebKit, a modern web browser engine which powers both
the Android browser and an embeddable web view
SGL, the underlying 2D graphics engine
3D libraries, an implementation based on OpenGL ES 1.0 APIs
FreeType , bitmap and vector font rendering
SQLite , a powerful and lightweight relational database engine
2014/8/2
Andoid Runtime
16
The core of Android platform
Dalvik Virtual Machine
Register-based
Executes files in the Dalvik Executable (.dex)
format
Java core Libraries
Provides most of the functionality of the Java programming
language.
2014/8/2
Android Runtime (cont.)
17
The functions of Java core libraries rely on the Dalvik VM
and the underlying Linux kernel
Multiple Dalvik VMs may run at the same time
Every Android application runs in its own process, with its
own instance of the Dalvik virtual machine
The "dx" tool in Android SDK can transform compiled JAVA
class into the .dex format
2014/8/2
Dalvik Virtual Machine
18
Android custom implementation virtual machine
Provides application portability and runtime consistency
Runs optimized file format (.dex) and Dalvik bytecode
Java .class / .jar files converted to .dex at build time
Designed for embedded environment
Supports multiple virtual machine processes per device
Highly CPU-optimized bytecode interpreter
Efficiently Using runtime memory
Core Libraries
Core APIs for Java language provide a powerful, yet simple and
familiar development platform
2014/8/2
DVM vs. JVM
19
DVM
Google
Dalvik executable
Only supports a subset of standard Java Library
JVM
Sun
Java bytecode
Some worries that Java world may be divided into
different communities, each has its own Java standard
2014/8/2
Application Framework
20
Simplify the reuse of components
Applications can publish their capabilities and any other
application may then make use of those capabilities
Applications is a set of services and systems, include
Views system, content providers, resources manager and so on
2014/8/2
Application Framework (cont.)
21
Activity Manager, manages the lifecycle of applications
and provides a common navigation backstack
Notification Manager, enables all applications to display
custom alerts in the status bar
Resource Manager, providing access to non-code
resources such as localized strings, graphics, and layout
files
Content Providers, access data from other applications
(such as Contacts), or to share their own data
Views, used to build an application, including lists, grids,
text boxes, buttons, and even an embeddable web
browser
2014/8/2
Applications
22
A set of core applications shipped with Android platform
an email client, SMS program, calendar, maps, browser,
contacts, and others
All written in Java
Our applications are in the same level as these
applications
2014/8/2
Android software development
23 2014/8/2
Development Environment
IDE – Eclipse
Eclipse plug-in - ADT
Software Development Kit (SDK)
Android Emulator
Debugger
2014/8/224
Setup Android SDK
25
Download Android SDK and extract the zip file to an
arbitrary folder
http://androidappdocs.appspot.com/sdk/index.html
E.g.: extract to C:
The SDK will be used by ADT in eclipse
2014/8/2
Setup ADT plugin
26
Install Eclipse ADT plugin
Eclipse must be J2EE edition,
3.5 recommended
Update site: https://dl-
ssl.google.com/android/eclip
se/
Install all the plugins in the
repository
Restart needed after
installation
2014/8/2
Configure ADT Plugin
27
Open eclipse Window->Preferences, select Android
Setup the SDK location as the folder where you extracted
the downloaded SDK zip file
2014/8/2
Setup SDK APIs
28
Open Window->Android SDK and AVD Manager
Click Available Packages and then choose proper APIs to
install, the latest may be the best
2014/8/2
Setup Emulators
29
After SDK APIs installation,
click Virtual Devices
Click new, there will be a
dialog
input a name
choose a running target and a
skin
specify the SD card size
2014/8/2
Ready…
30
Now you may start
the AVD
Click start to start
the new AVD
First start-up may
take a very long time
2014/8/2
Create a new Android Project
31
Open File->New-
>Android project
Project name
Build Target
Application name
Package name
Create Activity
2014/8/2
Hello World Project
32
src: source folder
gen: SDK generated file
android 2.2: reference lib
assets: binary resources
res: resource files and
resource description files
AndroidManifest.xml:
application description file
default.properties: project
properties file
2014/8/2
Say Hello World
33
modify HelloWorld.java
2014/8/2
Run Hello World
34
Select HelloWorld Project, Run->Run as->Android
Application
ADT will start a proper AVD and run HelloWorld app on it
2014/8/2
Behind HelloWorld #1
35
R.java, generated by Android SDK, represents all the
resources of the app. resources are all in res folder
resources are pre-compiled into binary format
/* AUTO-GENERATED FILE. DO NOT MODIFY.
*
* This class was automatically generated by the
* aapt tool from the resource data it found. It
* should not be modified by hand.
*/
package sample.hello;
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=0x7f040001;
public static final int hello=0x7f040000;
}
}
2014/8/2
Linear Layout
Behind HelloWorld #2
36
res/layout , contains layout declarations of the app, in XML
format, UIs are built according to the layout file
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=http://schemas.android.com/apk/res/android
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
</LinearLayout>
TextView, display
static text
A reference to
String resource
‘hello’ 2014/8/2
referenced in
res/layout/mai
n.xml
Behind HelloWorld #3
37
res/values, contains string declarations or other
values(e.g.:colors) of the app
string.xml, contains string resources
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, HelloWorld!</string>
<string name="app_name">HelloWorld</string>
</resources>
referenced in
AndroidManifest.xml
2014/8/2
Behind HelloWorld #4
38
res/drawable, contains all image resources
folders may have suffixes, app will choose the most suitable
one, so do the other resources
three folders: drawable-ldpi, drawable-hdpi, drawable-mdpi,
each contains an icon.png file
app will choose the proper icon according to the device DPI
reference name:@drawable/icon
other folders we may use in future
menu, anim (animation), xml ( preference and searchable)
2014/8/2
Behind HelloWorld #5
39
AndroidManifest.xml describe the application
declare app’s name, version, icon, permission, etc…
declare the application's components: activity, service ,receiver
or provider
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="sample.hello" android:versionCode="1" android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".HelloWorld" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER”/>
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="8" />
</manifest>
2014/8/2
Core Components-Activity #1
40
Basically, An activity presents a visual user interface for
one focused endeavor the user can undertake
An application might consist of just one activity or several,
each Activity is derived from android.app.Activity and
should be declared in AndroidManifest.xml file
Each activity is given a default window to draw in, the
window may be full screen or smaller and on top of other
window
The visual content of the window is provided by a
hierarchy of views — objects derived from the base View
class
Activity.setContentView() method is used to set a certain
hierarchy of view objects
2014/8/2
Core Components-Activity #2
41
Activities are activated by asynchronous messages called
intents
An intent is an Intent object that holds the content of the message
The action being requested or the URI of the data to act on
The <intent-filter> label in AndroidManifest.xml file specifies
the Intent that can start the Activity
declares the main activity, it will be started automatically when the
app starts
An activity is launched (or given something new to do) by
passing an Intent object to Context.startActivity() or
Activity.startActivityForResult()
2014/8/2
Activity lifecycle
42 2014/8/2
Other Core Components
43
Service
A service doesn't have a visual user interface, runs in the
background for a period of time
Broadcast receivers
a component that does nothing but receive and react to
broadcast announcements
Content providers
A content provider makes a specific set of the application's
data available to other applications.
The data can be stored in the file system, in an SQLite database,
or in any other manner that makes sense
2014/8/2
Beyond HelloWorld #1
44
Build up an app that you can input your greetings and
display your greetings
Input: EditText
Display: TextView
Of course, we have to add an button
Edit res/layout/main.xml file to add these components
each has an android:id property, used to reference it in code
2014/8/2
Beyond HelloWorld #2
45
modify HelloWorld.java
firstly get the references declared in main.xml
then add event response for Button
2014/8/2
Beyond HelloWorld #3
46
Finished!
Run->Run as->Android Application
Quite easy, isn’t it?
2014/8/2
Useful Materials
47
Android Official Site
• http://www.android.com
Android SDK, Tutorial, Concepts and API docs
• http://androidappdocs.appspot.com/index.html
Android Development Community
• http://www.anddev.org/
30 Days Android Apps Development
• http://bakhtiyor.com/category/30-days-of-android-apps/
2014/8/2
Thank U so much!
48
Contact Details:
Big Boxx Academy
Phone 0172-4612244 ,+918427023322
Address: S.C.O. 146-147,Basement,
Sector 34-A,Chandigarh – 160034, India
Website : www.bigboxx.in
Email id: info@bigboxx.in 2014/8/2

More Related Content

PDF
International Journal of Engineering Research and Development
PPTX
Android development tutorial
DOCX
Android architecture
PPTX
Getting started with android
PDF
Android and its feature
PPT
Android development tutorial
PPTX
Android basic principles
International Journal of Engineering Research and Development
Android development tutorial
Android architecture
Getting started with android
Android and its feature
Android development tutorial
Android basic principles

What's hot (20)

DOCX
Android
PPT
Android primer
PPSX
ANDROID
PDF
Javame sdk-datasheet-167819
DOCX
Android..overwiew
PDF
Android App Development Intro at ESC SV 2012
PDF
Ch1 hello, android
PDF
Android : Architecture & Components
PDF
Android By Vipin
PDF
Software training report
PPTX
Android architecture
PDF
01 03 - introduction to android
PPT
Android software stack
DOC
Android Report
PDF
Evolution of Android Operating System and it’s Versions
PPTX
Session 2 beccse
PPTX
Ii 1300-java essentials for android
PPTX
Ii 1100-android development for fun and profit
PPT
Industrial Training in Android Application
PPTX
Android architecture
Android
Android primer
ANDROID
Javame sdk-datasheet-167819
Android..overwiew
Android App Development Intro at ESC SV 2012
Ch1 hello, android
Android : Architecture & Components
Android By Vipin
Software training report
Android architecture
01 03 - introduction to android
Android software stack
Android Report
Evolution of Android Operating System and it’s Versions
Session 2 beccse
Ii 1300-java essentials for android
Ii 1100-android development for fun and profit
Industrial Training in Android Application
Android architecture
Ad

Similar to Android development classes in chandigarh : Big Boxx Academy (20)

PPTX
Android development tutorial
PPTX
Introduction to Android (before 2015)
PPTX
Android
PPTX
Android Basic
PPTX
Unit 1 to android Introduction to Android.pptx
PPTX
Android Architecture design programming with java
PPT
Getting started with android dev and test perspective
PPTX
Basic of Android App Development
PDF
01 02 - introduction - adroid stack
PDF
Mobile Application Development-Lecture 03 & 04.pdf
PPT
1 introduction of android
PPT
Chapter 1 Introduction to android.ppt pl
PDF
Matteo Gazzurelli - Introduction to Android Development - Have a break edition
PPT
PPT Companion to Android
PPTX
Android deep dive
PPTX
Introduction to Android Development Part 1
PPTX
Seminar on android app development
PPT
An introduction to Android
PDF
Wifi Direct Based Chat And File Transfer Android Application
PDF
Android Application Development Presentation
Android development tutorial
Introduction to Android (before 2015)
Android
Android Basic
Unit 1 to android Introduction to Android.pptx
Android Architecture design programming with java
Getting started with android dev and test perspective
Basic of Android App Development
01 02 - introduction - adroid stack
Mobile Application Development-Lecture 03 & 04.pdf
1 introduction of android
Chapter 1 Introduction to android.ppt pl
Matteo Gazzurelli - Introduction to Android Development - Have a break edition
PPT Companion to Android
Android deep dive
Introduction to Android Development Part 1
Seminar on android app development
An introduction to Android
Wifi Direct Based Chat And File Transfer Android Application
Android Application Development Presentation
Ad

Recently uploaded (20)

PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
Insiders guide to clinical Medicine.pdf
PPTX
Cell Types and Its function , kingdom of life
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PPTX
Cell Structure & Organelles in detailed.
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
Institutional Correction lecture only . . .
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
Basic Mud Logging Guide for educational purpose
PDF
RMMM.pdf make it easy to upload and study
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
Pharma ospi slides which help in ospi learning
PDF
Anesthesia in Laparoscopic Surgery in India
PPH.pptx obstetrics and gynecology in nursing
Insiders guide to clinical Medicine.pdf
Cell Types and Its function , kingdom of life
O5-L3 Freight Transport Ops (International) V1.pdf
STATICS OF THE RIGID BODIES Hibbelers.pdf
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
Cell Structure & Organelles in detailed.
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
VCE English Exam - Section C Student Revision Booklet
Institutional Correction lecture only . . .
Abdominal Access Techniques with Prof. Dr. R K Mishra
Basic Mud Logging Guide for educational purpose
RMMM.pdf make it easy to upload and study
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Pharma ospi slides which help in ospi learning
Anesthesia in Laparoscopic Surgery in India

Android development classes in chandigarh : Big Boxx Academy

  • 1. Android Development Classes in Chandigarh www.bigboxx.in Phone 0172-4612244 ,+918427023322, Address: S.C.O. 146-147,Basement, , Sector 34- A,Chandigarh – 160034, India, Email id: info@bigboxx.in
  • 2. Contents 2 What’s Android Android architecture Android software development ‘Hello World’ on Android More… 2014/8/2Bigboxx.in
  • 4. Android Phones 4 Motorola CliqHTC G1 HTC HeroSamsung i7500 Samsung Moment Motorola DroidHTC Magic HTC Tattoo Sony X10 2014/8/2
  • 5. Mobile Devices 5 It’s obvious that mobile device may take the place of PC in future OS plays a vital part Processor Device Embedded OS Middleware Apps 2014/8/2
  • 7. OHA and Android 7 OHA(Open Handset Alliance) is a group of 71 technology and mobile companies, including Google, Intel, Dell, HTC and China Mobile… OHA’s aim: accelerate innovation in mobile phones offer consumers a richer, less expensive, and better mobile experience OHA developed Android™, the first complete, open, and free mobile platform OHA was initially called up by Google, and Google is the ‘captain’ 2014/8/2
  • 8. What’s Android 8 Generally, Android is a software stack for mobile devices that includes an operating system, middleware and key applications Android is based on JAVA and all its applications are developed in JAVA The JAVA VM, known as Dalvik, is highly customized and optimized for mobile devices Android SDK offers rich tools for android application development and many useful APIs。 The core of Android 2014/8/2
  • 9. Android Features #1 9 Application framework enabling reuse and replacement of components Optimized Java virtual machine: Dalvik Optimized Graphics Processing, supporting 2D and 3D graphics(OpenGL ES 1.0 ) Integrated open source web browser: WebKit SQLite for structured data storage 2014/8/2
  • 10. Android Features #2 10 Multimedia capability, supporting varieties of audio, video and still image formats GSM Telephony Bluetooth, EDGE, 3G and Wi-Fi support Camera, GPS, compass, accelerometer and other sensors support Rich development environment, including an emulator, debugging tools, memory probe tools, log tools and powerful eclipse plugins Hardware dependent 2014/8/2
  • 13. Linux Kernel 13 Note that Android based on a Linux kernel not a Linux OS Supplies Security, Memory management, Process management, Network stack and Driver model Acts as an abstraction layer between the hardware and the rest of the software stack 2014/8/2
  • 14. Libraries 14 Run in system background Using C/C++ Language 4 types of Libraries Bionic Libc, system C libraries Function Libraries, supporting multimedia, web browser, SQLite... Native Servers Hardware Abstraction Libraries 2014/8/2
  • 15. Core Libraries 15 System C library, the standard C system library, tuned for embedded Linux-based devices Media Libraries, support playback and recording of many popular audio and video formats, as well as image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG Surface Manager, manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications WebKit, a modern web browser engine which powers both the Android browser and an embeddable web view SGL, the underlying 2D graphics engine 3D libraries, an implementation based on OpenGL ES 1.0 APIs FreeType , bitmap and vector font rendering SQLite , a powerful and lightweight relational database engine 2014/8/2
  • 16. Andoid Runtime 16 The core of Android platform Dalvik Virtual Machine Register-based Executes files in the Dalvik Executable (.dex) format Java core Libraries Provides most of the functionality of the Java programming language. 2014/8/2
  • 17. Android Runtime (cont.) 17 The functions of Java core libraries rely on the Dalvik VM and the underlying Linux kernel Multiple Dalvik VMs may run at the same time Every Android application runs in its own process, with its own instance of the Dalvik virtual machine The "dx" tool in Android SDK can transform compiled JAVA class into the .dex format 2014/8/2
  • 18. Dalvik Virtual Machine 18 Android custom implementation virtual machine Provides application portability and runtime consistency Runs optimized file format (.dex) and Dalvik bytecode Java .class / .jar files converted to .dex at build time Designed for embedded environment Supports multiple virtual machine processes per device Highly CPU-optimized bytecode interpreter Efficiently Using runtime memory Core Libraries Core APIs for Java language provide a powerful, yet simple and familiar development platform 2014/8/2
  • 19. DVM vs. JVM 19 DVM Google Dalvik executable Only supports a subset of standard Java Library JVM Sun Java bytecode Some worries that Java world may be divided into different communities, each has its own Java standard 2014/8/2
  • 20. Application Framework 20 Simplify the reuse of components Applications can publish their capabilities and any other application may then make use of those capabilities Applications is a set of services and systems, include Views system, content providers, resources manager and so on 2014/8/2
  • 21. Application Framework (cont.) 21 Activity Manager, manages the lifecycle of applications and provides a common navigation backstack Notification Manager, enables all applications to display custom alerts in the status bar Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files Content Providers, access data from other applications (such as Contacts), or to share their own data Views, used to build an application, including lists, grids, text boxes, buttons, and even an embeddable web browser 2014/8/2
  • 22. Applications 22 A set of core applications shipped with Android platform an email client, SMS program, calendar, maps, browser, contacts, and others All written in Java Our applications are in the same level as these applications 2014/8/2
  • 24. Development Environment IDE – Eclipse Eclipse plug-in - ADT Software Development Kit (SDK) Android Emulator Debugger 2014/8/224
  • 25. Setup Android SDK 25 Download Android SDK and extract the zip file to an arbitrary folder http://androidappdocs.appspot.com/sdk/index.html E.g.: extract to C: The SDK will be used by ADT in eclipse 2014/8/2
  • 26. Setup ADT plugin 26 Install Eclipse ADT plugin Eclipse must be J2EE edition, 3.5 recommended Update site: https://dl- ssl.google.com/android/eclip se/ Install all the plugins in the repository Restart needed after installation 2014/8/2
  • 27. Configure ADT Plugin 27 Open eclipse Window->Preferences, select Android Setup the SDK location as the folder where you extracted the downloaded SDK zip file 2014/8/2
  • 28. Setup SDK APIs 28 Open Window->Android SDK and AVD Manager Click Available Packages and then choose proper APIs to install, the latest may be the best 2014/8/2
  • 29. Setup Emulators 29 After SDK APIs installation, click Virtual Devices Click new, there will be a dialog input a name choose a running target and a skin specify the SD card size 2014/8/2
  • 30. Ready… 30 Now you may start the AVD Click start to start the new AVD First start-up may take a very long time 2014/8/2
  • 31. Create a new Android Project 31 Open File->New- >Android project Project name Build Target Application name Package name Create Activity 2014/8/2
  • 32. Hello World Project 32 src: source folder gen: SDK generated file android 2.2: reference lib assets: binary resources res: resource files and resource description files AndroidManifest.xml: application description file default.properties: project properties file 2014/8/2
  • 33. Say Hello World 33 modify HelloWorld.java 2014/8/2
  • 34. Run Hello World 34 Select HelloWorld Project, Run->Run as->Android Application ADT will start a proper AVD and run HelloWorld app on it 2014/8/2
  • 35. Behind HelloWorld #1 35 R.java, generated by Android SDK, represents all the resources of the app. resources are all in res folder resources are pre-compiled into binary format /* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */ package sample.hello; 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=0x7f040001; public static final int hello=0x7f040000; } } 2014/8/2
  • 36. Linear Layout Behind HelloWorld #2 36 res/layout , contains layout declarations of the app, in XML format, UIs are built according to the layout file main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=http://schemas.android.com/apk/res/android android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> </LinearLayout> TextView, display static text A reference to String resource ‘hello’ 2014/8/2
  • 37. referenced in res/layout/mai n.xml Behind HelloWorld #3 37 res/values, contains string declarations or other values(e.g.:colors) of the app string.xml, contains string resources <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, HelloWorld!</string> <string name="app_name">HelloWorld</string> </resources> referenced in AndroidManifest.xml 2014/8/2
  • 38. Behind HelloWorld #4 38 res/drawable, contains all image resources folders may have suffixes, app will choose the most suitable one, so do the other resources three folders: drawable-ldpi, drawable-hdpi, drawable-mdpi, each contains an icon.png file app will choose the proper icon according to the device DPI reference name:@drawable/icon other folders we may use in future menu, anim (animation), xml ( preference and searchable) 2014/8/2
  • 39. Behind HelloWorld #5 39 AndroidManifest.xml describe the application declare app’s name, version, icon, permission, etc… declare the application's components: activity, service ,receiver or provider <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="sample.hello" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".HelloWorld" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER”/> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="8" /> </manifest> 2014/8/2
  • 40. Core Components-Activity #1 40 Basically, An activity presents a visual user interface for one focused endeavor the user can undertake An application might consist of just one activity or several, each Activity is derived from android.app.Activity and should be declared in AndroidManifest.xml file Each activity is given a default window to draw in, the window may be full screen or smaller and on top of other window The visual content of the window is provided by a hierarchy of views — objects derived from the base View class Activity.setContentView() method is used to set a certain hierarchy of view objects 2014/8/2
  • 41. Core Components-Activity #2 41 Activities are activated by asynchronous messages called intents An intent is an Intent object that holds the content of the message The action being requested or the URI of the data to act on The <intent-filter> label in AndroidManifest.xml file specifies the Intent that can start the Activity declares the main activity, it will be started automatically when the app starts An activity is launched (or given something new to do) by passing an Intent object to Context.startActivity() or Activity.startActivityForResult() 2014/8/2
  • 43. Other Core Components 43 Service A service doesn't have a visual user interface, runs in the background for a period of time Broadcast receivers a component that does nothing but receive and react to broadcast announcements Content providers A content provider makes a specific set of the application's data available to other applications. The data can be stored in the file system, in an SQLite database, or in any other manner that makes sense 2014/8/2
  • 44. Beyond HelloWorld #1 44 Build up an app that you can input your greetings and display your greetings Input: EditText Display: TextView Of course, we have to add an button Edit res/layout/main.xml file to add these components each has an android:id property, used to reference it in code 2014/8/2
  • 45. Beyond HelloWorld #2 45 modify HelloWorld.java firstly get the references declared in main.xml then add event response for Button 2014/8/2
  • 46. Beyond HelloWorld #3 46 Finished! Run->Run as->Android Application Quite easy, isn’t it? 2014/8/2
  • 47. Useful Materials 47 Android Official Site • http://www.android.com Android SDK, Tutorial, Concepts and API docs • http://androidappdocs.appspot.com/index.html Android Development Community • http://www.anddev.org/ 30 Days Android Apps Development • http://bakhtiyor.com/category/30-days-of-android-apps/ 2014/8/2
  • 48. Thank U so much! 48 Contact Details: Big Boxx Academy Phone 0172-4612244 ,+918427023322 Address: S.C.O. 146-147,Basement, Sector 34-A,Chandigarh – 160034, India Website : www.bigboxx.in Email id: info@bigboxx.in 2014/8/2