LA_FUNDAMENTALS OF Android_Unit I ONE.ppt

JeevaMCSEKIOT 13 views 27 slides Sep 23, 2024
Slide 1
Slide 1 of 27
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27

About This Presentation

important role in the UI experience and depends on how the information is displayed to the user. This TextView widget in Android can be dynamized in various contexts.


Slide Content

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 dateAPI levelDVM/ART Distribution
8.1
Oreo
October 25, 201727 ART
8.0 August 21, 201726 ART 0.2%
7.1
Nougat
October 4, 201625 ART 2.0%
7.0 August 22, 201624 ART 15.8%
6.0 MarshmallowOctober 5, 201523 ART 32.0%
5.1
Lollipop
March 9, 2015 22 ART 21.0%
5.0 November 3, 201421 ART 2.1.0 6.7%
4.4 KitKat October 31, 201319
DVM 
(and
ART
 1.6.0)
14.5%
4.3
Jelly Bean
July 24, 2013 18 DVM 1.0%
4.2
November 13,
2012
17 DVM 3.3%
4.1 July 9, 2012 16 DVM 2.3%
4.0
Ice Cream
Sandwich
October 19, 201115 DVM 0.6%
2.3 GingerbreadFebruary 9, 201110 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
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.
Compiled resources
(xml files)
Android Debug Bridge

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.
Components

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
Tags