180 likes | 316 Views
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.
E N D
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
Java™ 2 Platform Servers Desktop machines High-end consumer devices Low-end consumer devices Optional Packages Optional Packages Java 2 Enterprise Edition (J2EE) Smart- cards Personal Profile Java 2 Standard Edition (J2SE) Foundation Profile MIDP Java Card APIs CDC CLDC Java Virtual Machine KVM CardVM Java 2 Micro Edition (J2ME) Where does J2ME fit in Java 2 Platform?
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 Optional Packages Java 2 Enterprise Edition (J2EE) Core APIs Java 2 Standard Edition (J2SE) Core APIs Other CDC Profiles ... Personal Profile RMI Profile Foundation Profile Mobile Information Device Profile Java Card APIs Java 2 Micro Edition Core APIs Java Programming Language Java HotSpot ™ Java Virtual Machine (JVM) KVM Card VM J2ME Configurations and Profiles
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
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
MIDP Profile Applications OEM Applications MID Profile OEM APIs CLDC (KVM) Operating System CLDC and MIDP Architecture
Pause pauseApp startApp Active destroyApp destroyApp Destroyed 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
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 UI presentation user actions View Controller notifies of the update changes and actions registers Model
Project overview View MVCMIDlet Runnable Model
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