Please enable JavaScript.
Coggle requires JavaScript to display documents.
Android (Core Components
All components execute according to a master…
Android
Core Components
- All components execute according to a master plan that consists of
- A beginning: Responding to a request to instantiate them
- An end: When the instances are destroyed
- A sequence of in between states: Components sometime are active or inactive, or in the case of activities : visible or invisible
Service
- They handle background processing associated with an application.
- Are designed to keep running, if needed, independent of any activity. They are used to do something even if the controlling activity is no longer operating.
Broadcast Receiver
- They handle communication between Android OS and applications.
- Simply respond to broadcast messages from other applications or from the system itself.
- These messages are sometime called events or intents
- Each message is broadcaster as an Intent object.
Content Provider
- They handle data and database management issues.
- Provides a level of abstraction for any data stored on the device that is accessible by multiple applications.
Activity
- They dictate the UI and handle the user interaction to the smart phone screen.
- An activity represents a single screen with a user interface. In-short activity performs actions on the screen
- Are scheduled using an activity stack
Life Cycle States
Protected transition methods
- onCreate(): Called when the activity is first created
- onStart(): Called when the activity becomes visible to the user
- onResume() : Called when the activity starts interacting with the user
- onPause(): Called when the current activity is being paused and the previous activity is being resumed
- onStop(): Called when the activity is no longer visible to the user
- onDestroy(): Called before the activity is destroyed by the system (either manually or by the system to conserve memory)
- onRestart(): Called when the activity has been stopped and is restarting again
States
-
Running
- Is active or running when it is in foreground of the screen (at the top of the activity stack)
- This is the activity that has "focus" and its graphical interface is responsive to the user's interaction
Paused
- Is changed if it has lost focus but is still visible to the user
- That is, another activity seats on the top of it and that new activity either is transparent or doesn't cover the full screen
- A paused activity is alive (maintaining its state information and attachment to the window manager)
- Paused activities can be killed by the system when available memory become extremely low
Stopped
- Is changed if it is completely obscured by another activity
- Continues to retain all its state information
- It is no longer visible to the user (its window is hidden and its life cycle could be terminated at any point by the system if the resources that it holds are needed elsewhere)
-
-
Additional Components
- There are additional components which will be used in the construction of above mentioned entities, their logic, and wiring between them.
Fragments
- Represents a portion of user interface in an Activity.
Views
- UI elements that are drawn on-screen including buttons, lists forms etc.
Layouts
- View hierarchies that control screen format and appearance of the views.
Intents
- Messages wiring components together.
Resources
- External elements, such as strings, constants and drawable pictures.
Manifest
- Configuration file for the application.
ArchitectureLink Title
Linux Kernel
- 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 top of Linux kernel there is a set of libraries including open-source Web browser engine WebKit, well known library libc, SQLite database
Android Libraries
- This category encompasses those Java-based libraries that are specific to Android development.
android.app
- Provides access to the application model and is the cornerstone of all Android applications.
android.content
- Facilitates content access, publishing and messaging between applications and application components.
android.database
- Used to access data published by content providers and includes SQLite database management classes.
android.opengl
- A Java interface to the OpenGL ES 3D graphics rendering API.
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.
Application Framework
- The Application Framework layer provides many higher-level services to applications in the form of Java classes.
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.
-
Android Runtime
- This section provides a key component called Dalvik Virtual Machine which is a kind of Java Virtual Machine specially designed and optimized for Android.
-
-