1. Android Programming &
Application
Chien-Chung Wu (吳建中), Ph. D.
Associate Professor
Dept. Computer Science and Information Engineering
Southern Taiwan University of Technology
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
Agenda
• SmartPhones
– Symbian, Android, iPhone, Mobile, BlackBerry
– Comparison with Apps Store (Market)
– Comparison with Development Environment
• Which is the winner?
• Android History and Applications
• Android Programming-Application and
Framework
• References
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/ 1
2. Agenda
• SmartPhones
– Symbian, Android, iPhone, Mobile, BlackBerry
– Comparison with Apps Store (Market)
– Comparison with Development Environment
• Which is the winner?
• Android History and Applications
• Android Programming-Application and
Framework
• References
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
Smartphone rank by Different OS
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/ 2
3. Smart Phone Sales By OS
資料來源:http://gigaom.com/2010/03/18/the-mobile-os-market/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
The Smart Phone OS Market
資料來源:http://gigaom.com/2010/03/18/the-mobile-os-market/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/ 3
4. Agenda
• SmartPhones
– Symbian, Android, iPhone, Mobile, BlackBerry
– Comparison with Apps Store (Market)
– Comparison with Development Environment
• Which is the winner?
• Android History and Applications
• Android Programming-Application and
Framework
• References
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
Apps store (market)
• RIM BlackBerry app world
• Microsoft Mobile Market Place
• Nokia Ovi Store
• Google Android market
• Apple iPhone app store
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/ 4
5. RIM BlackBerry App World
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
Nokia Ovi Store
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/ 5
6. Google Android Market
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
Apple iPhone App Store
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/ 6
7. Microsoft Mobile Marketplace
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
OS vs. Apps
資料來源:http://www.sogi.com.tw/newforum/article_list.aspx?topic_id=6108341
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/ 7
8. Agenda
• SmartPhones
– Symbian, Android, iPhone, Mobile, BlackBerry
– Comparison with Apps Store (Market)
– Comparison with Development Environment
• Which is the winner?
• Android History and Applications
• Android Programming-Application and
Framework
• References
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
Development Environment Tools
• Nokia Symbian
• Apple iPhone
• Microsoft Mobile
• Google Android
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/ 8
9. Development Environment Tools
(Symbian)
• Active Perl Script
• Java
• Carbide.c++
• 3rd Edition Maintenance Release版本的S60
SDK
• Extensions plug-in for S60 5th Edition SDK
for Symbian OS, for C++, MR的擴展插件
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
Development Environment Tools
(iPhone)
• Mac OS
• iPhone Dev Center
• Need Apple ID
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/ 9
10. Development Environment Tools
(Mobile)
• .Net 2003/2005/2008
• Platform builder (for 4.2 and 5.0 only)
• .NET Compact Framework
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
Development Environment Tools
(Android)
• JDK5 or JDK6 version
• Eclipse IDE (3.3 or higher)
• Android Development Tools plugin
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/ 10
11. Agenda
• SmartPhones
– Symbian, Android, iPhone, Mobile, BlackBerry
– Comparison with Apps Store (Market)
– Comparison with Development Environment
• Which is the winner?
• Android History and Applications
• Android Programming-Application and
Framework
• References
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
Which is the winner?
• Royalty?
• Price?
• Open Source?
• Apps quantities?
• Functions? 資料來源:http://www.sogi.com.tw/newforum/article_list.aspx?topic_id=6108341
• UI?
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/ 11
12. Agenda
• SmartPhones
– Symbian, Android, iPhone, Mobile, BlackBerry
– Comparison with Apps Store (Market)
– Comparison with Development Environment
• Which is the winner?
• Android History and Applications
• Android Programming-Application and
Framework
• References
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
Android 1.5 (Cupcake)
• 2009年4月30日,官方1.5版本(Cupcake)
• Linux Kernel 2.6.27
• 拍攝/回放視訊,並支援上傳到youtube
• 支援立體聲藍牙耳機,同時改善自動配對性能
• 最新的採用WebKit技術的瀏覽器,支援拷貝/粘帖
和頁面中搜尋
• GPS性能大大提高
• 螢幕虛擬鍵盤
• 主螢幕增加音樂播放器和相框widgets
• 應用程式自動隨著手機旋轉 HTC Dream
• 簡訊,Gmail,日歷,瀏覽器的用戶介面大幅改
善,比如說Gmail現在可以批量刪除郵件了 HTC Magic
• 相機啟動速度加快,拍攝圖片可以直接上傳到 HTC Hero
picasa
• 來電照片顯示
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/ 12
17. Cardio Trainer vs. Pedometer
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
Google Sky map
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/ 17
18. fring vs. Skype Lite
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
Sensor Insider Lite
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/ 18
19. Game
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
Agenda
• SmartPhones
– Symbian, Android, iPhone, Mobile, BlackBerry
– Comparison with Apps Store (Market)
– Comparison with Development Environment
• Which is the winner?
• Android History and Applications
• Android Programming-Application and
Framework
• References
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/ 19
20. Android Programming
• Java
• Process Types
• Activity life cycle
• Framework
• Project Directory
• Permission
• UI
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
The Process Types of the Android
• Foreground process
(Active Process)
• Visible process
• Service process
• Background process
• Empty process
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/ 20
22. Standard Intents
• Web browser
• Phone Call
• Send Voice mail
• Active Google map and show map
• Active Street View
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
Application Framework and Event
driven flow
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/ 22
25. Resources (res/drawable)
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
Layout (FrameLayout)
• The simplest
type of layout
object
• Blank space/
fill with a single
object
• Subsequent
child views will
simply be
drawn over
previous ones
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/ 25
28. Resources (res/values)
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
How to get the Resources-XML
/res/values/string.xml
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/ 28
29. How to get the Resources-Java
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
AndroidManifest.xml
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/ 29
30. Create Virtual Device (AVD)
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
The UI of the Android
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/ 30
31. Permission • LOCATION:
ACCESS_COARSE_LOCATION
ACCESS_FINE_LOCATION
• PHONE:
CALL_PHONE
MODIFY_PHONE_STATE
READ_PHONE_STATE
VIBRATE
WIFI:
ACCESS_WIFI_STATE
• SMS:
READ_SMS
BROADCAST_SMS
RECEIVE_SMS
SEND_SMS
WRITE_SMS
• CAMERA:
CAMERA
• INTERNET:
INTERNET
• ORIENTATION:
SET_ORIENTATION
• WALLPAPER:
SET_WALLPAPER
…….
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
Agenda
• SmartPhones
– Symbian, Android, iPhone, Mobile, BlackBerry
– Comparison with Apps Store (Market)
– Comparison with Development Environment
• Which is the winner?
• Android History and Applications
• Android Programming-Application and
Framework
• References
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/
嵌入式暨智慧機器人應用實驗室
http://eiral.csie.stut.edu.tw/ 31