Internet
and Mobile
Services
Lecturer: Francesco
Ricci
Academic year 2009-2010
- 1st Semester
Objectives
| Syllabus | Exam | Lectures
| Material
Start date: October 2, 2009
Lectures: Fri. 14:00 -16.00 - Room E420
Labs: Tue. 17.00-18.00pm - Room E431 (Starting from
October 6th)
pAvailability Hours:
Tue 14.00-16.00 - by prior arrangement via e-mail
Syllabus
- Mobile Commerce and applications
- Wireless communication technologies
- Context-aware and location-based services
- Application architectures for mobile services
- Java 2 Micro edition (J2ME)
- Midlet development
- Google Android
- Designing usable mobile applications
Exam
The exam consists of two parts:
Projects proposed for 2009/2010 (projects.pdf)
Projects exam evaluations
Exam results February 18th 2010 --> here
How to plan and build your project (system-building.pdf)
Examples of
the students' projects (2008/2009) can be found
here
Written
exam - Fall session 2009 -
Results
Books:
- J. Schiller, Mobile Communications, Addison Wesley, 2003
(2. edition)
- Sing Li and Jonathan Knudsen, Beginning J2ME, (3rd Ed.)
Apress, 2005
Software:
Lectures
1. Overview and Course
Motivations - Introduction to Mobile services - October 2
- Handouts 1: pdf
- Assignments:
- LAB October 6th
- Building a Midlet Suite (HelloSuite) in the Wireless Toolkit 2.5.2 MidletWTK.pdf - code-lab1.zip
- Repeate the same processes in WTK 3.0
2. Java
2 Micro Edition - Introduction -
October 13th (Room E420 at 17:00)
- Handouts 2: pdf
- Assignments (at home):
- Reading:
Chapters 1-4 of the book "Beginning J2ME"
- Build the HelloSuite project in NetBeans or Eclipse using the instructions contained here: how to use NetBeans NetBeans6.pdf, how
to use Eclipse J2MEwithEclipse.pdf
- LAB October 20th
- Modify HelloMIDlet.java: write “Hello
World” with appearence mode "BUTTON";
write the
current date and
time; write the number of colors of the display; let the user to
enter her login and password; implement two commands one for
exiting and one
that prints the inserted username and password.
- Modify the
HitServlet.java so
that instead returning the HitCount, it returns the IPAddress
of
the server, the name
of the student, and timestamp.
- solutions.zip
3. Graphical User Interfaces in J2ME - October 16th
- Handouts 3: pdf
- Assignments:
- Reading
2:
Chapters 5-6 of the book "Beginning J2ME"
- Review the code shown in the lecture: J2ME-GUI-code.zip
- LAB October 27th
- Compile and run the Commander MIDlet (the code is in J2ME-GUI-code.zip) . Add some more commands
with different priorities and see how they are displayed in the menu associated to the soft button of the emulator.
- Add a ticker to the Commander MIDlet
- Consider the exercise of the previous lab (October 20th), and add an item command to the “Hello
World” StringItem (that with appearence mode "BUTTON")
in the midlet that you developed for the previous lab.
The command should just print the text contained in the StringItem
("Hello World"). Observe now the look and feel of the StringItem. Is
now a "button"? (solution LABHelloMIDlet3.java)
4. Persistent Storage
Management in J2ME - October 30th
- Handouts 4: pdf
- Assignments:
- If you are not familiar with multi-threading, read:
Sun Java Tutorials - Essential classes:
Concurrency (up to the chapter
on Synchronization)
- Reading: Chapters
8 and 9 (up to page 130) of the book "Beginning J2ME".
- Analyze
the
code examples shown in class (J2ME-Storage-Management-code.zip)
- LAB November 3rd
- Implement a new Commander MIDlet with the following
commands:
- Ticker on: show a ticker;
- Ticker off: hide the ticker;
- Modal alert: show a modal alert; and
- Exit: show a timed alert before exiting from the
application
(hint: look at the API and change the default behaviour of the alert
when it is dismissed – it must not go the following screen). (solution LABCommander.java)
5. Mobile
Commerce - November 6th
- Handouts 5: pdf
- LAB November 10th: modify the travel list MIDlet illustrated in Lecture 3
- Add to the original list (Airplane, Car and Hotel)
another element (Train) with an image
- Define a new behaviour of the selection of an element
in the list
- It must show a new list (second level) where the user
can select a specific Airplane or Car or Hotel or Train
- When the user is shown this second level he should be
able to
either select an item (show an alert that confirm the
selection);
or go back to the main list.
- Take care to add the resource directory where you put the
images. To do that: modify the "properties" of the NetBeans
project.
- Solution: TravelListLAP.zip
6. Http
Connection in J2ME - November 13th
7. Server Socket Connection,Wireless Messaging and Bluetooth - November 20th, November 27th
8. Location Based Services - December 4th
- Handout 8: pdf
- Assignments:
- Read User guide (from NOKIA) pdf
up to page 16. Go through the location API specifications (pdf) and
read the classes specifications (for those classes and methods
presented at the lecture)
- About the external event simulator, read the
section 13 "Using the Location API"
of the "Sun Java Wireless
Toolkit for CLDC User's Guide" (this is avaliable in your WTK
installation).
- Analyze
the
code examples shown in the class.
- Material: code
examples shown in the lecture J2ME-Location-API-code.zip
- LAB December 1st: Read these documents on designing mobile user interfaces: Getting_Started_with_Mobile_Design_v1_0_en.pdf, and Designing_MIDP_Applications_For_Optimization_v1_0_en.pdf
9. Telecommunication
Systems I - December 11th - 18th
- Handout 9: pdf
- From the book "Mobile Communications" read the
following
sections: 2.1, 2.2, 2.4.
- For an introduction to the computer networks basic look at
Andrew
S. Tanenbaum, Computer Networks, Fourth Edition,
Prentice Hall PTR, 2002. In particular chapter 1 for the basic, and
Chapter 2.1 for the theoretical basis for data communication (Fourien
Analysis, Nyquist and Shannon theorems).
10. Telecommunication
Systems II - December 18th - January 15th
- Handout 10: pdf
- From the book "Mobile Communications" read the
following
sections: 2.5, 2.6 (pages 47 and 48), 2.6.1., 2.8, 3.1.3.2,
3.3, 3.4 (up to section
3.4.3 included), 4.1.
- Optional but useful: on Wikipedia read:
11. WAP - January 15th
- Handout 11: pdf
- Refer to http://www.developershome.com for a tutorial on
wap 1.* and 2.* programming
- From the book "Mobile Communications" read the
following
sections: 10.3, 10.3.1, 10.3.6, 10.3.7, 10.3.8
- Try out the (old) Openwave phone simulator to access the WML and HTML pages Openwave_v70_Simulator.exe, or with an online emulator such as http://mtld.mobi/emulator.php
- LAB January 12th and 19th:
Conclusions and Projects
Presentation - January 29th - Room D003, 14:00 - 17:00
- 15 minutes for each presentation. Prepare a ppt
presentation. You
can also demo the system. In the presentation touch the points that are
required also for the project report (motivations, functions, code
strucure, major technical problems found).
Additional Material