An Introduction to Basic Concepts
Dr. Lamiaa Hassaan
What is Mobile Application Development?
Mobile application development is the set of processes
and procedures involved in writing software for small,
wireless computing devices such as smartphones or
tablets.
What is Android?
Android is a Linux-based operating system for mobile devices.
The system is being developed by the Open Handset Alliance -
A society of more than 80 technology and mobile business
companies- and Google Inc.
Android is an open-source project and is distributed free of
charge.
Android has a number of native applications supporting
telephony, messaging, emailing, contact management, calendar,
entertainment, multimedia experience, location services,
mapping, social interaction, etc.
Android uses Linux to provide core system services such as
security, memory management, process management, power
management and hardware drivers.
Open Handset Alliance Members
Operators Software Co. Commercializat. Semiconductor Handset Manf
Bouygues Tele Ascender Corp. Accenture ARM ACE
China Mobile Borqs Aplix Atheros R
China Telec. eBay Astonishing Tribe Audience ASUS
China Esmertec Noser Engineering Broadcom Corp. Dell
Unicom Google Omron Software CSR Plc. Garmi
KDDI Corp. LivingImage Sasken Cypress n HTC
NTT DoCoMo NMS Comm. Teleca Freescale Kyocera
Softbank Nuance Comm. … Gemalto Lenovo Mobile
Sprint Nextel PacketVideo Intel Corp. LG
Wind River Systems
Telecom SkyPop Marvell Tech Motorola
Italia … MediaTek NEC
Telefónica SONiVO MIPS Techn.
Telus X Nvidia Corp Samsung
T-Mobile Qualcomm Sharp
... Renesas Corp …
Vodafone ST-Ericsson Sony Ericsson
Synaptics
…
Texas Instrum. Toshiba
Via Telecom
What is Android?
Java developers can use the Android API (Application
Programming Interface) to extend the functionality of the
devices. An API is a mechanism that enable two software
components to communicate with each other using a set of
definitions and protocols. For example, the weather software
system contains daily weather data. The weather app on your
phone “talks” to this system via APIs and shows you daily
weather updates on your phone.
Google provides an online electronic market for developers
to sell their custom applications.
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
An Integrated Development
Environment (IDE) such as Eclipse
handles this entire process for you.
Development
process for an
Android app
Android Design Philosophy
Applications should be:
Fast
Responsive
Apps must respond to user actions within 5 seconds
Secure
Apps declare permissions in manifest
Seamless
Android kills processes in background as needed
Android Architecture
Android System Overview
• Shared Preferences: Store data as key-value pairs.
• Internal Storage: Store data on the device memory. Data will not
be accessed by other application.
• External Storage: Store public data on the shared external
storage. Data will be accessed by other application.
• SQLite Databases: Store structured data in a private database.
• Network Connection: Store data on the web with your own
network server.