This document discusses Android app development. It describes Android as an open source, Linux-based OS used for mobile devices. It outlines Android's architecture including the Linux kernel, libraries, Android runtime, and application framework. It also discusses Android application components like activities, services, and content providers. The document concludes with describing an example app called "Learn Programming" intended to teach programming concepts.
2. CONTENTS
What is Android
Android Architecture
Android software development
Android - Application
Components
Android Resources
2
Our Project Description
https://www.androidflap.com
3. WHAT IS ANDROID
Android is an open source, Linux based operating system for mobile
devices such as tablet computers and smartphones.
Android is based on JAVA and all its applications are developed in JAVA
Android SDK offers rich tools for android application development and
many useful APIs
3
https://www.androidflap.com
4. FEATURES OF ANDROID
Android OS basic screen provides a beautiful and interactive user interface.
GSM, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and WiMAX
connectivity support.
SQLite, a lightweight relational database, is used for data storage purposes.
Android has native support for multi-touch which was initially made available in
handsets such as the HTC Hero.
User can jump from one task to another and same time various application can
run simultaneously.
4
https://www.androidflap.com
6. LINUX KERNEL
Note that Android based on a Linux kernel not a Linux OS
Supplies Security, Memory management, Process management and Driver
6
https://www.androidflap.com
7. 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
which is a useful repository for storage and sharing of application data, libraries
to play and record audio and video, SSL libraries responsible for Internet security
etc.
7
https://www.androidflap.com
8. ANDROID RUNTIME
This section provides a key component called Dalvik Virtual Machine
which is a kind of Java Virtual Machine.
The Dalvik VM makes use of Linux core features like memory
management and multi-threading, which is intrinsic in the Java language.
8
https://www.androidflap.com
9. APPLICATION FRAMEWORK
The Application Framework layer provides many higher-level services to
applications in the form of Java classes.
The Application Framework includes:
Activity Manager, Content Provider, Resource Manager, Notification Manager, View
system, etc.
9
https://www.androidflap.com
10. APPLICATION FRAMEWORK (Cont.)
Activity Manager − Controls all aspects of the application lifecycle.
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.
10
https://www.androidflap.com
11. APPLICATION
You will find all the Android application at the top layer.
Our applications are in the same level as these applications.
11
https://www.androidflap.com
13. RESOURCE
Resources are the additional files and static content that your code uses,
such as images, layout definitions, strings, animation instructions, and
more.
At runtime, Android uses the appropriate resource based on the current
configuration.
13
https://www.androidflap.com
15. APP MANIFEST
Every app project must have an AndroidManifest.xml file.
The manifest file describes essential information about your app to the Android
build tools, the Android operating system, and Google Play.
The manifest file is required to declare the following:
The app's package name
The components of the app
The permissions that the app needs
15
https://www.androidflap.com
17. Set-up Java Development Kit (JDK)
download the latest version of Java JDK from Oracle's Java site:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Finally set PATH and JAVA_HOME environment variables to refer to the directory
that contains java and javac.
On Linux, if the SDK is installed in /usr/local/jdk1.8.0_102 and you use the C shell,
you would put the following code into your .cshrc file.
17
setenv PATH /usr/local/jdk1.8.0_102/bin:$PATH
setenv JAVA_HOME /usr/local/jdk1.8.0_102
https://www.androidflap.com
19. FEATURES OF ANDROID STUDIO
Visual Layout Editor:
Create complex layouts with ConstraintLayout by adding constraints from each view to
other views and guidelines. Then preview your layout on any screen size by selecting
one of various device configurations or by simply resizing the preview window.
19
https://www.androidflap.com
20. FEATURES OF ANDROID STUDIO(Cont.)
APK Analyzer:
Android Studio includes an APK Analyzer that provides immediate insight into the
composition of your APK after the build process completes. Using the APK Analyzer can
reduce the time you spend debugging issues with DEX files and resources within your
app, and help reduce your APK size.
20
https://www.androidflap.com
21. FEATURES OF ANDROID STUDIO(Cont.)
21
Intelligent Code Editor:
Write better code, work faster, and be more productive with an intelligent code editor
that provides code completion for Kotlin, Java, and C/C++ languages.
https://www.androidflap.com
23. APPLICATION COMPONENTS
Application components are the essential building blocks of an Android
application.
These components are loosely coupled by the application manifest file
AndroidManifest.xml that describes each component of the application
and how they interact.
23
https://www.androidflap.com
25. ACTIVITIES
An activity represents a single screen with a user interface, in-short Activity
performs actions on the screen.
For example, an email application might have one activity that shows a list of new
emails, another activity to compose an email, and another activity for reading
emails.
An activity is implemented as a subclass of Activity class as follows −
25
public class MainActivity extends Activity {
}
https://www.androidflap.com
26. SERVICES
A service is a component that runs in the background to perform long-running
operations.
For example, a service might play music in the background while the user is in a
different application, or it might fetch data over the network without blocking
user interaction with an activity.
A service is implemented as a subclass of Service class as follows −
26
public class MyService extends Service {
}
https://www.androidflap.com
27. BROADCAST RECEIVERS
Broadcast Receivers simply respond to broadcast messages from other
applications or from the system.
For example, applications can also initiate broadcasts to let other applications
know that some data has been downloaded to the device and is available for
them to use.
A broadcast receiver is implemented as a subclass of BroadcastReceiver class
and each message is broadcaster as an Intent object.
27
public class MyReceiver extends
BroadcastReceiver {
public void onReceive(context,intent){
}
}
https://www.androidflap.com
28. CONTENT PROVIDERS
A content provider component supplies data from one application to others on
request.
A content provider is implemented as a subclass of ContentProvider class and
must implement a standard set of APIs that enable other applications to perform
transactions.
28
public class MyContentProvider extends ContentProvider {
public void onCreate(){
}
}
https://www.androidflap.com
32. PURPOSE
This application introduces to some programming concepts.
This application helps to build up on your programming skills once your
familiar with Basic programming languages.
32
https://www.androidflap.com
33. WHY ‘LEARN PROGRAMMING’
Free of cost
No Ads
Easy contents
Always logged in
Offline
Light weight
AND MUCH MORE: dark theme , notification.
33
https://www.androidflap.com
34. SYSTEM REQUIREMENTS
Hardware requires:
RAM : minimum 512MB RAM
MEMORY: minimum 50mb space
Software requires:
OS: minimum version of android is Lollipop.
34
https://www.androidflap.com
36. CONCLUSION
Android is an open source and Linux-based Operating System for mobile
devices such as smartphones and tablet computers.
Android offers a unified approach to application development for mobile devices
which means developers need only develop for Android.
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.
36
https://www.androidflap.com