210 likes | 224 Vues
The first beta version of the Android Software Development Kit (SDK) was released by Google in 2007 where as the first commercial version, Android 1.0, was released in September 2008. On June 27, 2012, at the Google I/O conference, Google announced the next Android version, 4.1 Jelly Bean.
E N D
Introduction to Mobile Application Development Introduction to Android OS
What is Android? • Android is Linux kernel based Operating System which manages all hardware and software resources of the device and give user a simple machine to use. • Android OS can be divided into three layers • Application Layer • Kernel Layer • Device Driver and Hardware Layer • Linux Kernel translates requests from one layer to another
Android Basics • Android is a Mobile Operating System • Android occupies large market share along with IOS • Android privately developed by Google. Later, source code is made available to everyone • Everyone can change it, huge community of developers and modifiers
Why to Use Android? • Open Source • Fast growing technology • Google Play store as a biggest app market • Huge demand in job market • Better Salaries
Devices that Supports Android • Smartphone • Tablets • Televisions, LCDs’ • Cars and Vehicle Entertainment • Google Glasses
Features of Android • Ease of Programming • 2D and 3D Graphics and Animations • Support for Multiple Programming Languages • Multi touch devices • Media Processing • Sensor support • Large Market Share • Abstraction of Hardware differences • Open source • Free to use
Challenges in Android • Hardware Fragmentation • Software Fragmentation • Lack of Hardware and Software integration standards • Lack of Quality control on Android devices • In computer storage, fragmentation is a phenomenon in which storage space is used inefficiently, reducing capacity or performance and often both. ... In many cases, fragmentation leads to storage space being "wasted", and in that case the term also refers to the wasted space itself.
Linux Kernel • At the bottom of the layers is Linux - Linux 3.6 with approximately 115 patches. This provides a level of abstraction between the device hardware and it contains all the essential hardware drivers like camera, keypad, display etc.
Libraries • On the top of Linux Kernel another layer called libraries is present. It provides the different libraries useful for well functioning of android operating system. • SQLite: Responsible for Database management system connectivity • SSL: This is used to provide internet security • OpenGL: 2D and 3D Graphics • Media framework: library provides support to play and record an audio and video formats • WebKit: It is the browser engine used to display internet content or HTML content • LibC: To embed C/C++ code
Java Libraries • android.content − Facilitates content access, publishing and messaging between applications and application components. • android.os − Provides applications with access to standard operating system services including messages, system services and inter-process communication. • android.text − Used to render and manipulate text on a device display. • android.view − The fundamental building blocks of application user interfaces. • android.widget − A rich collection of pre-built user interface components such as buttons, labels, list views, layout managers, radio buttons etc. • android.webkit − A set of classes intended to allow web-browsing capabilities to be built into applications.
Android Runtime • This is the third section of the architecture and available on the second layer from the bottom. This section provides a key component called Dalvik Virtual Machine which is a kind of Java Virtual Machine specially designed and optimized for Android. • Platform independent apps that can run on any platform
Application Framework • Activity Manager − Controls all aspects of the application lifecycle and activity stack. • Content Providers − Allows applications to publish and share data with other applications. • Resource Manager − Provides access to non-code embedded resources such as strings, color settings and user interface layouts. • Notifications Manager − Allows applications to display alerts and notifications to the user. • View System − An extensible set of views used to create application user interfaces.
Applications You will find all the Android application at the top layer. You will write your application to be installed on this layer only. Examples of such applications are Contacts Books, Browser, Games etc.
Emulator Vs Simulator Emulator Simulator • Emulator is a application that emulates real mobile device software, hardware and operating system. • Simulator is a less complex application that simulates internal behavior of the device but does not emulate hardware and does not work over the real Operating system.
Emulator Vs Simulator Emulator Simulator • Usually provided by the hardware manufacturer • Written in machine level assembly language • More suitable for debugging • May be created by the device manufacturer or by other company. • Written in high level language • Lesser suitable for debugging
Android Activity Life Cycle • An Android activity is one screen of the Android app's user interface. In that way an Android activity is very similar to windows in a desktop application. An Android app may contain one or more activities, meaning one or more screens