Android platform
-
Upload
rashmi-warghade -
Category
Education
-
view
206 -
download
0
Transcript of Android platform
Android▪ Open Source OS built by Google for mobile phones, tablets.▪ Was initially developed by android Inc. and google purchased the company in 2004▪ Google releases the source code under the apache license in the AOSP(Android
Open Source Project)▪ Officially, one can develop android application using c/c++ and JAVA.
2005 Google buys android Inc.2007 Open handset alliance announced
2008-2010 Android becomes dominant platform
2011 Tablet, game, consoles, TV's.
ANDROID PLATFORM/ECOSYSTEMThe very obvious stakeholders are the consumers that own Android devices!
But there are others as well: Google, because it develops Android. OEMs (Original Equipment Manufacturers), who
manufacture the hardware, and also the custom application components.
Application Development Companies: They are the biggest contributors to the ecosystem. They employ Android developers, and also outsource the product development to services companies.
Freelance Android developers, because they have the skill-set to contribute to the ecosystem. They create their apps, and publish them on Google playstore. Freelancers can also make money by developing applications for product companies.
Mobile Operators
Handset Manufacturers
Semiconductor Companies
Software Companies
Commercializing Companies
OPEN HANDSET ALLIANCE
ADVANTAGES OF OHA
Lower overall handset costs: Developer-friendly environment: Post-development
84 technology and mobile companies who have come together to accelerate
innovation in mobile.
UNDERSTANDING ANDROID MARKET
Android VS
Mobile Operators
Android VS
Feature Phones
Android VS
Smart Phones
Android VS
Itself
Network providers
Nokia
Ios Version’s
It provides the following functions in the Android system:
Hardware Abstraction Memory Management Programs Security Settings Power Management Software Other Hardware Drivers Support for Shared Libraries Network Stack
At the bottom of the Android stack is the Linux Kernel. It never really interacts with the users and developers, but is at the heart of the whole system.
Table Highlighting The Different Kernel Versions.
Libraries carry a set of instructions to guide the device in handling different types of data. For instance, the playback and recording of various audio and video formats is guided by the
Media Framework Library.Open Source Libraries Surface Manager: composing windows on the screen SGL: 2D Graphics Open GL|ES: 3D Library Media Framework: Supports playbacks and recording of various audio, video and picture formats. Free Type: Font Rendering WebKit: Browser Engine libc (System C libraries) SQLite Open SSL
Dalvik is open-source software. Dan Bornstein, originally wrote Dalvik VM. It is the software responsible for running apps on Android devices.
It is a Register based Virtual Machine. It is optimized for low memory requirements. It has been designed to allow multiple VM instances to run at once. Relies on the underlying OS for process isolation, memory
management and threading support. Operates on DEX files.
Our applications directly interact with these blocks of the Android architecture. These programs manage the basic functions of phone like resource management, voice call
management etc.
Important blocks of Application Framework:
Activity Manager: Manages the activity life cycle of applications. Content Providers: Manage the data sharing between applications. Telephony Manager: Manages all voice calls. We use telephony manager if we want to access voice calls in our
application. Location Manager: Location management, using GPS or cell tower Resource Manager: Manage the various types of resources we use in our Application
The applications are at the topmost layer of the Android stack. An average user of the Android device would mostly interact with this layer (for basic functions, such as making phone calls, accessing the Web browser etc.). The layers further down are accessed mostly by developers,
programmers and the likes.
Several standard applications come installed with every device, such as:
SMS client app Dialer Web browser Contact manager
WHAT IS ANDROID RUN-TIME?
Dalvik Virtual Machine DVM is optimized for low processing power and low
memory environments. Unlike JVM, the Dalvik Virtual Machine doesn’t run .class files, instead it runs .dex files.
Java source code is first converted into Java byte code and then into Dalvik byte code using dex compiler.
Dalvik Virtual
MachineCore
Java LibAndroid Runtime
ACTIVITY Activity provides the user a screen/interface to interact with the application. An application typically has multiple activities. All activities of an application are loosely interconnected Activities can have full screen or floating windows. Main Activity: Generally, one activity of an application is the main activity.
STAGES IN ACTIVITY LIFE-CYCLE1) Starting State:When an activity does not yet exist in memory, it is in the starting state.
2) Resumed/Running State:An activity that is in the foreground is in the running state.
3) Paused State:When an activity is not in focus (i.e. not interacting with the user), but is still visible on the screen, it is in the paused state.
4) Stopped State:An activity that is not visible on the screen, but exists in the memory is in the stopped state.
5) Destroyed State:A destroyed activity results from the removal of an activity (that is no longer required) from the memory.
SERVICE1) Faceless components: The components of Android system that run in the background are Service components. They are very much like activities, only without a User Interface.
2) Taking care of long running background tasks: They carry out long-running tasks desired by the application (without user intervention). Services run the background tasks that do not require a User Interface.
3) Unaffected by activity switching: Each Service has a specific job, and they keep at it if you switch between different Activities, or even if you switch to a different application altogether.
4) It can also provide functionality to other applications.
5) Example of Service: A good example is your music player.
CONTENT PROVIDERContent Provider facilitates access to a central data store or warehouse to allow data sharing and data manipulation across different applications.
Default content providers in android
INTENT IN ANDROID
A message to communicate an action. It is a description of what you want done, example: VIEW VIDEO, PLAY GAME etc.
Communicators between the three core components of Android, i.e. Activities, Services and Broadcast Receivers.
Using intents, one Android component can request action from the other components of Android.