Unit1 Compressed
Unit1 Compressed
Hardware Abstraction
The Linux Kernel Layer (HAL) Libraries ANDROID LIBRARIES
⚫ The foundation of the Android platform is the Linux ⚫ The HAL provides is a logical division of code that serves as ⚫ Libraries including Open-source Web browser engine ⚫ android.app − Provides access to the application model
kernel. an abstraction layer between a computer's physical WebKit, well known library libc, SQLite database which and is the cornerstone of all Android applications.
⚫ This provides a level of abstraction between the device hardware and its software. is a useful repository for storage and sharing of ⚫ android.content − Facilitates content access, publishing
hardware and it contains all the essential hardware ⚫ It provides a device driver interface allowing a program to application data, libraries to play and record audio and and messaging between applications and application
drivers like camera, keypad, display, networking etc. communicate with the hardware. video, SSL libraries responsible for Internet security etc.. components.
⚫ Bridge between OS and Hardware ⚫ When a framework API makes a call to access device ⚫ android.database − Used to access data published by
Handles… hardware, the Android system loads the library module for content providers and includes SQLite database
⚫ memory management, file management that hardware component. management classes.
⚫ task scheduling, process management, managing
⚫ android.opengl − Graphics library - A Java interface to the
hardware devices. OpenGL ES 3D graphics rendering API.
ANDROID RUNTIME &
ANDROID LIBRARIES ANDROID LIBRARIES ANDROID RUNTIME APPLICATIONS
⚫ android.os − Provides applications with access to standard ⚫ android.webkit − A set of classes intended to allow ⚫ Application Framework ⚫ Notifications Manager − Allows applications to display
operating system services including messages, system web-browsing capabilities to be built into applications. ⚫ The Application Framework layer provides many alerts and notifications to the user.
services and inter-process communication. ⚫ Android Runtime higher-level services to applications in the form of Java ⚫ View System − An extensible set of views used to create
⚫ android.text − Used to render and manipulate text on a ⚫ This section provides a key component called Dalvik classes. application user interfaces.
device display. Virtual Machine which is a kind of Java Virtual Machine
⚫ Activity Manager − Controls all aspects of the
specially designed and optimized for Android.
⚫ android.view − The fundamental building blocks of application lifecycle and activity stack. ⚫ Applications
⚫ The Dalvik VM makes use of Linux core features like
application user interfaces. ⚫ Content Providers − Allows applications to publish and ⚫ You will find all the Android application at the top layer.
memory management and multi-threading, which is
⚫ android.widget − A rich collection of pre-built user native in the Java language. share data with other applications. You will write your application to be installed on this
interface components such as buttons, labels, list views, ⚫ ART performs the translation of the ⚫ Resource Manager − Provides access to non-code layer only. Examples of such applications are Contacts
layout managers, radio buttons etc. application's bytecode into native instructions that are embedded resources such as strings, color settings and Books, Browser, Games etc.
later executed by the device's runtime environment. user interface layouts.
Development
Android Studio Features Android Studio Features environment/IDE
⚫ Development environment/IDE: ⚫ Android Studio offers even more features that enhance ⚫ Lint tools to catch performance, usability, version ⚫ You can start your Android application development on
⚫ Android studio and its working environment your productivity when building Android apps, such as: compatibility, and other problems either of the following operating systems −
⚫ A flexible Gradle-based build system ⚫ C++ and NDK support ⚫ Microsoft Windows XP or later version.
⚫ Gradle build system
⚫ A fast and feature-rich emulator ⚫ Built-in support for Google Cloud Platform, making it ⚫ Mac OS X 10.5.8 or later version with Intel chip.
⚫ Emulator setup
⚫ A unified environment where you can develop for all easy to integrate Google Cloud Messaging and App ⚫ Linux including GNU C Library 2.7 or later.
Android devices Engine
⚫ Instant Run to push changes to your running app
⚫ Following is the list of software's you will need before you
without building a new APK start your Android application programming.
⚫ Code templates and GitHub integration to help you build ⚫ Java JDK5 or later version
common app features and import sample code ⚫ Android Studio
⚫ Extensive testing tools and frameworks.
Android Layout Types Android Layout Types Layout Attributes Layout Attributes
⚫ Linear Layout is a view group that aligns all children in a ⚫ List View is a view group that displays a list of scrollable ⚫ android:id - This is the ID which uniquely identifies the view. ⚫ android:layout_gravity - This specifies how child Views are
single direction, vertically or horizontally. items. ⚫ android:layout_width - This is the width of the layout. positioned.
⚫ Relative Layout is a view group that displays child views in ⚫ Grid View is a View Group that displays items in a ⚫ android:layout_height - This is the height of the layout ⚫ android:layout_weight - This specifies how much of the
relative positions. two-dimensional, scrollable grid. ⚫ android:layout_marginTop - This is the extra space on the top extra space in the layout should be allocated to the View.
⚫ Table Layout is a view that groups views into rows and side of the layout. ⚫ android:layout_x - This specifies the x-coordinate of the
columns. ⚫ android:layout_marginBottom - This is the extra space on the layout.
⚫ Absolute Layout enables you to specify the exact location of bottom side of the layout. ⚫ android:layout_y - This specifies the y-coordinate of the
its children. ⚫ android:layout_marginLeft - This is the extra space on the left layout.
side of the layout.
⚫ Frame Layout is a placeholder on screen that you can use to ⚫ android:layout_width - This is the width of the layout.
⚫ android:layout_marginRight - This is the extra space on the right
display a single view.
side of the layout. ⚫ android:layout_width - This is the width of the layout.