Android: Guided By: Mrs - Padmaja A.Santosh Reddy
Android: Guided By: Mrs - Padmaja A.Santosh Reddy
A.Santosh Reddy
Abstract
What is Android?
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 (support of Google? No)
Unveiling of the Android platform was announced on 5 November 2007 with the founding of OHA
Platform
2.1 Operating System: 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 youll be calling them through Java interfaces. In this layer you can find the Surface Manager, 2D and 3D graphics, Media codecs, the SQL database (SQLite), and a native web browser engine (WebKit). Dalvik Virtual Machine. Dalvik runs dex files, which are coverted at compile time from standard class and jar files.
Network Connectivity
It supports wireless communications using:
Security
Android is a multi-process system, in which each application (and parts of the system) runs in its own process. Most security between applications and the system is enforced at the process level through standard Linux facilities, such as user and group IDs that are assigned to applications. Additional finer-grained security features are provided through a "permission" mechanism that enforces restrictions on the specific operations that a particular process can perform, and per-URI permissions for granting ad-hoc access to specific pieces of data.
Performance
Advantages
Augmented Campus Reality camera + maps + compass = heads up info
Games multi-player (Bluetooth, wifi, cell) location-based (scavenger hunt) Custom overlays for maps weather, traffic, friends Web scraping news filters sport scores dook news eliminators Distributed computing? 10,000 phones all donating their idle time tiny terminal (phone) + fast cpu /network (server)
Programming Languages
Java officially supported C/C++ also possible but not supported
Challenges
CPU typically runs 500-600 Mhz RAM available to an App may only be a few megabytes Disk (flash) access is very slow Lifecycle - apps must pause/quit often, and restore to give the illusion that they are always running UI design o typical screen may be HVGA (320x480) o may be in portrait or landscape o very high DPI - small text may not be readable o touch resolution is very low (~25 pixel) Network access may be slow and (very) intermittent
Android Architecture
Development Tools
The Android SDK includes a variety of custom tools that help you develop mobile applications on the Android platform. Three of the most significant tools are: Android Emulator - A virtual mobile device that runs on our computer -use to design, debug, and test our applications in an actual Android run-time environment Android Development Tools Plugin -for the Eclipse IDE - adds powerful extensions to the Eclipse integrated environment Dalvik Debug Monitor Service (DDMS) -Integrated with Dalvik -this tool let us manage processes on an emulator and assists in debugging
Conclusion
Android is open to all: industry, developers and users. Participating in many of the successful open source projects. Aims to be as easy to build for as the web. Google Android is stepping into the next level .
Thank You