SlideShare a Scribd company logo
An Introduction to Android
Huang Xuguang
Database Lab. Inha University
2009.11.2
Email: xuguanghuang@yahoo.cn
Outline
• Background
• What is Android?
• Development for Android
Background
Internet users and Mobile phone users
Source: http://en.wikipedia.org/wiki/Digital_divide
Open Handset Alliance(OHA)
Mobile Operators
Handset Manufacturers
Semiconductor Companies Software Companies Commercialization Companies
Source: http://www.openhandsetalliance.com
What is Android?
Android™ delivers a complete set of
software for mobile devices: an
operating system, middleware and
key mobile applications.
Open
All application and Created equal
Breaking down application boundaries
Fast & easy application development
History of Android
• 2001 search service for wireless device
• 2005
– Acquire Android(Andy Rubin: Danger CEO, Development Sidekick of T-Mobile)
– Acquire Skia (2D Graphics for mobile device)
– Acquire RegWireless (Browser and Email for mobile device)
– Move Engineers from PlamSource (Dianne Hackborn, etc…)
• 2007 Nov 5: Android announced
• 2007 Nov 12: Android SDK released by OHA
• 2007 Dec 14: Bug-fix SDK released
• 2008 Jan 3: Android Developer Challenge I starts accepting submissions
• 2008 Feb 13: m5-rc15 SDK released
• 2008 Apr 14: 1788 total submissions for Challenge I
• 2008 May 12: Top 50 Applications in Challenge I announced
• 2008 Nov: Android Phone(G1 Phone by HTC/T-mobile)
• 2008 Nov: Full Source Open
• 2009 Apr: HTC Magic
• 2009 July: HTC Hero, Samsung i7500, Android Netbook, Set-top……
• 2009 Aug: Android Developer Challenge II
Industry Developer
Open
Industry
Software stack open-
sourced under Apache
2.0 license
Source available after
first handsets ship
Anyone will be able to
build a system image
Developer
Don not need
permission to ship an
application
No hidden or privileged
framework APIs
Can integrate, extend
and replace existing
components
Users
Users have control of
their experience
They control what
gets installed
They choose the
defaults
Users
Integrate Extended Replace
Android Architecture
Core Libraries
Provides the functionality of the JAVA
Programming Language
Android Application runs in its own process, with
its own instance of the Dalvik virtual machine
Dalvik VM: Java based license free VM
•Register based VM, optimization for low
memory requirements
•Executes files in the Dalvik Executable (.dex)
format
•DX tool converts classes to .dex format
Details of Architecture(1/4)
Linux Version 2.6.x for core system services
Android uses only “Kernel” portion in Linux
Details of Architecture(2/4)
• Libc: c standard lib.
• SSL: Secure Socket Layer
• SGL: 2D image engine
• OpenGL|ES: 3D image engine
• Media Framework: Core part of Android multi-media
• SQLite: Embedded database
• WebKit: Kernel of web browser
• FreeType: Bitmap and Vector
• Sufrace Manager: Manage difference windows for
different applications
Details of Architecture(3/4)
• No limited application
• Equality of each apps.
• Easy to embedded web browser
• Parallel running
Details of Architecture(4/4)
• The Design goal of
Android: Openness
– Be as flexible as possible
– How it handles access to
data: Mash up on the
internet and everything
else
– Rapid development(XML,
Java)
• Develop Language
– App: Java
– Framework: Java
– Libraries: C/C++
– OS & Driver: C
Java
C/C++
C
Develop for Android
Application Architecture
• Dev. Language: Java
• Virtual Machine:
– Dalvik VM, not JVM.
– Open source
• Application: consists of one or
more of the following
classifications
– Activities
– Services
– Content providers
– Broadcast receivers
Dalvik Virtual Machine
Android SDK
• android.jar Java archive file containing all of the Android SDK classes necessary to
build your application.
• documention.html and docs directory The SDK documentation is provided
locally and on the Web. It's largely in the form of JavaDocs, making it easy to
navigate the many packages in the SDK. The documentation also includes a high-
level Development Guide and links to the broader Android community.
• Samples directory The samples subdirectory contains full source code for a
variety of applications, including Api Demo, which exercises many APIs. The
sample application is a great place to explore when starting Android application
development.
• Tools directory Contains all of the command-line tools to build Android
applications. The most commonly employed and useful tool is the adb utility
(Android Debug Bridge).
• Usb_driver Directory containing the necessary drivers to connect the
development environment to an Android-enabled device, such as the G1 or the
Android Dev 1 unlocked development phone. These files are only required for
developers using the Windows platform.
Tools
• Emulator
– Android applications may be
run on a real device or on the
Android Emulator, which ships
with the Android SDK.
• ADB (Android Debug Bridge)
– The ADB utility lets you
connect to the phone itself
and issue rudimentary shell
commands, such as copying
files to and from the device.
Development Environments
• Eclipse 3.2.3.3
• Eclipse JDT Plugin
• JDK 5 or 6
• ADT:Android Development
Tools plug-in
Example: HelloWorld
Running on Emulator
Cases
Summary
• Benefits
– Open Platform/License Free
– Robust OS Kernel, Innovative Library Packages
– Ease App. Development
– Rapid Improvement
• Challenges
– Performance Consideration
– Hard to Integrate for Vendors
– Too Much Google Dependent
• Key Factor: Market Response
References
• An Introduction to Android. Jason Chen, 2008
• Introduction to Android Development. Frank Ableson, May 12,
2009
– http://www.ibm.com/developerworks/opensource/library/os-android-
devel/index.html?S_TACT=105AGX52&S_CMP=content
• Homepage of OHA
– http://www.openhandsetalliance.com/
• Introduction to Android Development. Ed Burnette, 2009
• Android Overview. 이승민, Oct 27, 2009
Resources
• http://developer.android.com
– Home page for Android development and documentation
• http://groups.google.com/group/android-beginners
– Forum for development questions (beginner)
• http://groups.google.com/group/android-developers
– Forum for development questions (advanced)
• http://www.planetandroid.com
– Blogs and news from around the Android community
• http://pragprog.com/titles/eband
– <book> Hello, Android: Introducing Google’s Mobile Development
Platform
• Videos
Android 1.6 office show: http://www.youtube.com/watch?v=MBRFkLKRwFw
Android architecture:
I: http://www.youtube.com/watch?v=QBGfUs9mQYY
II: http://www.youtube.com/watch?v=fL6gSd4ugSI
III: http://www.youtube.com/watch?v=MPukbH6D-lY
Android Introduction by google I/O 2008: http://www.youtube.com/watch?v=x1ZZ-R3p_w8

More Related Content

What's hot

Anatomy of android aplication
Anatomy of android aplicationAnatomy of android aplication
Anatomy of android aplication
poojapainter
 
Android architecture
Android architectureAndroid architecture
Android architecture
Srinivas Devarapalli
 
INTEL XDK
INTEL XDKINTEL XDK
INTEL XDK
Sumit Rajpal
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions new
Joe Jacob
 
Android
AndroidAndroid
Android
Ravi Vyas
 
Crosswalk and the Intel XDK
Crosswalk and the Intel XDKCrosswalk and the Intel XDK
Crosswalk and the Intel XDK
Intel® Software
 
Lick my Lollipop
Lick my LollipopLick my Lollipop
Lick my Lollipop
Tamara Momčilović
 
Mobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKMobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDK
Intel® Software
 
Tizen OS
Tizen OSTizen OS
Tizen OS
Hadi uzzaman
 
.Net Online TechTalk “Your application is going to stay more serverless by us...
.Net Online TechTalk “Your application is going to stay more serverless by us....Net Online TechTalk “Your application is going to stay more serverless by us...
.Net Online TechTalk “Your application is going to stay more serverless by us...
GlobalLogic Ukraine
 
Android General information
Android General informationAndroid General information
Android General information
Prashant Gosai
 
Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015
Ken Owens
 
DockerPenang Meetup #3
DockerPenang Meetup #3DockerPenang Meetup #3
DockerPenang Meetup #3
Sujay Pillai
 
“Full-stack developer: з чого розпочати кар’єру?”
 “Full-stack developer: з чого розпочати кар’єру?”  “Full-stack developer: з чого розпочати кар’єру?”
“Full-stack developer: з чого розпочати кар’єру?”
GlobalLogic Ukraine
 
Microsoft .Net Technology
Microsoft .Net TechnologyMicrosoft .Net Technology
Microsoft .Net Technology
vijayakumari kaliannan
 
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
DevOps for Enterprise Systems
 
Android course1
Android course1Android course1
Android course1
Andres Dominguez
 
.NET Framework
.NET Framework.NET Framework
.NET Framework
vijayakumari kaliannan
 
Android quick talk
Android quick talkAndroid quick talk
Android quick talk
SenthilKumar Selvaraj
 
Android
AndroidAndroid

What's hot (20)

Anatomy of android aplication
Anatomy of android aplicationAnatomy of android aplication
Anatomy of android aplication
 
Android architecture
Android architectureAndroid architecture
Android architecture
 
INTEL XDK
INTEL XDKINTEL XDK
INTEL XDK
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions new
 
Android
AndroidAndroid
Android
 
Crosswalk and the Intel XDK
Crosswalk and the Intel XDKCrosswalk and the Intel XDK
Crosswalk and the Intel XDK
 
Lick my Lollipop
Lick my LollipopLick my Lollipop
Lick my Lollipop
 
Mobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKMobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDK
 
Tizen OS
Tizen OSTizen OS
Tizen OS
 
.Net Online TechTalk “Your application is going to stay more serverless by us...
.Net Online TechTalk “Your application is going to stay more serverless by us....Net Online TechTalk “Your application is going to stay more serverless by us...
.Net Online TechTalk “Your application is going to stay more serverless by us...
 
Android General information
Android General informationAndroid General information
Android General information
 
Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015
 
DockerPenang Meetup #3
DockerPenang Meetup #3DockerPenang Meetup #3
DockerPenang Meetup #3
 
“Full-stack developer: з чого розпочати кар’єру?”
 “Full-stack developer: з чого розпочати кар’єру?”  “Full-stack developer: з чого розпочати кар’єру?”
“Full-stack developer: з чого розпочати кар’єру?”
 
Microsoft .Net Technology
Microsoft .Net TechnologyMicrosoft .Net Technology
Microsoft .Net Technology
 
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
Leverage DevOps & Agile Development to Transform Your Application Testing Pro...
 
Android course1
Android course1Android course1
Android course1
 
.NET Framework
.NET Framework.NET Framework
.NET Framework
 
Android quick talk
Android quick talkAndroid quick talk
Android quick talk
 
Android
AndroidAndroid
Android
 

Viewers also liked

웹 접근성 부록 B
웹 접근성 부록 B웹 접근성 부록 B
웹 접근성 부록 BSoojin Lim
 
Social networking
Social networkingSocial networking
Social networking
Yash Mehta
 
Installing android sdk on net beans
Installing android sdk on net beansInstalling android sdk on net beans
Installing android sdk on net beans
Aravindharamanan S
 
Brian
BrianBrian
Brian
BRIANDVB
 
áLbum de fotografías
áLbum de fotografíasáLbum de fotografías
áLbum de fotografías
trinia28
 
Elgg in Healthcare
Elgg in HealthcareElgg in Healthcare
Elgg in Healthcare
London Elgg Meetup
 
What is new in elgg 1.8?
What is new in elgg 1.8?What is new in elgg 1.8?
What is new in elgg 1.8?
London Elgg Meetup
 
Gas water heater
Gas water heaterGas water heater
Gas water heater
Yash Mehta
 
Prezentacja
PrezentacjaPrezentacja
Prezentacjakavayee
 
Education resource centre
Education resource centreEducation resource centre
Education resource centre
acalfredo19811
 
Municipal water treatment project
Municipal water treatment projectMunicipal water treatment project
Municipal water treatment project
dpietsch14
 
IT in banking
IT in bankingIT in banking
IT in banking
Yash Mehta
 
UI사용성 테스트 실무 - 주요 이슈 사항별 사용성 검토 사항 정리
UI사용성 테스트 실무 - 주요 이슈 사항별 사용성 검토 사항 정리UI사용성 테스트 실무 - 주요 이슈 사항별 사용성 검토 사항 정리
UI사용성 테스트 실무 - 주요 이슈 사항별 사용성 검토 사항 정리
Soojin Lim
 
경제심리학 챕터 10 - 왜 인간은 똑같은 실수를 되풀이하는가?
경제심리학 챕터 10 - 왜 인간은 똑같은 실수를 되풀이하는가?경제심리학 챕터 10 - 왜 인간은 똑같은 실수를 되풀이하는가?
경제심리학 챕터 10 - 왜 인간은 똑같은 실수를 되풀이하는가?
Soojin Lim
 
Apostila aim básico excel
Apostila aim básico   excelApostila aim básico   excel
Apostila aim básico excel
nailton galdino
 

Viewers also liked (15)

웹 접근성 부록 B
웹 접근성 부록 B웹 접근성 부록 B
웹 접근성 부록 B
 
Social networking
Social networkingSocial networking
Social networking
 
Installing android sdk on net beans
Installing android sdk on net beansInstalling android sdk on net beans
Installing android sdk on net beans
 
Brian
BrianBrian
Brian
 
áLbum de fotografías
áLbum de fotografíasáLbum de fotografías
áLbum de fotografías
 
Elgg in Healthcare
Elgg in HealthcareElgg in Healthcare
Elgg in Healthcare
 
What is new in elgg 1.8?
What is new in elgg 1.8?What is new in elgg 1.8?
What is new in elgg 1.8?
 
Gas water heater
Gas water heaterGas water heater
Gas water heater
 
Prezentacja
PrezentacjaPrezentacja
Prezentacja
 
Education resource centre
Education resource centreEducation resource centre
Education resource centre
 
Municipal water treatment project
Municipal water treatment projectMunicipal water treatment project
Municipal water treatment project
 
IT in banking
IT in bankingIT in banking
IT in banking
 
UI사용성 테스트 실무 - 주요 이슈 사항별 사용성 검토 사항 정리
UI사용성 테스트 실무 - 주요 이슈 사항별 사용성 검토 사항 정리UI사용성 테스트 실무 - 주요 이슈 사항별 사용성 검토 사항 정리
UI사용성 테스트 실무 - 주요 이슈 사항별 사용성 검토 사항 정리
 
경제심리학 챕터 10 - 왜 인간은 똑같은 실수를 되풀이하는가?
경제심리학 챕터 10 - 왜 인간은 똑같은 실수를 되풀이하는가?경제심리학 챕터 10 - 왜 인간은 똑같은 실수를 되풀이하는가?
경제심리학 챕터 10 - 왜 인간은 똑같은 실수를 되풀이하는가?
 
Apostila aim básico excel
Apostila aim básico   excelApostila aim básico   excel
Apostila aim básico excel
 

Similar to Introduction to android

Introduction to android
Introduction to androidIntroduction to android
Introduction to android
krishnastudent88
 
android
androidandroid
android
Akhil Kumar
 
Androidoverview 100405150711-phpapp01
Androidoverview 100405150711-phpapp01Androidoverview 100405150711-phpapp01
Androidoverview 100405150711-phpapp01
Santosh Sh
 
Android report.
Android report.Android report.
Android report.
Shivananda Rai
 
01 03 - introduction to android
01  03 - introduction to android01  03 - introduction to android
01 03 - introduction to android
Siva Kumar reddy Vasipally
 
Android
AndroidAndroid
Android
Tapan Khilar
 
Android technology
Android technology Android technology
Android technology
vikas malviya
 
Getting started with android
Getting started with androidGetting started with android
Getting started with android
amitgb
 
Android ppt
Android pptAndroid ppt
Android Applications
Android ApplicationsAndroid Applications
Android Applications
Nazeer Hussain University
 
Android ppt
Android ppt Android ppt
Android Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdfAndroid Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdf
NomanKhan869872
 
Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA
NITIN GUPTA
 
Chapter 1 Introduction to android.ppt pl
Chapter 1 Introduction to android.ppt plChapter 1 Introduction to android.ppt pl
Chapter 1 Introduction to android.ppt pl
ENBAKOMZAWUGA
 
Android
AndroidAndroid
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
lzongren
 
Introduction to Android - Seminar
Introduction to Android - SeminarIntroduction to Android - Seminar
Introduction to Android - Seminar
Akshay Sharma
 
Introduction to Android - Seminar
Introduction to Android - SeminarIntroduction to Android - Seminar
Introduction to Android - Seminar
Akshay Sharma
 
Android presentation slide
Android presentation slideAndroid presentation slide
Android presentation slide
APSMIND TECHNOLOGY PVT LTD.
 
Android
AndroidAndroid
Android
vaisakhtg
 

Similar to Introduction to android (20)

Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
android
androidandroid
android
 
Androidoverview 100405150711-phpapp01
Androidoverview 100405150711-phpapp01Androidoverview 100405150711-phpapp01
Androidoverview 100405150711-phpapp01
 
Android report.
Android report.Android report.
Android report.
 
01 03 - introduction to android
01  03 - introduction to android01  03 - introduction to android
01 03 - introduction to android
 
Android
AndroidAndroid
Android
 
Android technology
Android technology Android technology
Android technology
 
Getting started with android
Getting started with androidGetting started with android
Getting started with android
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Android Applications
Android ApplicationsAndroid Applications
Android Applications
 
Android ppt
Android ppt Android ppt
Android ppt
 
Android Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdfAndroid Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdf
 
Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA
 
Chapter 1 Introduction to android.ppt pl
Chapter 1 Introduction to android.ppt plChapter 1 Introduction to android.ppt pl
Chapter 1 Introduction to android.ppt pl
 
Android
AndroidAndroid
Android
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
 
Introduction to Android - Seminar
Introduction to Android - SeminarIntroduction to Android - Seminar
Introduction to Android - Seminar
 
Introduction to Android - Seminar
Introduction to Android - SeminarIntroduction to Android - Seminar
Introduction to Android - Seminar
 
Android presentation slide
Android presentation slideAndroid presentation slide
Android presentation slide
 
Android
AndroidAndroid
Android
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Zilliz
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 

Introduction to android

  • 1. An Introduction to Android Huang Xuguang Database Lab. Inha University 2009.11.2 Email: xuguanghuang@yahoo.cn
  • 2. Outline • Background • What is Android? • Development for Android
  • 4. Internet users and Mobile phone users Source: http://en.wikipedia.org/wiki/Digital_divide
  • 5. Open Handset Alliance(OHA) Mobile Operators Handset Manufacturers Semiconductor Companies Software Companies Commercialization Companies Source: http://www.openhandsetalliance.com
  • 7. Android™ delivers a complete set of software for mobile devices: an operating system, middleware and key mobile applications. Open All application and Created equal Breaking down application boundaries Fast & easy application development
  • 8. History of Android • 2001 search service for wireless device • 2005 – Acquire Android(Andy Rubin: Danger CEO, Development Sidekick of T-Mobile) – Acquire Skia (2D Graphics for mobile device) – Acquire RegWireless (Browser and Email for mobile device) – Move Engineers from PlamSource (Dianne Hackborn, etc…) • 2007 Nov 5: Android announced • 2007 Nov 12: Android SDK released by OHA • 2007 Dec 14: Bug-fix SDK released • 2008 Jan 3: Android Developer Challenge I starts accepting submissions • 2008 Feb 13: m5-rc15 SDK released • 2008 Apr 14: 1788 total submissions for Challenge I • 2008 May 12: Top 50 Applications in Challenge I announced • 2008 Nov: Android Phone(G1 Phone by HTC/T-mobile) • 2008 Nov: Full Source Open • 2009 Apr: HTC Magic • 2009 July: HTC Hero, Samsung i7500, Android Netbook, Set-top…… • 2009 Aug: Android Developer Challenge II
  • 9. Industry Developer Open Industry Software stack open- sourced under Apache 2.0 license Source available after first handsets ship Anyone will be able to build a system image Developer Don not need permission to ship an application No hidden or privileged framework APIs Can integrate, extend and replace existing components Users Users have control of their experience They control what gets installed They choose the defaults Users
  • 12. Core Libraries Provides the functionality of the JAVA Programming Language Android Application runs in its own process, with its own instance of the Dalvik virtual machine Dalvik VM: Java based license free VM •Register based VM, optimization for low memory requirements •Executes files in the Dalvik Executable (.dex) format •DX tool converts classes to .dex format Details of Architecture(1/4) Linux Version 2.6.x for core system services Android uses only “Kernel” portion in Linux
  • 13. Details of Architecture(2/4) • Libc: c standard lib. • SSL: Secure Socket Layer • SGL: 2D image engine • OpenGL|ES: 3D image engine • Media Framework: Core part of Android multi-media • SQLite: Embedded database • WebKit: Kernel of web browser • FreeType: Bitmap and Vector • Sufrace Manager: Manage difference windows for different applications
  • 14. Details of Architecture(3/4) • No limited application • Equality of each apps. • Easy to embedded web browser • Parallel running
  • 15. Details of Architecture(4/4) • The Design goal of Android: Openness – Be as flexible as possible – How it handles access to data: Mash up on the internet and everything else – Rapid development(XML, Java) • Develop Language – App: Java – Framework: Java – Libraries: C/C++ – OS & Driver: C Java C/C++ C
  • 17. Application Architecture • Dev. Language: Java • Virtual Machine: – Dalvik VM, not JVM. – Open source • Application: consists of one or more of the following classifications – Activities – Services – Content providers – Broadcast receivers Dalvik Virtual Machine
  • 18. Android SDK • android.jar Java archive file containing all of the Android SDK classes necessary to build your application. • documention.html and docs directory The SDK documentation is provided locally and on the Web. It's largely in the form of JavaDocs, making it easy to navigate the many packages in the SDK. The documentation also includes a high- level Development Guide and links to the broader Android community. • Samples directory The samples subdirectory contains full source code for a variety of applications, including Api Demo, which exercises many APIs. The sample application is a great place to explore when starting Android application development. • Tools directory Contains all of the command-line tools to build Android applications. The most commonly employed and useful tool is the adb utility (Android Debug Bridge). • Usb_driver Directory containing the necessary drivers to connect the development environment to an Android-enabled device, such as the G1 or the Android Dev 1 unlocked development phone. These files are only required for developers using the Windows platform.
  • 19. Tools • Emulator – Android applications may be run on a real device or on the Android Emulator, which ships with the Android SDK. • ADB (Android Debug Bridge) – The ADB utility lets you connect to the phone itself and issue rudimentary shell commands, such as copying files to and from the device.
  • 20. Development Environments • Eclipse 3.2.3.3 • Eclipse JDT Plugin • JDK 5 or 6 • ADT:Android Development Tools plug-in Example: HelloWorld Running on Emulator
  • 21. Cases
  • 22.
  • 23. Summary • Benefits – Open Platform/License Free – Robust OS Kernel, Innovative Library Packages – Ease App. Development – Rapid Improvement • Challenges – Performance Consideration – Hard to Integrate for Vendors – Too Much Google Dependent • Key Factor: Market Response
  • 24. References • An Introduction to Android. Jason Chen, 2008 • Introduction to Android Development. Frank Ableson, May 12, 2009 – http://www.ibm.com/developerworks/opensource/library/os-android- devel/index.html?S_TACT=105AGX52&S_CMP=content • Homepage of OHA – http://www.openhandsetalliance.com/ • Introduction to Android Development. Ed Burnette, 2009 • Android Overview. 이승민, Oct 27, 2009
  • 25. Resources • http://developer.android.com – Home page for Android development and documentation • http://groups.google.com/group/android-beginners – Forum for development questions (beginner) • http://groups.google.com/group/android-developers – Forum for development questions (advanced) • http://www.planetandroid.com – Blogs and news from around the Android community • http://pragprog.com/titles/eband – <book> Hello, Android: Introducing Google’s Mobile Development Platform • Videos Android 1.6 office show: http://www.youtube.com/watch?v=MBRFkLKRwFw Android architecture: I: http://www.youtube.com/watch?v=QBGfUs9mQYY II: http://www.youtube.com/watch?v=fL6gSd4ugSI III: http://www.youtube.com/watch?v=MPukbH6D-lY Android Introduction by google I/O 2008: http://www.youtube.com/watch?v=x1ZZ-R3p_w8