Android Course Introduction
CSDAN0101
Ramakrishna Reddy K Graduate Student ME Computer Science
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
Motivation
Smart Phone Basics Smart Phone Hardware Mobile OS Mobile Cloud Computing(future) Pervasive/Ubiquitous Computing
Brief History of Android
3
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 and internet 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
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 more often, easier to send emails and chat with friends Information at your fingertips via internet- faster connection to the internet, you can get news coverage, weather conditions, and so much more 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, or transfer files to friends via email
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.
Ubiquity
3 A
Anytime Anyplace Anyhow
7
Mobile Computing an evolution
Primitive Simple Limited Capacity
Cumbersome
Unattractive
Sophisticated
Powerful
Complex
Refined
Elegant
8
Mobile Computing an evolution
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
Mobile Computing an evolution
Mobile Computing and Technology radically changes 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?
10
Mobile Technology - Applications
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-date
location dependent information
11
Mobile Technology - Applications
Vehicle tracking
12
Mobile Technology - Applications
Navigation assistance
13
Mobile Technology - Applications
Entertainment
outdoor Internet access
ad-hoc networks for multi user games MMS
14
Mobile Technology - Applications
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, ...
15
Mobile Technology - Applications
Health
Care
16
Mobile Technology - Applications
Mobile Office Direct access to customer files stored in a central location consistent databases for all agents/clients
17
Mobile Technology - Applications
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.
18
Mobile Technology - Applications
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.
19
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
Course Plan
Lectures : 20-22 Hands-on LABS 1 Mid semester Test 1 Assignment 1 Project (mobile application) :
: :
Schedule Time
Venue
Saturday, Sunday
Sat-5:30 PM to 7:00 PM
Sun- 10AM to 11:30AM
5102[LTC]
Basic Programming
Pr-requisites :
21
Project Component
Form a team of maximum 4. Submit the Idea. Submit the Flow Chart.
Submit Design Document
Implementation
22
Merit Based Special Offers
AMCG membership
http://www.bits-pilani.ac.in:12360/AMCG/AndroidGroup/index.html
Summer Intern Opportunities
23
More Exciting Event
(Exclusively for Registered Students)
Android Mobile Application Idea Contest
5 prizes 1st Prize( 2000)--Certificate 2nd Prize( 1000)-- Certificate 3rd Prize( 500)-- Certificate 4th Prize -- Certificate 5th Prize -- Certificate
Criterion: Innovativeness and Originality as well as match to current Trend. Application Areas : Will be announced soon.
24
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
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
Wireless Fidelity(WI-FI)
Wireless Technology is an alternative to Wired Technology, which is commonly used, for connecting devices in wireless mode. Wi-Fi (Wireless Fidelity) is a generic term that refers to the IEEE 802.11 communications standard for Wireless Local Area Networks (WLANs). Wi-Fi Network connect computers to each other, to the internet and to the wired network. Wi-Fi Networks use Radio Technologies to transmit & receive data at high speed:
IEEE 802.11b IEEE 802.11a IEEE 802.11g
27
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
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
3G
The rapid development of mobile telecommunications was one of the most notable success stories of the 1990s. The 2G networks began their operation at the beginning of the decade (the first GSM network was opened in 1991 in Finland), and since then they have been expanding and evolving continuously. In the same year that GSM was commercially launched, ETSI had already started the standardization work for the next-generation mobile telecommunications network.
30
3G
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.
31
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 as pedestrians and stationary users).
A 4G system is expected to provide a comprehensive and secure allIP based mobile broadband solution to smart phones, laptop computer wireless modems and other mobile devices
32
Mobile Application Areas
Location Based Services:
Android devices have an in-built GPS receiver. Using GPS receiver number of applications can be developed. For example, an application can use this GPS receiver to find the current position of the user and list him the near by hotels, tourist places, shopping malls, theaters, cab services etc.
Banking: Banking transactions and services can be made very easy by developing a mobile application. Transactions like balance enquiry, ministatement, fundtransfer and the services like cheque book request, stopping a cheque, finding the cheque status can be done very easily anytime anywhere using mobile.
33
Mobile Application Areas
Gaming:
Gaming is another emerging sector in the mobile domain. Apart from the single party games where a single user is intended to play the game, developers can also concentrate on the multiparty games. Multiparty games can be developed using different mobile wireless technologies like bluetooth, GPRS, 3G. MashUp: Mashup is an application that uses and combines data, presentation or functionality from two or more sources to create new services. Mobiles with the GPRS or 3G connectivity can connect to internet to get the data from different sources. For example, a mobile mashup can be developed by getting the sport news from the cricinfo, international news from the CNNIBN, technology news from newsX etc.
34
Summary
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
35
What is Android?
Android is a software stack for mobile devices that includes an operating system, middleware and key applications.
36
OHA (Open Handset Alliance)
A business alliance consisting of 84 companies to develop open standards for mobile devices
37
38
Architecture
39
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.
40
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.
41
Android S/W Stack App Framework (Cont)
Features
Feature
View System
Role
Used to build an application, including lists, grids, text boxes, buttons, and embedded web browser
Content Provider Resource Manager
Notification Manager Activity Manager
Enabling applications to access data from other applications or to share their own data Providing access to non-code resources (localized string , graphics, and layout files)
Enabling all applications to display customer alerts in the status bar Managing the lifecycle of applications and providing a common navigation backstack
42
Android S/W Stack - Libraries
Including a set of C/C++ libraries used by components of the Android system Exposed to developers through the Android application framework
43
Android S/W Stack - Runtime
Core Libraries
Providing most of the functionality available in the core libraries of the Java language APIs
Data Structures Utilities File Access Network Access Graphics Etc
44
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, with its own instance of the Dalvik VM. Dalvik has been written so that a device can run multiple VMs efficiently.
Register-based virtual machine
45
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
46
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
47
Android Future
Android 4.0 Ice Cream Sandwich
Same O/S for phones and tablets YE 2011
Android Future
NFC Near Field Communications
Google Wallet Replace credit cards
Android Future
Soft buttons
Rotate with device Required by Ice Cream Sandwich
Android Future
Combination Devices
Phones dock into Tablets or Laptops
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 intro slides !!
52
52
Q&A
Any questions?
www.google.com :P
53