Lecture 1 Android Application Development.ppt

hillarykiprono4 22 views 35 slides Oct 04, 2024
Slide 1
Slide 1 of 35
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
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35

About This Presentation

Mobile application , introduction to mobile application , reactive native , reactive , digital platform architecture


Slide Content

Lecture 1 Introduction
Objectives
a. Mobile Application Development (MAD)
b. Intro to Android platform
c. Platform architecture
d. Application building blocks
e. Development tools
•Textbook: Hello, Android

Mobile Application Development (MAD)
•Create mobile compatible software applications
that typically run on various platforms, such as
iOS, Android, etc.
•Students can develop Mobile Applications once
they have learnt programming languages, such
as C, C++, C#, Java, Python, etc.
•They can use the most suitable programming
language inside a mobile development
environment.

Introduction to Android
•Open software platform for mobile
development
•A complete stack – OS, Middleware,
Applications
•An Open Handset Alliance (OHA) project
•Powered by Linux operating system
•Fast application development in Java
•Open source under the Apache 2 license

Platform Architecture

Linux Kernel
•Works as a HAL
•Device drivers
•Memory management
•Process management
•Networking

Libraries
•C/C++ libraries
•Interface through Java
•Surface manager – Handling UI Windows
•2D and 3D graphics
•Media codecs, SQLite, Browser engine

Android Runtime
•Dalvik VM
–Dex files
–Compact and efficient than class files
–Limited memory and battery power
•Core Libraries
–Java 5 Std edition
–Collections, I/O etc…

Application Framework
•API interface
•Activity manager – manages application
life cycle.

Applications
•Built in and user apps
•Can replace built in apps

Application Building Blocks
•The core building blocks or components of
android are activities, views, intents,
services, content providers, fragments and
AndroidManifest. xml. IntentReceiver

Activities
•An activity is a class that represents a
single screen. It is like a Frame in AWT.
•Typically correspond to one UI screen
•But, they can:
–Be faceless
–Be in a floating window
–Return a value

IntentReceivers
•Components that respond to broadcast
‘Intents’
•Way to respond to external notification or
alarms
•Apps can invent and broadcast their own
Intent

Intents
•Intent is used to invoke components. It is mainly
used to start the service, launch an activity,
display a web page & contacts
•Think of Intents as a verb and object; a
description of what you want done
–E.g. VIEW, CALL, PLAY etc..
•System matches Intent with Activity that can
best provide the service
•Activities and IntentReceivers describe what
Intents they can service

Intents
GMail
Contacts
Home
Blogger
Chat
Client component makes a
request for a specific
action
“Pick photo”
System picks best
component for that action
New components can use
existing functionality
Blogger
Photo
Gallery

Example of intent
•You may write the following code to view the
webpage.
1.Intent intent=new Intent(Intent.ACTION_VIEW); 
 
2.intent.setData(Uri.parse("http://
www.javatpoint.com"));  
3.startActivity(intent);  

Services
•Service is a background process that can
run for a long time.
•Two types of services: local and remote.
Local service is accessed from within the
application, remote service is accessed
remotely from other applications running
on the same device.
•Faceless components that run in the
background E.g. music player, network
download etc…

ContentProviders
•Content Providers are used to share data
between the applications or across
applications
–E.g. address book, photo gallery
•Provides uniform APIs for:
–querying
–delete, update and insert.
•Content is represented by URI and MIME
type

Views & AndroidManifest.xml
•A view is the UI element such as button,
label, text field etc. Anything that you see
is a view.
AndroidManifest.xml
•It contains information's about activities,
content providers, permissions etc. It is
like the web.xml file in Java EE.

Development Tools
The android developer tools let you create
interactive and powerful application for
android platform. The tools can be generally
categorized into two types; SDK & Platform
tools
•Eclipse
•Android SDK 2.0 or higher
developer.android.com

SDK tools
•Are generally platform independent and
are required no matter which android
platform you are working on. When you
install the Android SDK into your system,
these tools get automatically installed.
•E.g. ddms- for debugging Android apps,
emulator – for testing apps, mksdcard,
android and sqlite3.

Platform tools
•Are customized to support the features of
the latest android platform, are updated
every time you install a new SDK platform.
Each update of the platform tools is
backward compatible with older platforms.
•Some of the platform tools,Android Debug
bridge (ADB), Android Interface definition
language (AIDL), aapt, dexdump , and dex
e.t.c

The Emulator
•QEMU-based ARM emulator
•Runs the same image as the
device
•Limitations:
–No Camera support

Mobile Devices

Practical work: Hello World
•A great starting point:
http://developer.android.com/guide/tutorial
s/hello-world.html
•Generating UIs
–Views – building blocks
–E.g. TextView, EditText, Button
–Placed into Layouts
–E.g. LinearLayout, TableLayout,
AbsoluteLayout

Application Lifecycle
•Application run in their own processes
(VM, PID)
•Processes are started and stopped as
needed to run an application's
components
•Processes may be killed to reclaim
resources

Lifecycle
•System
Process
GMail
Contacts
Home
•Home•Mail •Browser
•Map

Location Manager

XMPP Services
•Allows any app to send device-to-device
messages to other android users
•Data Messages are Intents with
name/value pairs
•Works with any gmail account…
•Can also build servers to deliver server-to-
device messages

Notification Manager

Notification Manager
•How background app interact with users
•Consistent notification presentation

Views

Views

Location Manager

Next Lecture
•First task, install the SDK and android
studio
Tags