Palm Web OS开发资料.ppt_第1页
Palm Web OS开发资料.ppt_第2页
Palm Web OS开发资料.ppt_第3页
Palm Web OS开发资料.ppt_第4页
Palm Web OS开发资料.ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Palm Web OS 开发,Palm Web OS简介 Palm Web OS架构及Mojo技术 Palm Web OS开发环境搭建 在Eclipse IDE中开发Palm Web OS应用程序 Palm Web OS应用程序开发调试 Palm Web OS的UI界面 Palm Web OS的数据传输、处理和存储 Palm Web OS的应用服务 Palm Web OS的本地化支持,Palm Web OS简介,Palm Web OS是Palm公司(现在已经被HP收购)研发的新一代操作系统,该系统基于Linux,其界面友好,增强了多点触控体验,强化无线互联功能,支持网页内容和手机资料的统一搜索

2、功能及多任务处理功能 Palm Web OS为应用程序访问本地操作系统和硬件提供了大量的API,可以很方便的调用本地的系统服务,比如:设备信息,管理设备上的应用,开启和关闭网络等,Palm Web OS简介,Palm Web OS应用程序开发主要基于HTML、CSS和JavaScript技术,并且支持最新的CSS3和HTML5,以及一个JavaScript框架Mojo,Palm Web OS架构及Mojo技术,Palm Web OS应用的架构,下面是该架构图 Web OS应用程序不需要直接同核心系统打交道,而是通过Mojo和不同的服务和UI系统管理器进行交换,Palm Web OS架构及Moj

3、o技术,Mojo是一个JavaScript框架,是在Prototype.js的基础上创建的,继承了其事件处理模型及Ajax框架等特性;同时Mojo带有丰富的Widget控件,如:Button、List、Menu等。Mojo的主要功能包括: 对widget各种UI控件的支持 提供了应用程序访问Web OS服务的接口 采用HTML5本地存储方式 采用MVC设计模式,Palm Web OS开发环境搭建,在ubuntu环境下: 安装JDK,终端命令:sudo apt-get install sun-java6-jre 安装VirtualBox。终端命令:sudo apt-get install vir

4、tualbox-3.2 安装Palm Web OS SDK。终端命令:32位:sudo dpkg -i palm-sdk-1.4.5-svn307799-sdk1457-pho465_i386.deb和sudo dpkg -i palm-novacom_1.0.56_i386.deb,Palm Web OS开发环境搭建,64位,终端命令:sudo dpkg -i force-architecture palm-sdk_1.4.5-svn307799-sdk1457-pho465_i386.deb和sudo dpkg -i force-architecture palm-novacom_1.0.

5、56_amd64.deb 在windows环境下,下载最新版本的JDK、VirtualBox和Palm Web OS SDK,安装方式同一般的Windows安装程序,Palm Web OS开发环境搭建,安装结束后,在终端输入命令:palm-emulator,启动Palm Web OS模拟器,Palm Web OS开发环境搭建,选择模拟器类型,启动模拟器,出现下图,则表明Palm Web OS环境搭建成功,Palm Web OS开发环境搭建,进入Palm Web OS SDK安装目录,有bin和share两个目录,bin目录下是一些工具,Palm Web OS开发环境搭建,工具命令简介: pal

6、m-emulator 启动WebOS模拟器 palm-generate 用以生成WebOS应用程序 palm-help Palm webOS 信息帮助 palm-install 往palm webOS设备上添加或删除一些应用程序 palm-launch 启动Palm webOS装置上的应用 palm-log 用以显示Palm webOS应用程序的日志记录 palm-package 用以创建Palm webOS的应用程序包 palm-worm Palm webOS资源监视器,Palm Web OS开发环境搭建,Share目录下是一些帮助文档和应用程序例子 samplecode是一些例子,refc

7、ode是Web Os系统中默认的应用和Web OS框架,在Eclipse IDE中开发Palm webOS应用程序,安装Eclipse的WebOS插件,安装方式: 通过 安装 下载插件.zip包安装,,在Eclipse IDE中开发Palm webOS应用程序,安装完成后,新建WebOS项目出现下图,则表明插件安装成功,在Eclipse IDE中开发Palm webOS应用程序,创建一个Helloworld应用程序,在Eclipse IDE中开发Palm webOS应用程序,创建完成后, Palm WebOS 项目目录机构,在Eclipse IDE中开发Palm webOS应用程序,一些重要文

8、件说明: applnfo.json 是项目的配置文件,该文件中不能包含任何的注释性的文字,仅包含JSON对象,否则会出错,程序不能正常安装,下面是些必须信息的说明 icon 是一个文件格式为png,或gif的图片文件的路径字符串,路径相对appinfo.json,它是应用程序在系统中显示的图标,默认是:icon.png id 是应用程序的ID,每个应用程序都有一个ID,并且这个ID必须是唯一的,独一无二的,它是应用程序的唯一标识,当应用程序安装到系统上以后,启动器设根据这个ID进行启动和管理这个应用程序的,一旦应用发布后这个ID就不能在修改了,如果改了就是一个新的程序,在Eclipse IDE

9、中开发Palm webOS应用程序,main 是应用程序的入口点,这是一个文件路径相对于appinfo.json文件的html文件。默认值是:index.html title 是应用程序的名称,安装后它会显示在启动器的应用程度图标的下方,应用程度启动后它是应用程度的标题,这个标题应该是唯一的否则会在启动器中发生混淆,应用程度发布以后就不能在该动这个名称了 type 标识应用程序的类型,默认设置是web version是应用程序的版本号码,在Eclipse IDE中开发Palm webOS应用程序,sources.json 文件时一个资源应用的存储文件,该项目中所有的javascript文件都要

10、配置到这个文件中,编译后项目运行时会自动的到这个文件中的所有资源文件引用到各个页面中去。这样在每个view中不用在一一引用这些js文件 Stylesheets目录下是用来存储项目中css样式文件 images 目录下是用来存储项目中图片文件 app 目录下主要有assistants、models和views目录,assistants存放一些Javascript函数集,用来控制应用程序的行为;models 包含了应用程序的数据模型,不过并非所有的应用程序都使用数据模型,所以该目录或为空或不存在;views 存放一些用于显示的HTML文件。,在Eclipse IDE中开发Palm webOS应用程

11、序,启动模拟器,在Eclipse中点击Run As Mojo Application, 在模拟器中会出现如下图,则表明程序发布成功,Palm Web OS 应用程序调试,Web OS 应用程序的调试方式: 首先在控制页面行为的.js文件中增添:Mojo.Log 如: Mojo.L(“info”); /打印出正常的信息 Mojo.Log.warn(“warn”); /打印出警告信息 Mojo.Log.error(“error”);/打印出错误的信息 或者console.log(“info”); 然后通过终端打印出来的命令行信息进行审查排错,Palm Web OS 应用程序调试,其次

12、打开终端,输入命令行:palm-log com.mycompany.helloworld,Palm Web OS 的UI界面,Scene Scene是Web OS应用程序中的一个场景,每个应用程序中都会有一个或多个场景组成的。在应用程序中增添一个Scene可通过Eclipse,新建打开对话框如图:,Palm Web OS 的UI界面,Palm Web OS 的UI界面,创建好后,在app/assistants目录下生成second-assistant.js文件,在app/views目录下生成second目录及second目录下second-scene.html文件,最后在sources.jso

13、n文件中增添代码: scenes: second, source: app/assistants/second-assistant.js ,Palm Web OS 的UI界面,Scene的生命周期,共有四个事件,从Scene的产生到消亡的过程中,事件执行的顺序是:initialize(constructor)-setup-activate-deactivate-cleanup Initialize, 即构造函数,SecondAssistant(),用于系统初始化以及接收上一个页面传过来的参数(构造函数的名字是创建scene的名称的第一个字母大写+Assistant构成),Palm Web OS

14、 的UI界面,setup:主要是完成widget的初始化装载以及系统数据的初始化 activate:主要是事件在被触发页面发生变化的时候这个事件会被触发 deactivate:在当前页面退出或者在这行“垃圾回收”时触发 cleanup:页面销毁时执行,负责“垃圾回收”以及资源释放。,Palm Web OS 的UI界面,Widgets UI 和 事件 Palm Web OS 支持HTML UI展现方式,同时Mojo框架封装了丰富的Widgets,如Buttons、Lists、Dialogs,TextFields、Menus、Pickers、Viewers和Indicators等,它们主要封装在M

15、ojo.Widget中 以Button为例,首先在views目录下对应scene的.html文件中,增添Button控件: ,Palm Web OS 的UI界面,然后在assistants目录下对应scene的.js文件中增添对Button的控制和该Button的事件: this.controller.setupWidget(buttonId, this.attributes = , this.model = label : BUTTON, disabled: false );,Palm Web OS 的UI界面,监听该Button被点击的事件 Mojo.Event.listen(this.c

16、ontroller.get(buttonId),Mojo.Event.tap, this.handleUpdate); 关于其他控件,请参考:,Palm Web OS 的数据传输、存储和处理,Mojo沿用prototype.js对Ajax的支持,通过 new Ajax.Request()方法即可通过url传输数据并获得ajax返回过来的数据,Mojo对Ajax传输和返回的数据最常用的是JSON和XML。 var myAjax = new Ajax.Request(posturl, method: post, postBody: postdata, onComplete: function(tr

17、ansport), onFailure: function(transport) );,Palm Web OS 的数据传输、存储和处理,Mojo对数据的安全性也有了对应的措施,PalmSystem.encrypt() 和 PalmSystem.decrypt()提供了对数据的加密与解密。 对于数据的存储,Palm Web OS 采用了HTML5的本地化数据库,关于该数据库操作的代码请看: try if (window.openDatabase) this.db = openDatabase(NoteTest, 1.0, HTML5 Database API example, 200000);

18、if (!this.db) else else catch(err) ,Palm Web OS 的数据传输、存储和处理,创建表: db.transaction( (function (transaction) transaction.executeSql(DROP TABLE IF EXISTS table1; GO;, ); transaction.executeSql(CREATE TABLE table1 (col1 TEXT NOT NULL DEFAULT nothing, col2 TEXT NOT NULL DEFAULT nothing); GO;) );,Palm Web O

19、S 的数据传输、存储和处理,添加数据: db.transaction(function (transaction) transaction.executeSql(INSERT INTO Table1 (col1, col2) VALUES (aa,aaa); GO;, , this.createRecordDataHandler.bind(this), this.errorHandler.bind(this); ); 修改、删除方式同上,Palm Web OS 的数据传输、存储和处理,查询: db.transaction(function(tx) tx.executeSql(select *

20、from table1;, , function(tx, result) for (var i = 0; i result.rows.length; i+) var row = results.rows.item(i); , function(tx, error) alert(Failed to retrieve notes from database - + error.message); return; ); );,Palm Web OS 的数据传输、存储和处理,另外,Mojo提供了Cookie数据存储方式和Depot数据存储方式,Cookie存储数据在浏览器本地客户端,通过Mojo.Mo

21、del.Cookie方式实现;Depot是Mojo对HTML5数据库存储和检索对象的API的封装,通过Mojo.Depot方式可实现对数据库的相关操作 Cookie的功能操作: Mojo.Model.Cookie(cookie name).put(cookie data);/增加cookie name的cookie记录 Mojo.Model.Cookie(cookie name).get();/获得cookie name 的cookie记录 Mojo.Model.Cookie(cookie name).remove();/删除cookie name的cookie记录,Palm Web OS 的

22、数据传输、存储和处理,Depot的功能操作: this.demoDepot = new Mojo.Depot( name: demoDB, version: 1, displayName: DemoDatabase, estimatedSize: 200000, replace: false , this.dbSuccess, this.dbFailure);,Palm Web OS 的数据传输、存储和处理,/keyvalue指索引到Depot数据库的值,用于查询 /data 指存储到数据库中的数据 this.demoDepot.add(keyvalue, data, this.dbGetSuccess, this.dbFailure); this.demoDepot.get(keyvalue, this.keyModel.originalValue, this.dbGetSuccess, this.dbFailur

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论