340 likes | 372 Views
Introduction to Android. Design By Mr. Shivendra Srivastwa Sr. Developer at Xpert Infotech(Trainer) 8750475003. Android What is Android ?. - Android is Linux Based OS. -Designed for use on cell phones, e-readers, tablet PCs.
E N D
Introduction to Android Design By Mr. Shivendra Srivastwa Sr. Developer at Xpert Infotech(Trainer) 8750475003
AndroidWhat is Android? -Android is Linux Based OS • -Designed for use on cell phones, e-readers, tablet PCs. • Android provides easy access to social networking sites. • -Android has been adopted by a number of manufacturers. -Lot of Applications Available in Google Market. -Android-based phones will continue to be strong competitors in the smart-phone market.
How does Android work? • Its open market model allows registered software developers to create applications for Android - Listing of Applications in Android Market • Users can download from a growing store of smart-phone applications at Google Market • Download compatible Android apps from other locations
Linux Kernel Linux Version 2.6 as - h/w abstraction layer Proven driver model Security, Memory & Process Management Efficient computing resource management Stable and proven for mobile platform
Libraries Written in C/C++ - System C Library(libc) Surface manager - composing different drawing screens Display/Graphics(SGL)-for 2D graphics OpenGLES – 3D Graphics Library Media Libraries SQLite –RDB engine-light weight LibWebCore–web browser engine–embeddable web view
Android Runtime Includes a set of core libraries that provides most of the functionality-JAVA Every Android application runs in its own process Dalvik VM executes files in the (.dex) format Device can run multiple VMs efficiently.
The Dalvik Virtual Machine • Interpreter only machine optimized for use on low powered, low memory devices like phones • Dalvik uses the Java programming language but not the JVM • Dalvik is not a Java virtual machine. • It uses bytecode format called “dex”.
Application Framework Activity Manager :Manages the lifecycle of applications Content provider :Enable applications access data from other applications Resource Manager :Providing access to non-code resources Window Manager :window manager instance is bound to a particular Display. Notification manager: Class to notify the user of events that happen. This is how you tell the user that something has happened in the background
Who’s doing it? • Computer science departments at numerous colleges and universities are embracing development for the Android platform. • Engineering doctoral students from the University of Washington work at Google’s Seattle offices to refine the Open Data Kit that they created - Using Android in Industrial Automation
WHAT MAKES AN ANDROID SPECIAL • Open source – Free development platform • Built in components can be improved • Built in services like GPS,SQL Database, browser and maps • Management of process life cycle • High quality graphics and sound • Portability across current and future hardware • Component-based architecture and reusable, replaceable modules • Multi-layer isolation of programs
Why is Android significant? • Android has been selected by many hardware manufacturers to run on a wide range of devices. • Android based phones are available from all major cellular providers. • Android may bring smart phone and tablet functionality to a much wider cross-section of students. • Android is a User Friendly OS.
Where is Android going? • The Android OS may accelerate the diffusion of smart phones by providing a free OS. • Access to the Android software development kit (SDK) suggests that the number of applications will continue to swell as professional developers provide new offerings. • Transforming them from consumers of existing applications to creators of apps designed to meet their needs. • Android, by increasing the user base, might hasten the integration of mobile technology. • Android is the Biggest selling OS in the World on Mobile Computing.
ANDROIDSDK • Android software development is the process by which new applications are created for the Android operating system. • Applications are usually developed in the Java programming language using the Android Software Development Kit.
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 Mr. ShivendraSrivastwa
Android Application Development Eclipse IDE Android SDK Android Emulator Android Mobile Device Mr. ShivendraSrivastwa
Android development Java Source Android Manifest .dex File Generated Class Java Compiler Dalvik VM Resource XML Android Libraries Mr. Shivendra Srivastwa
Eclipse Emulator Mr. ShivendraSrivastwa
Soft Development Design Testing No Design Error? Errors? Yes Yes Release Process No Mr. ShivendraSrivastwa
Release Process Prepare for Build Perform Build “Release Candidate” Thoroughly Test Build Got Bugs? Fix Bugs! Got Bugs? No Bugs? Publish Release Test Packaged Release Candidate Package and Sign Package Mr. ShivendraSrivastwa
DESIGN • Android is based on the Linux kernel, with middleware, libraries and APIs written in C and application software running on an application framework which includes Java-compatible libraries based on Apache Harmony.
SOFTWARE FEATURES • Integrated browser based on the open source Web Kit engine • SQLite for relational data storage • Media support for common audio, video, and still image formats • Dalvik Virtual Machine optimized for mobile devices
HARDWARE FEAUTURES • Cellular networking : GSM, EDGE, 3G • LAN : Bluetooth, and Wi-Fi • Graphics Hardware Acceleration • Camera, GPS and Compass • Touch screen and accelerometer for motion sensing
Techniques for saving data • SQLite Databases: relational database library for storing and managing complex data • Files: you can create, write, and read files from the local storage or external media (SD Cards) • FileOutputStream, FileInputStream, and Resources classes. MIT College of Engineering,Pune
Architecture of Data Storage MIT College of Engineering,Pune
Life cycle of application • A foreground process • A visible process • A service process • A background process • An empty process MIT College of Engineering,Pune
SECURITY • Android applications run in a sandbox, an isolated area of the operating system that does not have access to the rest of the system's resources, unless access permissions are granted by the user when the application is installed.
ANDROID MARKET • Google Play, formerly Android Market, is the online software store developed by Google for Android devices • Market. As of October 2011 there were more than 300,000 apps available for Android, and the estimated number of applications downloaded from the Android Market as of December 2011 exceeded 10 billion.
What are the downsides ofAndroid? • Platform fragmentation is an issue for Android OS devices. - New application releases may not work reliably across all Android devices. • For developers, the variety of device types and form factors that use Android make development more expensive. -Google does not oversee or approve third-party Android apps before they go to market. - Half of Application sent private information including GPS coordinates and phone numbers to remote servers without seeking permission or notifying users.
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 of Mobile Internet • Android is a disruptive technology, which was introduced initially on mobile handsets, but has much wider potential.