Palm Web OS開發(fā)資料.ppt_第1頁
Palm Web OS開發(fā)資料.ppt_第2頁
Palm Web OS開發(fā)資料.ppt_第3頁
Palm Web OS開發(fā)資料.ppt_第4頁
Palm Web OS開發(fā)資料.ppt_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Palm Web OS 開發(fā),Palm Web OS簡介 Palm Web OS架構(gòu)及Mojo技術(shù) Palm Web OS開發(fā)環(huán)境搭建 在Eclipse IDE中開發(fā)Palm Web OS應(yīng)用程序 Palm Web OS應(yīng)用程序開發(fā)調(diào)試 Palm Web OS的UI界面 Palm Web OS的數(shù)據(jù)傳輸、處理和存儲 Palm Web OS的應(yīng)用服務(wù) Palm Web OS的本地化支持,Palm Web OS簡介,Palm Web OS是Palm公司(現(xiàn)在已經(jīng)被HP收購)研發(fā)的新一代操作系統(tǒng),該系統(tǒng)基于Linux,其界面友好,增強(qiáng)了多點觸控體驗,強(qiáng)化無線互聯(lián)功能,支持網(wǎng)頁內(nèi)容和手機(jī)資料的統(tǒng)一搜索

2、功能及多任務(wù)處理功能 Palm Web OS為應(yīng)用程序訪問本地操作系統(tǒng)和硬件提供了大量的API,可以很方便的調(diào)用本地的系統(tǒng)服務(wù),比如:設(shè)備信息,管理設(shè)備上的應(yīng)用,開啟和關(guān)閉網(wǎng)絡(luò)等,Palm Web OS簡介,Palm Web OS應(yīng)用程序開發(fā)主要基于HTML、CSS和JavaScript技術(shù),并且支持最新的CSS3和HTML5,以及一個JavaScript框架Mojo,Palm Web OS架構(gòu)及Mojo技術(shù),Palm Web OS應(yīng)用的架構(gòu),下面是該架構(gòu)圖 Web OS應(yīng)用程序不需要直接同核心系統(tǒng)打交道,而是通過Mojo和不同的服務(wù)和UI系統(tǒng)管理器進(jìn)行交換,Palm Web OS架構(gòu)及Moj

3、o技術(shù),Mojo是一個JavaScript框架,是在Prototype.js的基礎(chǔ)上創(chuàng)建的,繼承了其事件處理模型及Ajax框架等特性;同時Mojo帶有豐富的Widget控件,如:Button、List、Menu等。Mojo的主要功能包括: 對widget各種UI控件的支持 提供了應(yīng)用程序訪問Web OS服務(wù)的接口 采用HTML5本地存儲方式 采用MVC設(shè)計模式,Palm Web OS開發(fā)環(huán)境搭建,在ubuntu環(huán)境下: 安裝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開發(fā)環(huán)境搭建,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環(huán)境下,下載最新版本的JDK、VirtualBox和Palm Web OS SDK,安裝方式同一般的Windows安裝程序,Palm Web OS開發(fā)環(huán)境搭建,安裝結(jié)束后,在終端輸入命令:palm-emulator,啟動Palm Web OS模擬器,Palm Web OS開發(fā)環(huán)境搭建,選擇模擬器類型,啟動模擬器,出現(xiàn)下圖,則表明Palm Web OS環(huán)境搭建成功,Palm Web OS開發(fā)環(huán)境搭建,進(jìn)入Palm Web OS SDK安裝目錄,有bin和share兩個目錄,bin目錄下是一些工具,Palm Web OS開發(fā)環(huán)境搭建,工具命令簡介: pal

6、m-emulator 啟動WebOS模擬器 palm-generate 用以生成WebOS應(yīng)用程序 palm-help Palm webOS 信息幫助 palm-install 往palm webOS設(shè)備上添加或刪除一些應(yīng)用程序 palm-launch 啟動Palm webOS裝置上的應(yīng)用 palm-log 用以顯示Palm webOS應(yīng)用程序的日志記錄 palm-package 用以創(chuàng)建Palm webOS的應(yīng)用程序包 palm-worm Palm webOS資源監(jiān)視器,Palm Web OS開發(fā)環(huán)境搭建,Share目錄下是一些幫助文檔和應(yīng)用程序例子 samplecode是一些例子,refc

7、ode是Web Os系統(tǒng)中默認(rèn)的應(yīng)用和Web OS框架,在Eclipse IDE中開發(fā)Palm webOS應(yīng)用程序,安裝Eclipse的WebOS插件,安裝方式: 通過 安裝 下載插件.zip包安裝,,在Eclipse IDE中開發(fā)Palm webOS應(yīng)用程序,安裝完成后,新建WebOS項目出現(xiàn)下圖,則表明插件安裝成功,在Eclipse IDE中開發(fā)Palm webOS應(yīng)用程序,創(chuàng)建一個Helloworld應(yīng)用程序,在Eclipse IDE中開發(fā)Palm webOS應(yīng)用程序,創(chuàng)建完成后, Palm WebOS 項目目錄機(jī)構(gòu),在Eclipse IDE中開發(fā)Palm webOS應(yīng)用程序,一些重要文

8、件說明: applnfo.json 是項目的配置文件,該文件中不能包含任何的注釋性的文字,僅包含JSON對象,否則會出錯,程序不能正常安裝,下面是些必須信息的說明 icon 是一個文件格式為png,或gif的圖片文件的路徑字符串,路徑相對appinfo.json,它是應(yīng)用程序在系統(tǒng)中顯示的圖標(biāo),默認(rèn)是:icon.png id 是應(yīng)用程序的ID,每個應(yīng)用程序都有一個ID,并且這個ID必須是唯一的,獨一無二的,它是應(yīng)用程序的唯一標(biāo)識,當(dāng)應(yīng)用程序安裝到系統(tǒng)上以后,啟動器設(shè)根據(jù)這個ID進(jìn)行啟動和管理這個應(yīng)用程序的,一旦應(yīng)用發(fā)布后這個ID就不能在修改了,如果改了就是一個新的程序,在Eclipse IDE

9、中開發(fā)Palm webOS應(yīng)用程序,main 是應(yīng)用程序的入口點,這是一個文件路徑相對于appinfo.json文件的html文件。默認(rèn)值是:index.html title 是應(yīng)用程序的名稱,安裝后它會顯示在啟動器的應(yīng)用程度圖標(biāo)的下方,應(yīng)用程度啟動后它是應(yīng)用程度的標(biāo)題,這個標(biāo)題應(yīng)該是唯一的否則會在啟動器中發(fā)生混淆,應(yīng)用程度發(fā)布以后就不能在該動這個名稱了 type 標(biāo)識應(yīng)用程序的類型,默認(rèn)設(shè)置是web version是應(yīng)用程序的版本號碼,在Eclipse IDE中開發(fā)Palm webOS應(yīng)用程序,sources.json 文件時一個資源應(yīng)用的存儲文件,該項目中所有的javascript文件都要

10、配置到這個文件中,編譯后項目運行時會自動的到這個文件中的所有資源文件引用到各個頁面中去。這樣在每個view中不用在一一引用這些js文件 Stylesheets目錄下是用來存儲項目中css樣式文件 images 目錄下是用來存儲項目中圖片文件 app 目錄下主要有assistants、models和views目錄,assistants存放一些Javascript函數(shù)集,用來控制應(yīng)用程序的行為;models 包含了應(yīng)用程序的數(shù)據(jù)模型,不過并非所有的應(yīng)用程序都使用數(shù)據(jù)模型,所以該目錄或為空或不存在;views 存放一些用于顯示的HTML文件。,在Eclipse IDE中開發(fā)Palm webOS應(yīng)用程

11、序,啟動模擬器,在Eclipse中點擊Run As Mojo Application, 在模擬器中會出現(xiàn)如下圖,則表明程序發(fā)布成功,Palm Web OS 應(yīng)用程序調(diào)試,Web OS 應(yīng)用程序的調(diào)試方式: 首先在控制頁面行為的.js文件中增添:Mojo.Log 如: Mojo.L(“info”); /打印出正常的信息 Mojo.Log.warn(“warn”); /打印出警告信息 Mojo.Log.error(“error”);/打印出錯誤的信息 或者console.log(“info”); 然后通過終端打印出來的命令行信息進(jìn)行審查排錯,Palm Web OS 應(yīng)用程序調(diào)試,其次

12、打開終端,輸入命令行:palm-log com.mycompany.helloworld,Palm Web OS 的UI界面,Scene Scene是Web OS應(yīng)用程序中的一個場景,每個應(yīng)用程序中都會有一個或多個場景組成的。在應(yīng)用程序中增添一個Scene可通過Eclipse,新建打開對話框如圖:,Palm Web OS 的UI界面,Palm Web OS 的UI界面,創(chuàng)建好后,在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的產(chǎn)生到消亡的過程中,事件執(zhí)行的順序是:initialize(constructor)-setup-activate-deactivate-cleanup Initialize, 即構(gòu)造函數(shù),SecondAssistant(),用于系統(tǒng)初始化以及接收上一個頁面?zhèn)鬟^來的參數(shù)(構(gòu)造函數(shù)的名字是創(chuàng)建scene的名稱的第一個字母大寫+Assistant構(gòu)成),Palm Web OS

14、 的UI界面,setup:主要是完成widget的初始化裝載以及系統(tǒng)數(shù)據(jù)的初始化 activate:主要是事件在被觸發(fā)頁面發(fā)生變化的時候這個事件會被觸發(fā) deactivate:在當(dāng)前頁面退出或者在這行“垃圾回收”時觸發(fā) cleanup:頁面銷毀時執(zhí)行,負(fù)責(zé)“垃圾回收”以及資源釋放。,Palm Web OS 的UI界面,Widgets UI 和 事件 Palm Web OS 支持HTML UI展現(xiàn)方式,同時Mojo框架封裝了豐富的Widgets,如Buttons、Lists、Dialogs,TextFields、Menus、Pickers、Viewers和Indicators等,它們主要封裝在M

15、ojo.Widget中 以Button為例,首先在views目錄下對應(yīng)scene的.html文件中,增添Button控件: ,Palm Web OS 的UI界面,然后在assistants目錄下對應(yīng)scene的.js文件中增添對Button的控制和該Button的事件: this.controller.setupWidget(buttonId, this.attributes = , this.model = label : BUTTON, disabled: false );,Palm Web OS 的UI界面,監(jiān)聽該Button被點擊的事件 Mojo.Event.listen(this.c

16、ontroller.get(buttonId),Mojo.Event.tap, this.handleUpdate); 關(guān)于其他控件,請參考:,Palm Web OS 的數(shù)據(jù)傳輸、存儲和處理,Mojo沿用prototype.js對Ajax的支持,通過 new Ajax.Request()方法即可通過url傳輸數(shù)據(jù)并獲得ajax返回過來的數(shù)據(jù),Mojo對Ajax傳輸和返回的數(shù)據(jù)最常用的是JSON和XML。 var myAjax = new Ajax.Request(posturl, method: post, postBody: postdata, onComplete: function(tr

17、ansport), onFailure: function(transport) );,Palm Web OS 的數(shù)據(jù)傳輸、存儲和處理,Mojo對數(shù)據(jù)的安全性也有了對應(yīng)的措施,PalmSystem.encrypt() 和 PalmSystem.decrypt()提供了對數(shù)據(jù)的加密與解密。 對于數(shù)據(jù)的存儲,Palm Web OS 采用了HTML5的本地化數(shù)據(jù)庫,關(guān)于該數(shù)據(jù)庫操作的代碼請看: 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 的數(shù)據(jù)傳輸、存儲和處理,創(chuàng)建表: 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 的數(shù)據(jù)傳輸、存儲和處理,添加數(shù)據(jù): 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 的數(shù)據(jù)傳輸、存儲和處理,查詢: 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 的數(shù)據(jù)傳輸、存儲和處理,另外,Mojo提供了Cookie數(shù)據(jù)存儲方式和Depot數(shù)據(jù)存儲方式,Cookie存儲數(shù)據(jù)在瀏覽器本地客戶端,通過Mojo.Mo

21、del.Cookie方式實現(xiàn);Depot是Mojo對HTML5數(shù)據(jù)庫存儲和檢索對象的API的封裝,通過Mojo.Depot方式可實現(xiàn)對數(shù)據(jù)庫的相關(guān)操作 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、數(shù)據(jù)傳輸、存儲和處理,Depot的功能操作: this.demoDepot = new Mojo.Depot( name: demoDB, version: 1, displayName: DemoDatabase, estimatedSize: 200000, replace: false , this.dbSuccess, this.dbFailure);,Palm Web OS 的數(shù)據(jù)傳輸、存儲和處理,/keyvalue指索引到Depot數(shù)據(jù)庫的值,用于查詢 /data 指存儲到數(shù)據(jù)庫中的數(shù)據(jù) 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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論