100% found this document useful (1 vote)
56 views27 pages

LA - Android - Unit I ONE

Uploaded by

yugalkumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
56 views27 pages

LA - Android - Unit I ONE

Uploaded by

yugalkumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 27

Android Overview

Mobile Applications
 What are they?
 Any application that runs on a mobile device
 Types
 Web apps: run in a web browser
 HTML, JavaScript, Flash, server-side components,
etc.
 Native: compiled binaries for the device
 Often make use of web services
Mobile Devices: Advantages
 Always with the user
 Typically have Internet access
 Typically GPS enabled
 Most have cameras & microphones
 Many apps are free or low-cost
Mobile Devices: Disadvantages
 Limited screen size
 Limited battery life
 Limited processor speed
 Limited and sometimes slow network access
 Limited input: phone keypad, touch screen,
stylus etc
 Limited web browser functionality
 Range of platforms & configurations across
devices
Why Mobile App Development?
Why Android?
 Transferring app to phone is trivial
 Can distribute by putting it on the web
 Android Market (now Google Play) for wider
distribution
What is Google Android?
 A software stack for mobile devices that includes
 An operating system
 Middleware
 Key Applications

 Uses Linux to provide core system services


 Security
 Memory management
 Process management
 Power management
 Hardware drivers
Version Code name Release date API level DVM/ART Distribution

8.1 October 25, 2017 27 ART


Oreo
8.0 August 21, 2017 26 ART 0.2%
7.1 October 4, 2016 25 ART 2.0%
Nougat
7.0 August 22, 2016 24 ART 15.8%
6.0 Marshmallow October 5, 2015 23 ART 32.0%
5.1 March 9, 2015 22 ART 21.0%
Lollipop
5.0 November 3, 2014 21 ART 2.1.0 6.7%

DVM (and
4.4 KitKat October 31, 2013 19 14.5%
ART 1.6.0)
4.3 July 24, 2013 18 DVM 1.0%
November 13,
4.2 Jelly Bean 17 DVM 3.3%
2012
4.1 July 9, 2012 16 DVM 2.3%
Ice Cream
4.0 October 19, 2011 15 DVM 0.6%
Sandwich
2.3 Gingerbread February 9, 2011 10 DVM 1.4.0 0.6%
Android Apps
 Built using Java and new SDK libraries
 No support for some Java libraries like Swing &
AWT
 Java code compiled into Dalvik byte code
(.dex)
 Optimized for mobile devices (better memory
management, battery utilization, etc.)
 Dalvik VM runs .dex files
Applications
 Written in Java (it’s possible to write
native code)
 Good separation (and corresponding
security) from other applications:
 Each application runs in its own process
 Each process has its own separate VM
 Each application is assigned a unique Linux
user ID – by default files of that application are
only visible to that application
Android Architecture
 Activity Manager – Life Cycle / Navigation
within and among applications

 Content Provider – encapsulate data

 Location Manager – aware of its physical location

 Notification Manager – users informed about events

 Package Manager – infn. about other appln. Pkgs

 Resource Manager – lets appln accesses its


resources
 Telephony Manager – to learn about device
telephony services

 View System – manages UI elements / events

 Window Manager – perform Window related


operations
 Free Type: for bitmap and vector font rendering
 Libc : standard C System library
 Mediaframework: supports many audio & Video formats /
image files / playback & recording
 OpenGL/ES: for 3D graphics libraries
 SGL: 2D graphics engine – scalable graphics lib
 SQLite: provides lightweight RDB engine
 SSL: SSL based security for NW communication
 Surface Manager: manages accesses to the display
subsystem – 2D & 3D graphics layers
Application Components
 Activities – visual user interface focused
on a single thing a user can do (presents UI)
 Services – no visual interface – they run in
the background
User selects a song through an activity and a separate
service is started
 Broadcast Receivers – receive and react
to broadcast announcements
Battery life / timezone changed etc
 Content Providers – allow data exchange
between applications
Activities
 Basic component of most applications
 Most applications have several activities
that start each other as needed
 Each is implemented as a subclass of the
base Activity class
Activities – The View
 Each activity has a default window to
draw in
 The content of the window is a view or a
group of views (derived from View or
ViewGroup)
 Example of views: buttons, text fields,
scroll bars, menu items, check boxes, etc.
 View(Group) made visible via
Activity.setContentView() method.
Services
 Does not have a visual interface
 Runs in the background indefinitely
 Examples
 Network Downloads
 Playing Music
 TCP/UDP Server
 You can bind to an existing service and
control its operation
Broadcast Receivers
 Receive and react to broadcast
announcements
 Extend the class BroadcastReceiver
 Examples of broadcasts:
 Low battery, power connected, shutdown,
timezone changed, etc.
 Other applications can initiate broadcasts
Content Providers
 Makes some of the application data
available to other applications
 It’s the only way to transfer data between
applications in Android (no shared files,
shared memory, pipes, etc.)
 Extends the class ContentProvider;
 Other applications use a ContentResolver
object to access the data provided via a
ContentProvider
Intents
 An intent is an Intent object with a message content.
 Describe operations – send an email
 Activities, services and broadcast receivers are
started by intents. ContentProviders are started by
ContentResolvers:
 An activity is started by Context.startActivity(Intent intent)
or Activity.startActivityForResult(Intent intent, int
RequestCode)
 A service is started by Context.startService(Intent service)
 An application can initiate a broadcast by using an Intent in
any of Context.sendBroadcast(Intent intent),
Context.sendOrderedBroadcast(), and
Context.sendStickyBroadcast()
Android Manifest
 Its main purpose in life is to declare the components to the
system:
<?xml version="1.0" encoding="utf-8"?>
<manifest . . . >
<application . . . >
<activity
android:name="com.example.project.FreneticActivity"
android:icon="@drawable/small_pic.png"
android:label="@string/freneticLabel"
... >
</activity>
...
</application>
</manifest>
Building and running
Compiled resources
(xml files)

Android Debug Bridge

 ADB is a client server program that connects clients on developer


machine to devices/emulators to facilitate development.
 An IDE like Eclipse handles this entire process for you.
Components
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.
Java
This contains the .java source files for your project. By default, it includes
an MainActivity.java source file having an activity class
res/drawable-hdpi
This is a directory for drawable objects that are designed for high-
density screens

res/layout
This is a directory for files that define your app's user interface

res/values
This is a directory for other various XML files that contain a collection of
resources, such as strings and colours definitions.

AndroidManifest.xml
This is the manifest file which describes the fundamental
characteristics of the app and defines each of its components.
MyProject/
app/
manifest/
AndroidManifest.xml
java/
MyActivity.java
res/
drawable/
icon.png
layout/
activity_main.xml
info.xml
values/
strings.xml

You might also like