DEVELOPMENT OF
ANDROID-A journey Of
TECH
-Tripti Tiwari
Open Handset Alliance
Google and 33 other companies announced the formation of
the Open Handset Alliance on November 5, 20...
What is Android?
•

•

•

Android is a software stack for mobile devices that includes an
operating system, middleware and...
Features Android

Application framework enabling reuse and replacement of
components
Dalvik virtual machine optimized fo...
Android Architecture
Application Framework
Developers are free to take advantage of the device hardware,
access location information, run back...
Underlying all applications is a set of
services and systems, including:

A rich and extensible set of Views that can be ...
Libraries
•
•
•
•
•
•
•
•

System C library
Media Libraries
Surface Manager
LibWebCore
SGL
3D libraries
FreeType
SQLite
Android Runtime
•

•

Also sitting on top of the kernel is the Android runtime,
including the Dalvik virtual machine and t...
Dalvik Virtual Machine
Dalvik is a virtual machine (VM) designed and written by Dan
Bornstein at Google. Your code gets co...
Differences to a normal JavaVM

JavaVM’s one can find on almost any desktop computer
nowadays are Stack-based Virtual Mach...
Linux Kernal
• Android relies on Linux version 2.6 for core system
services such as security, memory management,
process m...
Android Service Lifecycle
Anatomy of an Android Application
Activities

• As mentioned, Activities are classes that provide an
interface. An Activity is given a window in which to ad...
Context

Context is the closest Android gets to a reference to the current
application and provides a mechanism for access...
Intents

• Intents are used throughout Android to make things
happen by sending messages. Intents are most
commonly used w...
loosely coupled applications
•
•

Intents are a powerful concept as they allow the creation of
loosely coupled application...
AndroidManifest.xml

Every Android application needs to include a file called
AndroidManifest.xml. This file contains info...
Service

• A Service is code that is long-lived and runs without a UI.
A good example of this is a media player playing so...
Content Provider

• Applications can store their data in files, a SQLite
database, preferences or any other mechanism that...
Android- Introduction for Beginners
Android- Introduction for Beginners
Android- Introduction for Beginners
Android- Introduction for Beginners
Android- Introduction for Beginners
Android- Introduction for Beginners
Upcoming SlideShare
Loading in …5
×

Android- Introduction for Beginners

1,211 views

Published on

Learn Basics of Android

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,211
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
76
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Android- Introduction for Beginners

  1. 1. DEVELOPMENT OF ANDROID-A journey Of TECH -Tripti Tiwari
  2. 2. Open Handset Alliance Google and 33 other companies announced the formation of the Open Handset Alliance on November 5, 2007. This alliance shares a common goal of innovation on mobile devices. Providing developers a new level of openness that enables them to work more collaboratively.
  3. 3. What is Android? • • • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language. Android (robot), designed to resemble a human Or An android is a robot or synthetic organism designed to look and act like a human, and with a body having a flesh-like resemblance.
  4. 4. Features Android Application framework enabling reuse and replacement of components Dalvik virtual machine optimized for mobile devices Integrated browser based on the open source WebKit engine Optimized graphics powered by a custom 2D graphics library); 3D graphics based on the OpenGL (Open Graphics Library ES 1.0 specification (hardware acceleration optional) SQLite for structured data storage Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM Telephony (hardware dependent) Bluetooth, EDGE(Enhanced Data rates for GSM Evolution), 3G, and WiFi (hardware dependent) Camera, GPS, compass, and accelerometer (hardware dependent) Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE
  5. 5. Android Architecture
  6. 6. Application Framework Developers are free to take advantage of the device hardware, access location information, run background services, set alarms, add notifications to the status bar, and much, much more. Developers have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework).
  7. 7. Underlying all applications is a set of services and systems, including: A rich and extensible set of Views that can be used to build an application, including lists, grids, text boxes, buttons, and even an embeddable web browser Content Providers that enable applications to access data from other applications (such as Contacts), or to share their own data A Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files A Notification Manager that enables all applications to display custom alerts in the status bar An Activity Manager that manages the lifecycle of applications and provides a common navigation backstack
  8. 8. Libraries • • • • • • • • System C library Media Libraries Surface Manager LibWebCore SGL 3D libraries FreeType SQLite
  9. 9. Android Runtime • • Also sitting on top of the kernel is the Android runtime, including the Dalvik virtual machine and the core Java libraries. The Dalvik VM is Google’s implementation of Java, optimized for mobile devices. All the code you write for Android will be written in Java and run within the VM.
  10. 10. Dalvik Virtual Machine Dalvik is a virtual machine (VM) designed and written by Dan Bornstein at Google. Your code gets compiled into machineindependent instructions called bytecodes, which are then executed by the Dalvik VM on the mobile device. Although the bytecode formats are a little different, Dalvik is essentially a Java virtual machine optimized for low memory requirements. It allows multiple VM instances to run at once and takes advantage of the underlying operating system (Linux) for security and process isolation. Bornstein named Dalvik after a fishing village in Iceland where some of his ancestors lived.
  11. 11. Differences to a normal JavaVM JavaVM’s one can find on almost any desktop computer nowadays are Stack-based Virtual Machines (VM).The DalvikVM on the other hand is register based, because on mobile- processors are optimized for register-based execution . Register-based VMs allow faster execution .
  12. 12. Linux Kernal • Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.
  13. 13. Android Service Lifecycle
  14. 14. Anatomy of an Android Application
  15. 15. Activities • As mentioned, Activities are classes that provide an interface. An Activity is given a window in which to add User Interface to. Therefore, creating multi-screen applications involves creating multiple Activities and transitioning between them. • The Activity class inherits from the abstract Context class.
  16. 16. Context Context is the closest Android gets to a reference to the current application and provides a mechanism for accessing the Android system. A Context is needed to perform many operations in Android such as: • • • • Accessing Android services Accessing preferences Creating views Accessing Device Resources
  17. 17. Intents • Intents are used throughout Android to make things happen by sending messages. Intents are most commonly used within applications to launch Activities. To launch a new Activity, we create a new Intent, set the Context and the Activity class to launch and then tell the OS to handle the Intent, which launches the Activity.
  18. 18. loosely coupled applications • • Intents are a powerful concept as they allow the creation of loosely coupled applications. Intents can be used to communicate between any installed application component on the device. An Intent object can contain information for the receiving component. For example if your application calls via an Intent a browser it may send the URL to the browser component. An Intent also contain information for the Android system so that the Android system can determine which component should handle the request.
  19. 19. AndroidManifest.xml Every Android application needs to include a file called AndroidManifest.xml. This file contains information about the application such as: • • • Component Registration - The components that make up the app, including registration of Activities and Intents. Required Permissions - The permissions the app requires. OS Version Compatibility - The minimum Android API level the application supports.
  20. 20. Service • A Service is code that is long-lived and runs without a UI. A good example of this is a media player playing songs from a play list.
  21. 21. Content Provider • Applications can store their data in files, a SQLite database, preferences or any other mechanism that makes sense. A content provider, however, is useful if you want your application's data to be shared with other applications. A content provider is a class that implements a standard set of methods to let other applications store and retrieve the type of data that is handled by that content provider.

×