Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Google Android as a mobile development platform T-110.7111 Internet Technologies for Mobile Computing Olli Mäkinen Google Android • Google’s own mobile operating system based on Linux • Open source with all primary components published • Google still has some closed-source applications running on top (such as GPS navigation and the application store) • Manufacturers are open to make their own adjustments to the OS without the requirement of publishing them as open source Android System Architecture Source: Google Third Party Software • Android spawns a Dalvik virtual machine for each application, including third party ones • This enables strong control of the application’s behaviour and also helps with misbehaving applications • Multi-tasking is available • An application framework provides a vast range of components that can be used in the applications • Third parties can also install additional components that can be used in other software • Signing is mandatory for distribution of the applications (selfsigning is possible too) • Android Market is available quite openly ($25 one-time fee plus a 30% royalty for Google) Android Development • Java based, but is not compliant with J2ME (Micro Edition) or J2SE (Standard Edition) • Hardware features are available through Java APIs • SDK is available on Windows, OS X and Linux machines • The SDK includes an emulator for different Android device versions (up to 2.1 currently) • Plug-in (Android Development Tools, ADT) available for Eclipse • Debugging is easy with the plug-in Application Framework • View System – Contains GUI elements, with XML-based layouts • Content Providers – Provides interchangeable data between applications, such as contact lists • Resource Manager – Separate data storage for language files, graphics and layout data • Notification Manager – Allows applications to add alerts, such as status bar messages, sound or vibration • Activity Manager – Controls the lifecycle of the applications A Typical Android Application • Activity – Java code – At least one needs to be specified – Each has its own view(s) • Resources – Text strings, image files or other data • Views – – – – • XML-based GUI A view is one component, a view group contains many views Several different layout options = view groups Standardized components (buttons, input fields) = views R class – Generated based on the GUI and resources • • Event listeners for the components created into the Activity A menu can be added for settings, created automatically Links • http://www.xtensivearts.com/2009/07/27/episode-4checkboxes-complex-layouts/ • http://developer.android.com/sdk/index.html