456-0539/01 – Design of Applications for Mobile Devices I (TAMZ I)
Gurantor department | Department of Computer Science | Credits | 6 |
Subject guarantor | Ing. Pavel Moravec, Ph.D. | Subject version guarantor | Ing. Pavel Moravec, Ph.D. |
Study level | undergraduate or graduate | Requirement | Optional |
Year | 2 | Semester | summer |
| | Study language | Czech |
Year of introduction | 2004/2005 | Year of cancellation | 2010/2011 |
Intended for the faculties | FEI | Intended for study types | Bachelor |
Subject aims expressed by acquired skills and competences
After successful completion of the subject the student will be able to
1. Distinguish whether the JavaME platform is suitable for given application
2. Analyze, design and implement JavaME based mobile application
3. Compare the efficiency of mobile application with a desktop-based one
4. Make use of basic set of extension APIs usable for JavaME platform
5. Decide in which manner is the application going to be distributed to the target device and discriminate if the application needs to be digitally signed or not.
Teaching methods
Lectures
Experimental work in labs
Project work
Other activities
Summary
The applications developed for mobile devices are becoming more and more common presently. In most cases these applications are targeted for personal digital assistants (PDA), but in near future we can expect a growing demand for mobile applications for other mobile devices, such as the mobile phones (with the market growing intensively recently). One of technologies which allow us to develop such applications is the micro edition subset of Java Platform - JavaME, which is designed taking into account small computing power of such devices, reduced functionality and limited (but usable) network access.
JavaME is mostly a subset of JavaSE, some classes which are too large or unnecessary are excluded and some parts of JavaSE technology are replaced with simpler equivalents with limited functionality
Compulsory literature:
Recommended literature:
Way of continuous check of knowledge in the course of semester
Credit requirements:
Implementation and defense of a mobile application in JavaME
Voluntary presentation of JavaME extension API or other technology of mobile device targeted application developement.
Developement of simple applications during lessons.
E-learning
Other requirements
Prerequisities
Subject has no prerequisities.
Co-requisities
Subject has no co-requisities.
Subject syllabus:
Syllabus of lectures:
* Introduction to design of applications for mobile devices, technology overview and their share on mobile devices, development environments.
* Java ME architecture, target devices, relation to other Java technologies such as Java Card, Personal Java, etc.
* Basic Java ME technologies, targeted on devices with limited hardware abilities.
* CLDC configuration, limited KVM virtual machine. Differences between CLDC versions.
* MIDP and PDAP profiles for devices meeting CLDC requirements. Profile characteristics and differences. Development and life-cycle of Java ME applications.
* Over-the-Air Provisioning (OTA) architecture. Deployment of applications via Internet.
* Forms, graphics and sound in Java ME.
* Configuration for devices with default Java virtual machine, CDC configuration and its profiles: Foundation Profile, Personal Profile and RMI profile.
* Java ME extension APIs: API detection, JTWI and related APIs for messaging (WMA) and multimedia (MMA). File access, XML processing, etc.
* File access, XML processing.
* Generic Connection Framework communication - sockets, Bluetooth.
* Java ME security model: Virtual machine security, security of processed data, especially SSL, WTLS a and X.509-based techniques.
* Java ME applications for MIDP profile: MIDlet signing, sensitive APIs. Limitations of unsigned MIDlets.
* MIDlet debugging, code optimization, (partial) obsfucation as a protection method against reverse engineering. Push Registry.
Syllabus of computer exercises:
* The computer labs focus on obtaining of practical experience in the design of applications for mobile devices. Students will implement simple Java ME applications during the labs, following the topics addressed during lectures. Basic work with emulator - NetBeans or EclipseME, Sun Java Wireless Toolkit, execution on mobile devices.
* RecordStore record processing
* Basic GUI elements (high-level).
* HTTP and sockets in Generic Connection Framework (GCF).
* HTTP connections in GCF, (Application) Properties.
* XML processing - SAX resp. kXML in Java ME.
* Working with Canvas, keypress events.
* Using JSR-75.
* Wireless messaging.
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction