Android Platform 2009.10 NemusTech 이 승 민 네무스텍 (주 ) 분야 : 모바일 /임베디드 전문 : 플랫폼 /솔루션 Quick Tiffany 3D Modeling 사업 : 컨설팅 /디자인 Android, Linux, iPhone panels on linear rail modeling (20 source line) Quick remodeling with single line modification vertical axis Cube Circular rail Agenda • Google Android • Introduction • History • Current Status • Architecture • Developing Android • Building Application • Android Roadmap • Future of Android • Summary Google Android Current Mobile Platform ✦ Software Stack – Kernel ✦ the core of the SW (HW drivers, memory, filesystem, and process management) – Middleware ✦ The set of peripheral software libraries (messaging and communication engines, WAP renders, codecs, etc) – Application Execution Environment ✦ An application manager and set APIs – UI framework ✦ A set of graphic components and an interaction framework – Application Suite ✦ The set of core handset application ( IDLE screen, dialer, menu screen, contacts, calendar, etc) Major Platforms ✦ Microsoft Windows Mobile - Will release WM7 in 2010 ✦ Nokia S60 Platform - Lenovo,LGE,Panasonic,Samsung - Symbian OS 9.x (Java MIDP, C++, Python) ✦ RIM’s BlackBerry - Push E-Mail Service - MS Exchange, Lotus Domino/Notes, Novell GroupWise ✦ Apple’s iPhone - Advanced UI , Robust Mac OS ✦ Palm Pre - WebOS (WebKit Based) Linux Platforms • LiMo Foundation • https://www.limofoundation.org/sf/sfmain/do/home • TrollTech • Qtopia GreenPhone • Acquired by Nokia • OpenMoko : GNU/Linux based software development platform • http://www.openmoko.org , http://www.openmoko.com • Linux Kernel, GUI using X. Org Server, GTK+,Matchbox window manager • First Supported phone, Neo1973 (also support Qtopia) • ALP (Access Linux Platform) • http://alp.access-company.com/ • Nokia N810 – Maemo • http://maemo.org/ • MontaVista - Mobilinux • Palm Pre - WebOS (WebKit Based) • Google - OHA, Android OS • http://www.openhandsetalliance.com/ • Android : A complete set of SW for mobile devices • Operation System, Middleware, and Key mobile applications Linux Platforms • Benefits – Linux is designed to avoid single-vendor domination – The Linux kernel has been ported to more than a dozen chipsets – Linux is cheap and open to innovation – Technically competent and cost-effective for converged devices – Several governments (most notably China) support Linux • Challenges – The Linux kernel is optimized for desktop and embedded – Distribution lack the feature set requested by network operators (except Vodafone?) – No consensus on Linux’s APIs – Mitigating legal challenges Smart Phone Market Share 2009 1Q Market 2009 2Q Market Sales (1K) Share (%) Sales (1K) Share (%) Symbian 17,937.2 49.3 20,880.8 51 RIM 7,233.6 19.9 7,678.9 18.7 iPhone OS 3,938.7 10.8 5,437.7 13.3 Windows Mobile 3,733.4 10.3 3,814.3 9.3 Linux 2,540.5 7.0 1,907.1 4.6 Android 575.3 1.6 755.9 1.8 SmartPhone WebOS 0 0 205.0 0.5 Palm OS 273.2 0.8 152.8 0.4 Others 172.7 0.8 139.3 0.3 Total 36,404.6 100 40,962.8 100 Source: Gartner Press Releases What is Android? Android is…… a software stack for mobile devices that includes an operating system, middleware and key applications. .... developing applications ... using the Java programming language. History of Android • History • 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 PalmSource (Dianne Hackborn, etc…) • 2007.11 Android SDK Release, OHA • 2008. 2 Android Developer Challenge • 2008. 11 Android Phone (G1 Phone by HTC/T-mobile) • 2008. 11 Full Source Open • 2009. 4 HTC Magic • 2009. 7 HTC Hero, Samsung i7500, Android Netbook, Set-top...... • 2009. 8 Android Developer Challenge 2 Open Handset Alliance Mobile Operators Semiconductor Companies Handset Manufacturers Software Companies Commercialized Companies Androids...... 각 제조사 사업자 별로 다양한 안드로이드 단말 개발 예정 발표 Android Devices... First Google Android Phone Anniversary Source from http://www.googleandblog.com Acer Liquid – A1 – November 28th 26. LG GW880 1. Compulab Exeda 27. Motorola Calgary 2. Dell Ophone mini3i – Benzine 28. Motorola Devour 3. Geek Phone One 29. Motorola Droid – Sholes – Tao – November 7th 4. General Mobile DSTL1 30. Motorola Heron 5. Haier H7 31. Motorola MB200 6. HKC Pearl 32. Motorola MB300 7. HighScreen PP5420 33. Motorola Morrison – Cliq – DEXT 8. HTC Click – Fiesta – Tattoo 34. Motorola Motis – 2010 9. HTC Desire 6200 – November 35. Motorola Sholes Tablet – 2010 10. HTC Dragon – Zoom 2 36. Motorola Zeppelin – 2010 11. HTC Dream – T-Mobile G1 37. Philips V808 38. Qigi i6 12. HTC Hero – G2 Touch 39. Samsung Behold 2 T939 – November 18th 13. HTC Lancaster 40. Samsung Bigfoot 14. HTC Magic – Sapphire – T-Mobile myTouch 41. Samsung Galaxy i7500 3G – Google Ion – Dopod A6188 42. Samsung Galaxy Lite i5700 – Spica – 2010 15. HTC Passion 43. Samsung Houdini 16. HTC Predator 44. Samsung m850 Q 17. Huawei U8220 – T-Mobile Pulse 45. Samsung Moment – InstinctQ m900 – November 18. Huawei U8230 1st 19. Innocomm Skate 46. Sciphone N12 20. Kogan Agora 47. Sony Ericsson XPERIA X3 / x10 Rachael – 21. Koolu Freerunner – Openmoko GTA02 January 2010 22. Lenovo O1 Ophone 48. Sunno S880 23. LG Etna 49. Tiger G3 24. LG GW620 Eve – November 2009 50. ZTE Android T-Mobile G1/HTC HTC Hero Sense UI • Upgraded framework Motorola - Cliq • MOTOBLUR UI • Home Screen • Social Networks • Contacts • Messaging • Calendar Android Architecture Linux Kernel • Linux version 2.6 for core system services • Security, Memory Management, Process Management, network stack, driver model • Kernel : Abstraction Layer between the HW and the rest of the SW stack • Android uses only “Kernel” portion in Linux Android Runtime • 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 • Why Dalvik, Why Java? • Separate HW layer/ SW layer • Kernel is responsible for Security • Allow Multiple VM instance • To insure compatibility • Support different HWs (LCD, Keypad, …etc) • Avoid License Issues Architecture in detail • The Design goal of Android – Openness • Be as flexible as possible • How it handles access to data (Mashups on the internet and everything else) • Rapid development (XML, Java) • Dev Language? • App : Java • Framework : Java • Libraries : C/C++ • OS & Driver : C • Creating Native C Applications • Possible, but...... Android’s Browser • WebKit based (Safari like, same with iPhone and Nokia Series 60) • Highly optimized for mobile environment by Google • No flash support yet, but Hero supports Flash • Support package and interfaces for SDK • Opera mini passed ACID3 test in Android Developing Android Android SDK • To o l s • Emulator : QEMU + libSDL • Provide emulator console, telephony emulation, skins • DDMS (Dalvik Debug Monitor Service) • Thread/Heap/Process/Log Monitor • File Explorer • ADB Shell • Logcat, Android Log, Traceview • Samples/Docs • System and Software Requirements • Supported Operating Systems • Windows XP/Vista • Mac OS X 10.4.8 or later (x86 only) • Linux(tested on Linux Ubuntu Dapper Drake) • Supported Development Environments • Eclipse IDE • Eclipse 3.2,3.3 (Europa) • Eclipse JDT Plugin • JDK 5 or JDK 6 • ADT (Android Development Tools plugin), optional • Other IDEs • JDK 5 or JDK 6 • Apache Ant • GCJ(Gnu compiler for Java) not compatible • Sources Eclipse • Using ADT (Android Development Tools) Plugin • Generate Android Template • Packages • src • res • assets • AndroidManifest.xml Android Manifest • Structured XML file, always named AndroidManifest.xml • Declare the application’s components • Identifying permissions <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.nemustech.todolist" android:versionCode="1" android:versionName="1.0.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".ToDoList" 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> </manifest> Building Android Application • Hello Android • Adding TextView • Using XML based coding • Res.layout.main.xml • Simple Web View • uses-permission - Internet • Using WebKit class wv = new WebView(this); wv.loadUrl("http://www.naver.com"); • Simple Map View - Need API Key keytool -list -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass • android -keypass android • http://code.google.com/intl/ko-KR/android/maps-api-signup.html • Using MapActivity mv = new MapView(this); setContentView(mv); • Using XML view class="com.google.android.maps.MapView" Sample - API Demos • ApiDemos comes with the Android SDK - Ultimate Reference! • Each subdirectory have a high-level functional area of the Android API • APP • Examples of application-level constructs such as Activities, Alarms, Dialogs, and Services. • Content • Describes how to read assets from a file, from resources, and from an XML file. • Graphics • Many types of graphics examples, such as arcs bitmap manipulation, clipping, layers, and OpenGL. • Media • MediaPlayer, VideoView • OS • Examples of how to invoke operating system
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages55 Page
-
File Size-