Published on March 2, 2014
CS241001 Android Lab 2009.11.24
• Background • What is Android – Features – Android Architecture • Linux kernel • Native Libraries • Android Runtime • Application Framework • Applications • Software Development Kit (SDK)
Wikipedia : An embedded system is a computer system designed to perform one or a few dedicated functions often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. Embedded systems are controlled by a main processing core that is typically either a microcontroller or a digital signal processor (DSP).
• The OHA is a group of hardware and software developers, including Google, NTT DoCoMo, Sprint Nextel, and HTC … • Goal – Accelerate innovation in mobile – Offer consumers a richer, less expensive, and better mobile experience • OHA have developed Android™, the first complete, open, and free mobile platform
HTC Dream , T mobile G1, announced at 2008.09 HTC Hero, HTC Magic, HTC Tatoo SAMSUNG Galaxy i7500
【聯合報╱記者祁安國／台北報導】 2009/11/19 中華電信昨天推出自創品牌的Android平台手機CHT 8000，將和HTC英雄機一較高下，這也是繼宏達電、 三星之後，國內新誕生的Google Phone，也將讓 Google邁向平價化。 中華電信每年採購200萬支手機作為門號配套促銷，這 次看好Android手機的前景，乾脆直接找華為 （Wuawei）代工，加入中華電信的設計，單機雖訂價 1萬3900元，不過這支手機純屬中華電信，資費包裝上 更具彈性，將從零元到低月租費都有，也讓Android手 機售價不再高貴。 CHT8000外型跟iPhone類似，3.5吋電容觸控螢幕，也 跟iPhone一樣內建中華電信智慧型手機專屬的客製加 值服務，包括有Hami服務、 Hami 書城、至尊股票機、 東森購物、KKBOX以及影視台等。中華電信行動通信 分公司協理陳長榮表示，明年中華電信預估能延續今 年在智慧型手機市場約有五成以上的市佔率優勢，達 到30萬支銷售目標，其中相當看好Android手機市場。 圖／中華電信提供
Android is a software stack for mobile devices that includes an operating system, middleware and key applications. Android is a Java-based operating system that runs on the Linux 2.6 kernel. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
• Application framework enabling reuse and • • • • replacement of components Dalvik virtual machine optimized for mobile devices Integrated browser based on the open source WebKit engine Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional) SQLite for structured data storage
• Media support for common audio, video, and still • • • • image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM Telephony (hardware dependent) Bluetooth, EDGE, 3G, and WiFi (hardware dependent) Camera, GPS, compass, and accelerometer (hardware dependent) Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE
• Android is built on the Linux kernel, but Android is not Linux • Provide core system services such as process, memory, power management, network stack, driver model and security • Does not include the full set of standard Linux utilities The Android kernel source is available today http://git.android.com
Bionic Libc Function Libraries Native Servers Hardware Abstraction Libraries
• C/C++ library • Custom libc implementation, optimized for embedded use. • Pros (compare with glibc) – BSD License – Small size and fast code paths – Very fast and small custom pthread implementation • Not compatible with Gnu Libc (glibc)
• Provides system-wide surface “composer”, handling all surface rendering to frame buffer device • Can combine 2D and 3D surfaces and surfaces from multiple applications
Manages all audio output devices Handles audio routing to various outputs
• User space C/C++ library layer • Defines the interface that Android requires hardware “drivers” to implement • Separates the Android platform logic from the hardware interface • Why do we need a user-space HAL? – Not all components have standardized kernel driver interfaces – Kernel drivers are GPL which exposes any proprietary IP – Android has specific requirements for hardware drivers
Application Developed language : Java Dalvik Virtual Machine Instruvtion set : Dalvik Excutable Java Standard Library Compile java code to Dalvik Excutable (dex format)
• 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
DVM Google Dalvik excutable JVM Sun Java bytecode What else ?
• Activity manager – Manage the life cycle of applications • Content Provider – Share data between applications • Resource Manager – Manager non-code resource • Notification Manager – Display custom alerts in the status bar • Views System – A rich and extensible set, which can construct UI
Use the powerful and flexible application framework to develop your application Written by JAVA programming language
IDE – Eclipse Eclipse plug-in - ADT Software Development Kit (SDK) Android Emulator Debuger
• The Android SDK includes a variety of custom tools that help you develop mobile applications on the Android platform. – Android Emulator – Android Development Tools Plugin (for the Eclipse IDE) – Android Virtual Devices (AVDs) – Hierarchy Viewer – Android Debug Bridge (adb)
Virtual mobile device QEMU-based ARM emulator Design application in an actual Android runtime environment Use the same toolchain Run the same binary
Android provides a rich application framework that allows you to build innovative apps and games for mobile devices in a Java language environment.
Charles Hughes - Help Me! Guide to Android for Seniors: Introduction to Android Phones and Tablets for jetzt kaufen. ISBN: 9781500611187, Fremdsprachige ...
Kick start the learning journey to Android development with an introduction to Android, a comparison with other mobile platforms, followed by a ...
Introduction. The BlackBerry and iPhone, which have appealing and high-volume mobile platforms, are addressing opposite ends of a spectrum.
Android is an operating system based on the Linux kernel. The project responsible for developing the Android system is called the Android Open Source ...
eBook Shop: Introduction to Android Application Development als Download. Jetzt eBook herunterladen & bequem mit Ihrem Tablet oder eBook Reader lesen.
Present an introduction to the Android Framework Coverage of the framework will be INCOMPLETE We’ll provide additional coverage after the midterm 2
Explore the Android phones, tablets, wearables, auto consoles and televisions that you can use to customize your digital life.
PAGE 4 If you look at your Android tablet, you’ll see a lot ofLOOK AT THE little buttons, switches and holes for plugging things in. The position of each ...
Timothy Jordan Introduces Android Auto. Android Auto brings the Android platform to the car in a way that's optimized for the driving experience.