7/29/2019 Android Beginner Lecture-1
1/53
Android Course Introduction
CSDAN0101
1
Ramakrishna Reddy KGraduate Student
ME Computer Science
7/29/2019 Android Beginner Lecture-1
2/53
Why Mobile Application Development Course ??
Mobile computing is popular
Flexibility and portability
Smartphone --portable computing platform They have the potential to replace desktop
and laptops
2
7/29/2019 Android Beginner Lecture-1
3/53
Motivation
Smart Phone Basics
Smart Phone Hardware
Mobile OS
Mobile Cloud Computing(future)
Pervasive/Ubiquitous Computing
Brief History of Android
3
7/29/2019 Android Beginner Lecture-1
4/53
SmartPhone
Smart Phones are defined to be enhanced mobile phones
that perform functionalities other than the typical phone.
These enhanced features can be anything from email andinternet to a full keyboard.
The definition of smart keeps changing as more and more
new functions are introduced to mobile phones.
They have senses (sight, hearing, touch) that laptops never
had
4
7/29/2019 Android Beginner Lecture-1
5/53
Societal Impact
Keeps you organized- functions as a personal diary, electronic organizer,has automatic reminders, and a contact list
Faster communication- you can stay connected to the internet moreoften, easier to send emails and chat with friends
Information at your fingertips via internet- faster connection to theinternet, you can get news coverage, weather conditions, and so muchmore
Innovative way of taking notes- with the qwerty keyboard, you can take
notes as fast as you normally type on a computer
Better way of sharing information- transfer files to friends while online, ortransfer files to friends via email
5
7/29/2019 Android Beginner Lecture-1
6/53
Introduction to Mobile Computing
information at any time, any place, and in any form. Whether in the
office, at home or virtually any place on earth.
mobile computing is the use of computers in a non-static environment.
mobile computing is associated with mobility of hardware, data and
software in computer applications.
The combination of mobile computers and wireless communications is
promoting the evolution of information technologies to enable an
environment that is often called nomadic/ubiquitous computing.
6
7/29/2019 Android Beginner Lecture-1
7/53
Ubiquity
7
A3Anytime Anyplace Anyhow
7/29/2019 Android Beginner Lecture-1
8/53
Mobile Computingan evolution
8
Primitive
Simple
Limited Capacity
Cumbersome
Unattractive
Sophisticated
Powerful
Complex
Refined
Elegant
http://images.google.com/imgres?imgurl=http://i.walmart.com/i/p/00/82/91/60/13/0082916013818_215X215.jpg&imgrefurl=http://www.walmart.com/catalog/product.gsp%3Fproduct_id%3D2569135%26cat%3D120870%26type%3D19%26dept%3D3944%26path%3D0%253A3944%253A3951%253A41937%253A120870&h=215&w=215&sz=22&tbnid=8JlT-0LB3XQJ:&tbnh=101&tbnw=101&start=10&prev=/images%3Fq%3Ddesktop%2Bpc%26hl%3Den%26lr%3Dhttp://images.google.com/imgres?imgurl=http://www.e-wireless.ca/catalog/images/P900.jpg&imgrefurl=http://www.e-wireless.ca/catalog/popup_image.php%3FpID%3D46&h=642&w=642&sz=63&tbnid=E-RxDCOWdakJ:&tbnh=135&tbnw=135&start=12&prev=/images%3Fq%3Dericsson%2Bp900%26hl%3Den%26lr%3D%26sa%3DN7/29/2019 Android Beginner Lecture-1
9/53
Mobile Computingan evolution
9
Context/Location Sensitive Technology
computers are aware of their environment and
adapt (location awareness)
Technology Convergence small, cheap, portable, combined, replaceable -
no more separate devices
7/29/2019 Android Beginner Lecture-1
10/53
Mobile Computingan evolution
10
Mobile Computing and Technology radicallychanges how we do things
The personal perspective (our private life)
The organisational perspective (our working life)
Mobile Computing and Technology is becoming an integrated and
expected part of our existence
Would you give up the freedom of owning a mobile phone?
A luxury or a necessity?
7/29/2019 Android Beginner Lecture-1
11/53
Mobile Technology - Applications
11
Location Based Systems
User Requests - Pull
Show me...
Where am I and whats near me?
Where is the nearest?
Where are my friends/resources?
Broadcasting - Push
Did you know that?
intelligent travel guide with up-to-datelocation dependent information
7/29/2019 Android Beginner Lecture-1
12/53
Mobile Technology - Applications
12
Vehicle tracking
7/29/2019 Android Beginner Lecture-1
13/53
Mobile Technology - Applications
13
Navigation assistance
7/29/2019 Android Beginner Lecture-1
14/53
Mobile Technology - Applications
14
Entertainment
outdoor Internet access
ad-hoc networks for multi user games
MMS
7/29/2019 Android Beginner Lecture-1
15/53
Mobile Technology - Applications
15
Emergencies early transmission of patient data to the hospital, current status, first
diagnosis
replacement of a fixed infrastructures in case of earthquakes, hurricanes,
fire etc.
crisis, war, ...
7/29/2019 Android Beginner Lecture-1
16/53
Mobile Technology - Applications
16
Health Care
7/29/2019 Android Beginner Lecture-1
17/53
Mobile Technology - Applications
17
Mobile Office
Direct access to customer files stored in a central location
consistent databases for all agents/clients
7/29/2019 Android Beginner Lecture-1
18/53
Mobile Technology - Applications
18
Education Enhancing the educational value for students in terms
of provision, availability and access to campus
information through the use of mobile and wireless
computing. Adopting mobile and wireless technology as
educational technology for the delivery of learning
support material.
7/29/2019 Android Beginner Lecture-1
19/53
Mobile Technology - Applications
19
Mobile Commerce The ability to purchase goods or services virtually anywhere
through a wireless Internet-enabled device.
An e-commerce shopping model in which the mobile phone / PDA
replaces the PC.
7/29/2019 Android Beginner Lecture-1
20/53
What this course covers
Googles App Inventor
Core JAVA required for Android
Application Components
User Interface Layout
Multimedia Techniques
Hardware Interface
Networking
Data storage Methods
Location Based Services
20
7/29/2019 Android Beginner Lecture-1
21/53
21
Course Plan
Lectures : 20-22 Hands-on LABS 1 Mid semester Test 1 Assignment
1 Project (mobile application)
Schedule : Saturday, Sunday
Time : Sat-5:30 PM to 7:00 PMSun- 10AM to 11:30AM
Venue : 5102[LTC]
Pr-requisites : Basic Programming
7/29/2019 Android Beginner Lecture-1
22/53
Project Component
Form a team of maximum 4.
Submit the Idea.
Submit the Flow Chart.
Submit Design Document
Implementation
22
7/29/2019 Android Beginner Lecture-1
23/53
Merit Based Special Offers
AMCG membership http://www.bits-pilani.ac.in:12360/AMCG/AndroidGroup/index.html
Summer Intern Opportunities
23
7/29/2019 Android Beginner Lecture-1
24/53
More Exciting Event(Exclusively for Registered Students)
Android Mobile Application IdeaContest
5 prizes
1st
Prize( 2000)--Certificate 2nd Prize( 1000)-- Certificate
3rd Prize( 500)-- Certificate
4th Prize -- Certificate
5th Prize -- Certificate
24
Criterion: Innovativeness and Originality as well as match tocurrent Trend.
Application Areas : Will be announced soon.
7/29/2019 Android Beginner Lecture-1
25/53
Mobile Wireless Protocols Mobile wireless protocols are a set of rules which are used to get
Internet over mobile device. These wireless protocols allows a Mobile device to get internet with
out any need of HTML (Hypertext Markup Language) to WML(Wireless Markup Language) format conversion.
Wireless protocols are used over different technologies like GPRS,
WIFI, Bluetooth, 3G, and 4G in near future. Thus these protocols ensures the control of data transfer and usage
of data over different medium of connections as listed above.
25
7/29/2019 Android Beginner Lecture-1
26/53
General Packet Radio Service (GPRS)
General Packet Radio Service is packet
oriented mobile data service on cellular
communication systems which is used on a 2G
or 3G communication system.
It is used for mobile internet, MMS and other
data communications.
Informally, GPRS is also called 2.5G
26
7/29/2019 Android Beginner Lecture-1
27/53
Wireless Fidelity(WI-FI)
Wireless Technology is an alternative to Wired Technology, which iscommonly used, for connecting devices in wireless mode.
Wi-Fi (Wireless Fidelity) is a generic term that refers to the IEEE802.11 communications standard for Wireless Local Area Networks(WLANs).
Wi-Fi Network connect computers to each other, to the internetand to the wired network.
Wi-Fi Networks use Radio Technologies to transmit & receive dataat high speed: IEEE 802.11b
IEEE 802.11a
IEEE 802.11g
27
7/29/2019 Android Beginner Lecture-1
28/53
Bluetooth
Bluetooth is a short-range wireless network
originally intended to replace the cable(s).
It uses radio waves to transmit & receive data.
It operates on 2.4GHZ ISM band.In the beginning of the Bluetooth wireless
technology era, Bluetooth was aimed at unifying
the telecom and computing industries.
28
7/29/2019 Android Beginner Lecture-1
29/53
Global Positioning System(GPS)
The Global Positioning System (GPS) is a space-based global navigation
satellite system (GNSS) that provides reliable location and time
information in all weather and at all times and anywhere on or near the
Earth when and where there is an unobstructed line of sight to four or
more GPS satellites.
It is maintained by the United States government and is freely accessible
by anyone with a GPS receiver
29
7/29/2019 Android Beginner Lecture-1
30/53
3G
30
The rapid development of mobile telecommunications was one ofthe most notable success stories of the 1990s.
The 2G networks began their operation at the beginning of thedecade (the first GSM network was opened in 1991 in Finland), andsince then they have been expanding and evolving continuously.
In the same year that GSM was commercially launched, ETSI hadalready started the standardization work for the next-generationmobile telecommunications network.
7/29/2019 Android Beginner Lecture-1
31/53
3G
31
The dream of 3G is to unify the world's mobile computing devices
through a single, worldwide radio transmission standard.
Higher bandwidth enables a range of new applications!!
For consumers, 3G quite simply means a more rewarding wireless
experiencehigh-quality, low-cost voice, and fun and useful data
services whenever they want them, whenever they need them and
wherever they have mobile phone service.
7/29/2019 Android Beginner Lecture-1
32/53
4G
It is a successor to 3G and 2G families of standards
Speed requirements for 4G service set the peak download speed at
100 Mbit/s for high mobility communication (such as from trains
and cars) and 1 Gbit/s for low mobility communication (such aspedestrians and stationary users).
A 4G system is expected to provide a comprehensive and secure all-
IP based mobile broadband solution to smart phones, laptop
computer wireless modems and other mobile devices
32
7/29/2019 Android Beginner Lecture-1
33/53
Mobile Application Areas
Location Based Services:
Android devices have an in-built GPS receiver. Using GPS receivernumber of applications can be developed. For example, anapplication can use this GPS receiver to find the current position ofthe user and list him the near by hotels, tourist places, shoppingmalls, theaters, cab services etc.
Banking:
Banking transactions and services can be made very easy bydeveloping a mobile application. Transactions like balance enquiry,ministatement, fundtransfer and the services like cheque bookrequest, stopping a cheque, finding the cheque status can be donevery easily anytime anywhere using mobile.
33
7/29/2019 Android Beginner Lecture-1
34/53
Mobile Application Areas
Gaming:
Gaming is another emerging sector in the mobile domain. Apartfrom the single party games where a single user is intended to playthe game, developers can also concentrate on the multipartygames. Multiparty games can be developed using different mobilewireless technologies like bluetooth, GPRS, 3G.
MashUp:
Mashup is an application that uses and combines data, presentationor functionality from two or more sources to create new services.Mobiles with the GPRS or 3G connectivity can connect to internetto get the data from different sources. For example, a mobilemashup can be developed by getting the sport news from thecricinfo, international news from the CNNIBN, technology newsfrom newsX etc.
34
7/29/2019 Android Beginner Lecture-1
35/53
Summary
35
Mobile computing technology is becoming more pervasive
each day
Mobile computing applications are capable of delivering
real business goals and objectives
The rest of the module will focus on programming
paradigms and techniques for the implementation of
mobile computing applications
7/29/2019 Android Beginner Lecture-1
36/53
What is Android?
Android is a software stack formobile devices that includes an
operating system, middleware andkey applications.
36
7/29/2019 Android Beginner Lecture-1
37/53
37
OHA (Open Handset Alliance)
A business alliance consisting of84 companies to
develop open standards for mobile devices
7/29/2019 Android Beginner Lecture-1
38/53
38
7/29/2019 Android Beginner Lecture-1
39/53
Architecture
39
7/29/2019 Android Beginner Lecture-1
40/53
40
Android S/W Stack - Application
Android provides a set of core applications:
Email Client SMS Program
Calendar
Maps
Browser
Contacts
Etc
All applications are written using the Java language.
7/29/2019 Android Beginner Lecture-1
41/53
41
Android S/W Stack App Framework
Enabling and simplifying the reuse of
components
Developers have full access to the same
framework APIs used by the core applications.Users are allowed to replace components.
7/29/2019 Android Beginner Lecture-1
42/53
42
Android S/W Stack
App Framework (Cont)
FeaturesFeature Role
ViewSystem
Used to build an application, including lists, grids, textboxes, buttons, and embedded web browser
ContentProvider
Enabling applications to access data from otherapplications or to share their own data
ResourceManager
Providing access to non-code resources (localized string, graphics, and layout files)
NotificationManager
Enabling all applications to display customer alerts in thestatus bar
ActivityManager
Managing the lifecycle of applications and providinga common navigation backstack
7/29/2019 Android Beginner Lecture-1
43/53
43
Android S/W Stack - Libraries
Including a set of C/C++ libraries used by
components of the Android system
Exposed to developers through the Androidapplication framework
7/29/2019 Android Beginner Lecture-1
44/53
44
Android S/W Stack - Runtime
Core LibrariesProviding most of the functionality available in the core
libraries of the Java language
APIsData Structures
Utilities
File Access
Network Access
Graphics
Etc
7/29/2019 Android Beginner Lecture-1
45/53
45
Android S/W Stack Runtime (Cont)
Dalvik Virtual Machine
Providing environment on which every Android
application runs
Each Android application runs in its own process, withits own instance of the Dalvik VM.
Dalvik has been written so that a device can run
multiple VMs efficiently.
Register-based virtual machine
7/29/2019 Android Beginner Lecture-1
46/53
46
Android S/W Stack Runtime (Cont)
Dalvik Virtual Machine (Cont)
Executing the Dalvik Executable (.dex) format
.dex format is optimized for minimal memory footprint.
Compilation
Relying on the Linux Kernel for:Threading
Low-level memory management
7/29/2019 Android Beginner Lecture-1
47/53
47
Android S/W Stack Linux Kernel
Relying on Linux Kernel 2.6 for core system services
Memory and Process Management
Network Stack
Driver Model
Security
Providing an abstraction layer between the H/W and the rest of the S/W sta
ck
7/29/2019 Android Beginner Lecture-1
48/53
Android Future
Android 4.0 Ice Cream Sandwich
Same O/S for phones and tablets
YE 2011
7/29/2019 Android Beginner Lecture-1
49/53
Android Future
NFC Near Field Communications
Google Wallet
Replace credit cards
7/29/2019 Android Beginner Lecture-1
50/53
Android Future
Soft buttons
Rotate with device
Required by Ice Cream Sandwich
7/29/2019 Android Beginner Lecture-1
51/53
Android Future
Combination Devices
Phones dock into Tablets or Laptops
7/29/2019 Android Beginner Lecture-1
52/53
52 52
References
Image courtesy : OHA site, Google images, Android site.
http://developer.android.com
Wikipedia for wireless Internet Technologies
Few slides are borrowed from Stafford University SDMCA course introslides !!
Q A
http://developer.android.com/http://developer.android.com/7/29/2019 Android Beginner Lecture-1
53/53
Any questions?
www.google.com :P
Q & A
http://www.google.com/http://www.google.com/