Introduction to Mobile Computing An Overview of Mobile Devices and Developing Mobile Applications Dr.

Download Report

Transcript Introduction to Mobile Computing An Overview of Mobile Devices and Developing Mobile Applications Dr.

Introduction to
Mobile Computing
An Overview of Mobile Devices and
Developing Mobile Applications
Dr. Frank McCown
Harding University
Spring 2010
Types of Mobile Devices
•
•
•
•
•
Handheld devices
Handheld computers
Personal Digital Assistants
Palmtops
Smartphones
Pocket PC Phone
http://en.wikipedia.org/wiki/Windows_Mobile
http://en.wikipedia.org/wiki/Image:Modern_Pocket_PC.png
Blackberry Storm
iPhone
http://en.wikipedia.org/wiki/File:Blackberry_Storm.JPG
http://www.mobileafrica.net/images/apple-iphone.jpg
Motorola
DROID
Archos 5
Internet Tablet
http://techplore.com/technology/wp-content/uploads/2009/10/archos-5-internet-tablet_1.jpg
http://homebiss.blogspot.com/2009/11/motorola-droid-iphone-3gs.html
Google Nexus One
• Retail: $530
• Not tied to single provider
• 3.7-inch 800 x 400-pixel
OLED screen
• No support for multitouch
• 512 MB of built-in flash
memory
•Preloaded 4 GB SD card
•Ubiquitous voice
recognition
• 5-megapixel camera with
zoom and flash
• Navigation system using
Google Maps and GPS
http://www.wired.com/reviews/product/pr_nexus_one
http://www.appleinsider.com/articles/09/08/21/canalys_iphone_outsold_all_windows_mobile_phones_in_q2_2009.html
Mobile Devices – The Good
•
•
•
•
Always with the user
Typically GPS capable
Typically have accelerometer
Many apps are free or low-cost
Mobile Devices – The Not-So-Good
•
•
•
•
•
Limited screen size and colors
Limited battery life
Limited processor speed
Limited and slow network access
Limited or awkward input: soft keyboard, phone
keypad, touch screen, or stylus
• Limited web browser functionality
• Often inconsistent platforms across devices
• Warning: Blackberry thumb
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
Native App Development
Environments
• Java ME
• .NET Compact Framework (C++, C#, VB.NET) for
Windows Mobile
• Qualcomm’s BREW (C or C++)
• Symbian (C++)
• BlackBerry (Java)
• Android (Java)
• iPhone (Objective-C)
• Is having so many choices a good thing?
Development Environments
• Most platforms have an SDK that you can
download and build against
• Every platform has an emulator that you can
use to test your apps
• Most emulators are configurable to match a
variety of mobile devices
– Various screen sizes, memory limitations, etc.
xCode IDE & iPhone Emulator
http://developer.apple.com/iphone/library/referencelibrary/GettingStarted/Creating_an_iPhone_App/index.html
Eclipse and Android Emulator