Programming of Handheld and Mobile
Devices
Lecture 1 Course structure and introduction
Rob Pooley [email protected]
Lecture 1 Introduction
Programming Handheld and
Mobile devices
1
Lecture and lab schedule - provisional
•
•
Lectures
– Week 1
1 Introduction and course outline
What is a MID
2 Notion of event driven
programming. Palm OS concepts
and example
– Week 2
3 Palm OS programming.
Palm OS resources and the
SDK
Labs
– Week 1
•
No lab
Week 2
Introduction to Palm OS
•
Week 3
Further Palm OS example
4 OXO example for Palm OS.
Palm OS comms.
Palm OS summary.
Lecture 1 Introduction
Programming Handheld and
Mobile devices
2
Assessment
•
•
•
•
There is an examination at the end of the module
There are two practical assignments for all students
There is a further practical assignment for MSc students
The practical assignments will be handed out in week one and
must be completed as follows:
1. Completed by 5.00pm of Friday of week 4
– Demonstrated in Week 5 lab session
2. Completed by 5.00pm of Friday of week 8
– Demonstrated in Week 9 lab session
3. Completed by 5.00pm of Friday of week 10
– Demonstrated in Week 11 lab session
–
You must hand in and demonstrate the coursework assignments to
be allowed to sit the exam
Lecture 1 Introduction
Programming Handheld and
Mobile devices
3
Resources
• This is a practically based course; it is expected that you
will experiment with the techniques that you are shown
• There is a lab in which you will have priority access to
PCs and supported sessions will operate for these
• These machines will have the software required for the
various stages of the course installed
• The software will include emulators for you to test your
code
• There are also a number of PDAs which you can use,
having deposited your matriculation card with Adrian first
Lecture 1 Introduction
Programming Handheld and
Mobile devices
4
Notes and other information
• There is a Web page with links to all
– Notes, posted after the lecture
– Assignments
– Documentation
• Handouts will be provided with the slides and notes at
the lecture which they cover.
• Help will be available in labs 1.53 and 1.54 at the
following times for you to ask questions about how to
use the development environments provided and to have
your coursework ticked off
– Mondays at 10.15 and 12.15
Lecture 1 Introduction
Programming Handheld and
Mobile devices
5
Mobile information devices
• The emergence of genuinely portable devices which
contain sufficient computing power to support a range of
applications, many of which were originally developed for
conventional personal computers, is one of the major
changes in the world of technology in recent years.
• It has accompanied the emergence of very widespread
adoption of mobile phones and these technologies are
now merging, creating mobile information devices (MIDs)
with the ability to connect with each other and with
conventional computer networks
Lecture 1 Introduction
Programming Handheld and
Mobile devices
6
What’s special about MIDs? SWOT
1. Strengths
2. Weaknesses
1. They are small
1. They have limited memory – a
2. They are popular
challenge
3. They are connectable 2. They often have limited battery life
3. They have limited processing
power
3. Opportunities
1. They are flexible
2. They are becoming more
connectable
3. They integrate with mobile
phones
Lecture 1 Introduction
4. Threats
1. There is lots of competition
2. They are expensive
3. There is no standard
operating system
4. They are not flexible enough
Programming Handheld and
Mobile devices
7
What is a MID?
Lecture 1 Introduction
Programming Handheld and
Mobile devices
8
Mobile information devices
• most people probably think of portable devices as intelligent phones
or personal digital assistants (PDAs), the distinction is arbitrary.
• For the purposes of this course we will use the term MID to include
any handheld device which has some form of micro-processor in it
and which can have new applications loaded onto it.
Lecture 1 Introduction
Programming Handheld and
Mobile devices
9
Connecting to MIDs
• MIDs are equipped with a range of communication
devices.
• Mobile phone technology provides access to the
telephone network,
• most will alsohave one or more of the following:
• USB
MID to computer,
• infra red
line of sight device to device,
• Bluetooth wireless device to device
• WiFi
wireless device to network.
Lecture 1 Introduction
Programming Handheld and
Mobile devices
10
Connecting to a MID
Bluetooth
WiFi
Infra red
USB
Lecture 1 Introduction
Programming Handheld and
Mobile devices
11
Operating environments
•
•
•
•
•
•
Palm OS
J2ME
Other Java environments
.Net Compact
Symbian
Linux
Lecture 1 Introduction
Programming Handheld and
Mobile devices
12
Languages
• C/C++
– Palm OS
– Symbian
– .NET
– Linux
• Java
– J2ME
– Other Java environments
• C#
– .NET
Lecture 1 Introduction
• Visual Basic
– .NET
• Python scripting
– Some mobile phones
• Mobile scripting languages
– Many mobile phones
Programming Handheld and
Mobile devices
13
Issues to bear in mind
• Screen Size
– Most Palm Powered handheld screens are only
160x160 pixels, so the amount of information you can
display at one time is limited.
• Quick Turnaround Expected
– On a PC, users don’t mind waiting a few seconds
while an application loads because they plan to use
the application for an extended amount of time. By
contrast, the average handheld user uses a handheld
application 15 to 20 times per day for much briefer
periods of time, usually just a few seconds.
Lecture 1 Introduction
Programming Handheld and
Mobile devices
14
More issues to bear in mind
• PC Connectivity
– PC connectivity is an integral component of the Palm Powered
handheld. The handheld comes with a cradle that connects to a
desktop PC and with software for the PC that provides “one
button” backup and synchronization of all data on the handheld
with the user’s PC.
• Input Methods
– Most users of Palm Powered handhelds don’t have a keyboard
or mouse. Users enter data into the handheld using a pen. They
can either write characters in the input area or use the keyboard
dialog provided on the handheld.
Lecture 1 Introduction
Programming Handheld and
Mobile devices
15
More issues to bear in mind
• Power
– Handhelds run on batteries and thus do not have the same
processing power as a desktop PC. The handheld is intended as
a satellite viewer for corresponding desktop applications. If your
application needs to perform a computationally intensive task,
you should implement that task in the desktop application
instead of the handheld application.
• Memory
– Palm Powered handhelds have limited heap space and storage
space. Different versions of the handheld have between 512K
and 8MB total of dynamic memory and storage available. The
handheld does not have a disk drive or PCMCIA support.
Lecture 1 Introduction
Programming Handheld and
Mobile devices
16
More issues to bear in mind
• File System
– Because of the limited storage space, and to make
synchronization with the desktop computer more
efficient, Palm OS does not use a traditional file
system. You store data in memory chunks called
records, which are grouped into databases.
• Backward Compatibility
– Different versions of Palm Powered handhelds are
available, and each runs a different version of Palm
OS. Users are not expected to upgrade their versions
of Palm OS as rapidly as they would an operating
system on a desktop computer.
Lecture 1 Introduction
Programming Handheld and
Mobile devices
17
Some references
• The full documentation for Palm tools is available online at:
– www.palmos.com/dev/support/docs/
• A tutorial can be found in
Palm OS Programming 2nd Edition, Rhodes and McKeehan,
O’Reilly Books
• Similar for J2ME
J2ME in a Nutshell (O'Reilly Java) (Paperback)
by Kim Topley
• For Bluetooth etc, maybe
Wireless Java Programming with J2ME (Paperback)
by Yu Feng, Jun Zhu, Sams Publishing, 2001
More references will be added to the course Web site as we go
along. See www.macs.hw.ac.uk/~rjp or the VLE.
Lecture 1 Introduction
Programming Handheld and
Mobile devices
18
Descargar

Programming of Handheld and Mobile Devices