![]() Intro |
![]() Remixes |
![]() Just let go in L.A. - DJ Earworm |
![]() Admin |
![]() Where are we in the class? |
![]() 1/2 of our Human Subjects work done -> Assignment #4 due May 8th |
![]() initial u/i sketch done -> you are waiting for feedback, we'll be done with that late Friday |
![]() project should be in progress -> due May 22nd |
![]() Next week are case studies, then a week of project development (no class), then one more case study, then Anteater Idol |
![]() We are interrupting our current case study |
![]() XMLHttpRequestObject |
![]() If you are having trouble manipulating XML with built-in browser functionality (cross platform is horrible here)... |
![]() check out xml for <script> |
![]() Two well-documented cross-platform manipulation tools |
![]() xmlw3cdom.js (or tinyxmlw3cdom.js) |
![]() xmlsax.js (or tinyxmlsax.js) |
![]() Here is the web site that uses these libraries to give you an example of how to interface with the library |
![]() Here is the some Javascript code that shows how to use it: |
![]() parser = new DOMImplementation(); |
![]() if (ready == READY_STATE_COMPLETE){//load the XML into the parser and get the DOMDocument var domDoc = parser.loadXML(req.XMLHTTPRequest.responseText); //get the root node (in this case, it is ROOTNODE) var docRoot = domDoc.getDocumentElement(); plotData(docRoot) } |
![]() function plotData(x){//Draw the title if(freezeTitle == 0){ var header = document.getElementById("header"); if(header != null){ var title = x.getElementsByTagName("title").item(0); if(title != null){ header.innerHTML=title.getFirstChild().getXML(); freezeTitle = 1; } } } |
![]() Nokia |
![]() Programming Model and Features |
![]() Java Development |
![]() Series 60 supports |
![]() J2ME a subset of JAVA |
![]() MIDP 2.0 (a set of device features) |
![]() http connections |
![]() socket connections |
![]() JSR-120 (java-based SMS) |
![]() JSR-135 (java-based media player) |
![]() JSR-82 (java-based bluetooth) |
![]() "Midlet" |
![]() program that is written for J2ME specs |
![]() screen size varies |
![]() "keyboard varies" |
![]() phone calls interrupt application |
![]() network outages to be expected |
![]() Program is a set of screens through which a user navigates |
![]() U/I |
![]() Adding a "command" to a "screen" |
![]() Hooks exist for |
![]() Display images |
![]() Timers |
![]() Threads |
![]() Networking |
![]() slide |
![]() SMS |
![]() Bluetooth |
![]() SDKs |
![]() Series 60 Platform SDKs for Symbian OS, for Java |
![]() free registration for developers |
![]() Series 60 Platform |
![]() Symbian OS |
![]() proprietary OS |
![]() buggy (at least JVM is buggy) |
![]() Basics |
![]() Communications |
![]() Telephony |
![]() IR |
![]() Bluetooth |
![]() Messaging |
![]() SMS |
![]() MMS |
![]() Email |
![]() IM |
![]() Browsing |
![]() WAP/HTTP |
![]() Developers |
![]() C++ |
![]() Java |
![]() Content |
![]() Python |
![]() Visual Basic |
![]() Raw Tools |
![]() Here is the basic sequence |
![]() documented on a wiki: |
![]() Install JVM 1.5 from java.sun.com |
![]() This runs the emulator and Eclipse |
![]() Then install the Nokia S60 SDK for 3rd Edition |
![]() This is the set of libraries and emulators ofr linking and emulating phone apps |
![]() Then install Eclipse 3.1.2 |
![]() This is the IDE for developing apps - very general |
![]() Then install Carbide.J from Nokia |
![]() This is a set of tools that package your java program into an application for deployment |
![]() Go through a live example |