janus mobile e-seminar
DESCRIPTION
Janus Symbian and Pocket PC presentation... The ultimate tool for Flash / Flash Lite developers.TRANSCRIPT
Spaghetti Sort presentsJanus: the ultimate professionaltool for Flash/Flash Lite/Flexdevelopers!
Presenters:
• Daniele Cerolini (Janus Lead Director, Flash Platform developer)• Leonardo Risuleo (Janus Symbian Developer, Mobile developer/designer)
A Boston Adobe Mobile and Devices User Group event:http://www.flashmobilegroup.org/9 November 2007
Content’s Overview:
Who’s Janus?Janus is the name of an ancient Roman god who had two faces looking into different directions. These faces are symbols for the two sides of a Janus compiled application. The swf side, written in ActionScript and the .exe side, written in a .NET or C++ language.
Janus Symbian:- Features- Sis creation- Extending Flash Lite
Janus Pocket PC:- Features- Cab creation- Extending Flash / Flash Lite
What’s Janus?Janus is a tool for Flash developers that let’s you create and deploy applications for Windows, Pocket PC, Symbian out of your SWF files. It also expands actionscript functionalities with the Janus framework.
Janus Symbian version 2.0.2
Janus Symbian Lite (free) key features:• Professional SIS Maker and SWF Launcher tool • Flash Lite 1.1, 2.0 and 2.1 (3.0 embedded) compatible• Symbian S60 platform editions 1st, 2nd & 3rd• Auto sign SIS installer (with custom certificates)• Lets you embed external files (ie images, texts, videos, sounds…)• Lets you specify required capabilities• Lets you embed additional SIS file with yours (es. Flash Lite Player, Python…)
Janus Symbian Full (149 €):•Lets you modify the source file for your SIS in order to fine-tune and tweak your SIS• Extends Flash Lite functionalities with a full set of extra methods (native c++)
Janus Symbian Diagrams
Symbian OS
Janus Symbian LauncherC++ engine
http 1.0 / 1.1 protocol
Flash Lite Player
SWF application
DesktopSIDE
SymbianSIDE
Windows XP, Vista
Symbian SDKs, Java RE, Active Perl, .NET
Janus IDE
Compiled and signed SIS file
Interface: Symbian TAB
Symbian Resources TAB
Capabilities TAB
SIS file TAB
Extending Flash Lite capabilities with JanusJanus Symbian Edition lets you expand the power of Flash Lite for Smartphone beyond your imagination, providing a “growing up” set of additional custom functions:
Additional methods
- displayNote (display Symbian Global notes: information, error, warning, confirmation)- writeFile (write txt or xml files on the device’s file system)- screenShot (takes a full or partial screenshot in jpg format )- findFiles (search the file system for a specified content)*- getDrive (let us know the drive we’re working on)- Close (close the engine to free memory)- More to come…
* Xml output
Code sample: how to take a screenshot
var sendVar:LoadVars = new LoadVars();var receiveVar:LoadVars = new LoadVars();
sendVar.area = "0,0,100,100"; // 100x100 px shotsendVar.path = "\\Others\\myScreen.jpg";sendVar.qualityfactor = "100"; receiveVar.onLoad = function(){ if(this.err == "none") { trace("ok"); msgText.text = "DONE"; } else { trace("error"); msgText.text = this.msg; //diplay error }}sendVar.sendAndLoad("http://127.0.0.1:1080/screenShot",receiveVar,"POST");
Janus Pocket PC version
Janus Pocket PC key features (199 €):
• Professional CAB Maker and SWF Launcher tool using the industry leading "Janus Engine” • Supports Flash Lite 2.1 and Flash Player 7 for Pocket PC • You have access to the device file system • You can access SQL Server Mobile or SQLite3 databases • You can manipulate images • You can send SMS messages and Emails • You have full WiFi management • You can read GPS data • You can check a variety of device status properties · Lets you embed external files (ie images, texts and sounds) to be deployed with your application Designed and built in order to be easily updated and future proof - more and more Janus Pocket PC methods are in the works!
Janus Pocket PC Diagrams
Windows Mobile OS
Janus Pocket PC LauncherC# engine
XMLSocket
Flash Lite / Flash 7
SWF application / Compact .Net2 Form
DesktopSIDE
Pocket PCSIDE
Windows XP, Vista
.NET
Janus IDE
Compiled EXE - CAB file - ActiveSync installer
Interface: Application TAB
Main Form TAB
Libraries TAB
Resources TAB
Compile TAB
Cab File TAB
PPC Installer TAB
Extending Flash capabilities with JanusJanus Pocket PC lets you expand the power of Flash Lite for Smartphone beyond your imagination, providing a “growing up” set of additional custom functions:
Some Classes
- SQLite3, SQLServer- System, Status- File, FTP- GPS- WIFI- OutLook- SMS (interceptor)- Registry
Code Sample - Show a Message BoxHow to show a message box and retrieve the button clicked:
import ssp.dialogs.*; //Add the event listener for the 'show' eventvar listener:Object = new Object();listener.show = function(e:String){ result_txt.text = e;}//MessageBox button1.onRelease = function(){ MessageBox.addListener(listener); MessageBox.message = "Hello World"; MessageBox.caption = "Information"; MessageBox.buttons = "YesNoCancel"; MessageBox.icon = "None"; MessageBox.show();}
Code Sample - How to intercept an SMS message 1/3This code sample shows the usage of the MessageInterceptor class. This class allows to get notifications if a new SMS has been received. You can set the action which can be either 'notify' or 'notifydelete'. Notify will pass the notification down to the next application waiting for SMS messages while notifydelete will delete the message afterwards and block the notification chain. import ssp.utils.*;import ssp.error.*;import ssp.phone.*; var listener:Object = new Object(); listener.EVENT_messageReceived = function(e){ if(e instanceof SSPError) { result_txt.text ="Error: " + e.message; } else { var mySMS:SMS = new SMS(e); result_txt.text = "SMS: " + mySMS.body + "\r"; result_txt.text += "From: " + mySMS.from + "\r" }}
Code Sample - How to intercept an SMS message 2/3
listener.initialize = function(e){ if(e instanceof SSPError) { result_txt.text ="Initialization Error: " + e.message; } else { result_txt.text = "Is Initialized: " + e.toString() + "\r"; }} listener.setAction = function(e){ if(e instanceof SSPError) { result_txt.text ="Set action Error: " + e.message; } else { result_txt.text = "Action set: " + e.toString() + "\r"; }}
Code Sample - How to intercept an SMS message 3/3
listener.setCriteria = function(e){ if(e instanceof SSPError) { result_txt.text ="Set criteria Error: " + e.message; } else { result_txt.text = "Criteria set: " + e.toString() + "\r"; }} MessageInterceptor.addListener(listener); button1.onRelease = function(){ MessageInterceptor.setAction("notifydelete"); MessageInterceptor.setCriteria("body", "contains", "janus", false); MessageInterceptor.initialize(); }
Resources:
Adobe Mobile & Devices Developer Centerwww.adobe.com/go/mobiledeveloper
Symbian & Nokiahttp://www.symbian.com/http://developer.symbian.com/https://www.symbiansigned.com/http://community.forum.nokia.com/
Spaghetti Sorthttp://www.spaghettisort.com/http://www.spaghettisort.com/help (help)http://www.spaghettisort.com/forum (forum)
[email protected]@spaghettisort.comhttp://www.scriptamanentgroup.net/byte/
Thanks!