Internet
and Mobile
Services
Lecturer: Francesco
Ricci
Academic year 2010-2011
- 1st Semester
Objectives
| Syllabus | Exam | Lectures
| Material
Start date: October 5th, 2010
Lectures: Tue. 9:30 -11:30 - Room E412
Labs: Tue. 11:30-12:30 - Room E431 (Starting from
October 12th) - The first lab is Wed. 6th at 14:00 -15:00 in Room 431
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
- Designing usable mobile applications
Exam
The exam consists of two parts:
Projects proposed for 2010/2011: projects-2010.pdf
How to plan and build your project (system-building.pdf)
Examples of
the students' projects can be found
here
Written Exam: February 9th, 2011, at 8:30
Presentation of the projects: February 1st, at 10:30 in room E412
Projects Evaluation Winter 2010/2011
Exam results: February 2011 -
June 2011 -
September 2011
Books:
- J. Schiller, Mobile Communications, Addison Wesley, 2003
(2. edition) - MC
- Sing Li and Jonathan Knudsen, Beginning J2ME, (3rd Ed.)
Apress, 2005 - BJ2ME
- B. Fling, Mobile Design and Development, O’Reilly Media,
2009. (available in Safari) - MDD
Software:
- Apache Tomcat: http://tomcat.apache.org/ if you install NetBeans
(which I strongly recommend) you do not need it - it is included there.
- Java Platform Micro Edition Software Development Kit 3.0: all the
downloads related to Java ME can be found here http://www.oracle.com/technetwork/java/javame/downloads/
- this includes the current development kit 3.0, the previous one
2.5.2, and Light Weight User Interface Toolkit (LWUIT).
- NetBeans: this is the only supported IDE for developing your
project. There are versions for windows, linux, mac, os
independent. http://netbeans.org/
dowload the version 6.9.1 JAVA
- S60 Platform and Device SDKs for Symbian OS can be downloaded
from http://www.forum.nokia.com
Lectures
1. Overview and Course
Motivations - Introduction to Mobile services - October 5th
- Handouts 1: 1-Introduction.pdf
- Assignments:
- Reading: Chapter 1 of the book MC
- Reply
to the summary questions in the last slide of the
handouts
- LAB October 6th
- Download all the required software
(NetBeans, Apache Tomcat, Java Platform ME SDK 3.0)
- When you install Netbeans - look at the install instructions http://netbeans.org/community/releases/69/install.html
To install Apache Tomcat from the Java or "All" download, launch the
installer and select Apache Tomcat
6.0.26 in the Customize Installation dialog box (Deselect GlassFish).
- Familiarize with NetBeans by creating and running your first
Java ME projects. Select File>New
Project in the menu and then from the Samples folder select one in the
subfolder Java ME .
- Repeate the same procedure with the Java ME SDK - to open a
sample project select "Open Sample Project" in the "File" menu.
2. Mobile applications, devices and Java
2 Micro Edition - October 12th
- Handouts 2: 2-Introduction-J2ME.pdf
- Assignments (at home):
- Reading:
Chapters 1-4 of the book BJ2ME, and Chapters 1 and 2 of the book MDD
- LAB October 12th
- Build the HelloSuite project in J2ME SDK code-lab1.zip
- Build the HelloSuite project in NetBeans using the instructions
contained here: how to use NetBeans NetBeans6.pdf
- Solve the exercises listed at the end of the handouts for this lecture: lab2-solutions.zip
3. Graphical User Interfaces in J2ME - October 19th
- Handouts 3: 3-J2ME-GUI.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 19th
- Modify HelloMIDlet.java (create a new midlet): 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 email and password (use two TextField items); implement two
commands one for exiting and one that prints the inserted email and
password. Solution: LABHelloMidlet2.java
- 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
4. Persistent Storage
Management in J2ME - October 26th
- Handouts 4: 4-J2ME-DATABASE.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".
- LAB
- Further modify HelloMIDlet.java (create a new midlet): 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
- Analyze
the
code examples shown in class (J2ME-DATABASE-code.zip).
Install via OTA the RecordMidlet example and check that the stored
username and password are retrieved (the second time you run this
midlet). After this midlet is installed via OTA select it in the
emulator (but not run it) and explore the menu options ("open", "info",
"remove", "settings").
- Create a new midlet called LABCommander, by modifying the
Commander MIDlet shown at the previous lecture. Add two commands, one
that shows a ticker (with some text in the ticker) and onether command
that discard the ticker. Solution: LABCommander.java
5. The Mobile Market for
Applications - November 2nd
- Handouts 5: 5-MOBILE-COMMERCE.pdf
- Assignments:
- Read chapters 3 of the book MDD, review the slides.
- LAB
- Browse the exam project list (projects-2010.pdf) and discuss with your colleagues the projects
- If you have still time and you did the LABcommander exercise
(previous week) then 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.
6. Http
Connection in J2ME - November 9th
7. Server Socket Connection,Wireless Messaging - November 16th and November 23rd
8. Location Based Services and the Location API - November 23rd and November 30th
- Handout 8: 8-LBS-LOCATION-API.pdf
- Assignments:
- Read the slides and consult the references (links) included in the slides.
- 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 "JSR 179: Location API Support"
of the "JavaTM PlatformMicroEdition Software Development Kit" (this is avaliable in your SDK
or NetBeans installation).
- Analyze
the
code examples shown in the class.
- Material: code
examples shown in the lecture J2ME-Location-API-code.zip
- LAB November 23rd: Complete the architectural design of your project and update your project report.
- LAB November 30th: Complete the GUI design.
9. Telecommunication
Systems I - December 7th and December 14th
- Handout 9: 9-WIRELESS-TECHS.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. Mobile Web - December 14th
11. Telecommunication
Systems II -December 14th and December 21st
- Handout 11: 11-WIRELESS-TECHS.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:
Conclusions and Projects
Presentation
- 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