Computer Science Wi-Fi App using J2ME and MVC Architecture Advisor : Dr. Chung-E Wang Department of Computer Science Sacramento State University Date: 04/25/05 Praveen Chirumamilla
Agenda Motivation Purpose J2ME MVC Pattern Project design overview Improvements Summary
Motivation Semester begins – check course schedule - Labs has long waiting lines out of town – grade check – no computer Why not use cell phone to do these..?
Purpose Provide Students facility to schedule appointment, check their grades and class schedule using their cell phones Explore J2ME, NetBeans Mobile IDE Understand & implement MVC architecture
NetBeans Full-featured Java Open Source IDE Syntax highlighting code editor Offers unmatched support for J2ME MIDP 2.0 and CLDC 1.1 mobile environment J2EE development Performance Profiler Visual design tool Sun Public License
Where does J2ME fit in Java 2 Platform? Java™ 2 Platform Servers Java 2 Enterprise Edition (J2EE) Java 2 Standard Edition (J2SE) Optional Packages Optional Packages Java 2 Micro Edition (J2ME) Java Virtual Machine KVM CLDCCDC MIDPFoundation Profile Personal Profile Java Card APIs CardVM Desktop machines Desktop machines High-end consumer devices High-end consumer devices Low-end consumer devices Low-end consumer devices Smart- cards Smart- cards
J2ME Configurations and Profiles Java HotSpot ™ Java Virtual Machine (JVM) Card VM Java Programming Language Java 2 Enterprise Edition (J2EE) Core APIs Java 2 Standard Edition (J2SE) Core APIs Java 2 Micro Edition Core APIs Personal Profile RMI Profile Other CDC Profiles... Foundation Profile Mobile Information Device Profile Optional Packages Java ™ 2 Platform, Micro Edition (J2ME ™ ) encompasses VMs and core APIs specified via Configurations as well as vertical— or market-specific—APIs specified in Profiles Optional Packages KVM Java Card APIs
Profile? A collection of Java technology-based APIs that supplement a Configuration to provide capabilities for a specific “vertical” market or device type Adds features that are specific to a certain device category such as cell phones or PDAs One profile defined Mobile Information Device Profile
Targets mobile two-way communication devices implementing J2ME CLDC Profile addresses Display toolkit, User input methods Persistent data storage using simple record-oriented database model HTTP-based networking using CLDC Generic Connection framework
CLDC and MIDP Architecture MIDP Profile Applications OEM Applications MID Profile CLDC (KVM) Operating System OEM APIs
MIDP Application Lifecycle MIDP applications are known as “ MIDlets ” MIDlets move from state to state in the lifecycle, as indicated. Start – acquire resources and start executing Pause – release resources and become quiescent (wait) Destroy – release all resources, destroy threads, and end all activity Pause Active Destroyed startApp destroyApp pauseApp destroyApp
MVC: Model-View-Controller Model-View-Controller Architectural pattern for building systems Divide system responsibilities into three parts Model Contains all program data and logic View Visual representation of model Controller Defines system behavior by sending user input to model Step by step User uses controller to change data in model Model then informs view of change View changes visual presentation to reflect change
Model-View-Controller Architecture Model Application data View Graphical presentation components Controller Logic for processing user input
Elements of MVC design pattern User ViewController Model notifies of the update registers changes and actions user actions UI presentation
Project overview ViewMVCMIDlet Model Runnable
Improvements Synchronize the data between SMCD and admissions department Send as SMS to students of the class when grades are posted
Summary J2ME, MIDP, MVC Concepts Project design