Main topics1.Introduction2.Platform3.Software development4.Reference
1.Introduction What is Android?Android is an operating system for mobiledevices such as Smartphones and tabletcomputers. It is developed by the Open HandsetAlliance (OHA) led by Google.Google purchased the initial developer of thesoftware, Android Incorporated in 2005.Android, Inc. was founded in Palo Alto,California, United States in October, 2003 byAndy Rubin, Rich Miner, Nick Sears and ChrisWhite to develop, in Rubins words.
• A software platform and operating system for mobile devices• Based on the Linux kernel• Developed by Google and later the Open Handset Alliance (OHA)• Allows writing managed code in the Java language• Possibility to write applications in other languages and compiling it to ARM native code.• Unveiling of the Android platform was announced on 5 November 2007 with the founding of OHA
The Android operating system consists of 12million lines of code including 3 million lines ofXML, 2.8 million lines of C, and 2.1 million linesof Java.The first publicly available application wasthe Snake game.On 18 August 2008 the Android 0.9 SDK betawas released.On 23 September 2008 the Android 1.0 SDKwas released.
What is the Open Handset Alliance (OHA)?The Open Handset Alliance (OHA) is a businessalliance of firms to develop open standard formobile devices.Member firms include Google, HTC, Sony,Dell, Intel, Motorola, Qualcomm, TexasInstruments, Samsung, LG, T-Mobile, Nvidia,and Wind River Systems. established on 5 November 2007 10 mobile operators 13 software companies 15 semiconductor producers 13 handset producers 8 system integrators
Open Handset Alliance (OHA) includedseveral companies
2. Platform 2.1 HardwareAndroid is not a single piece of hardware; its acomplete, end-to-end software platform that canbe adapted to work on any number of hardwareconfigurations. Everything is there, from theboot loader all the way up to the applications.
2.2 Operating Systems• Android uses Linux for its device drivers, memory management, process management, and networking.• The next level up contains the Android native libraries. They are all written in C/C++ internally, but you’ll be calling them through Java interfaces. In this layer you can find the Surface Manager, 2D and 3D graphics, Media codecs, the SQL database, and a native web browser engine.• Dalvik Virtual Machine. Dalvik runs dex files, which are converted at compile time from standard class and jar files.
2.3 Network Connectivity It supports wireless communications using: GSM mobile-phone technology 3G (7.2 Mbps HSDPA; 384 kbps HSUPA) Edge (560 kbps) Wi-Fi networks (802.11) GPRS (114 kbps) GPS Support ( A-GPS with Google Map) Bluetooth v3 (A2DP, FTP, OPP, PBAP)
2.4 SecurityAndroid is a multi-process system, in whicheach application (and parts of the system) runsin its own process. Most security betweenapplications and the system is enforced at theprocess level through standard Linux facilities,such as user and group IDs that are assigned toapplications.Additional finer-grained security features areprovided through a "permission" mechanismthat enforces restrictions on the specificoperations that a particular process canperform, and per-URI permissions for grantingad-hoc access to specific pieces of data.
2.6 Future possibilities• Google Android Sales to Overtake iPhone in 2012• The OHA is committed to make their vision a reality: to deploy the Android platform for every mobile operator, handset manufacturers and developers to build innovative devices• Intel doesn’t want to lose ownership of the netbook market, so they need to prepare for anything, including Android• Fujitsu launched an initiative to offer consulting and engineering expertise to help run Android on embedded hardware, which aside from cell phones, mobile internet devices, and portable media players, could include GPS devices, thin-client computers and set-top boxes.
3. Software development 3.1 Development requirements• Java• Android SDK• Eclipse IDE (optional)
Android Software development Diagram Design Cd g o in Testing No Yes Yes Design Errors? Error? No Release Process
3.2 IDE and ToolsAndroid SDK • Class Library • Developer Tools dx – Dalvik Cross-Assembler aapt – Android Asset Packaging Tool adb – Android Debug Bridge ddms – Dalvik Debug Monitor Service • Emulator and System Images • Documentation and Sample CodeEclipse IDE + ADT (Android Development Tools) • Reduces Development and Testing Time • Makes User Interface-Creation easier • Makes Application Description Easier
3.3 Programming Language(s)• Java – officially supported• C/C++ – also possible but not supported