成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Mobile應用基于PhoneGap框架搭建教程

移動開發
PhoneGap是一款基于HTML5的開源的手機應用開發框架,它允許用戶僅僅通過Web(HTML、JavaScript)技術就可以訪問移動設備的本地應用、API以及應用程序庫等。

Mobile應用基于PhoneGap框架搭建教程是本文要介紹的內容,主要是來學習PhoneGap框架的應用,隨著Google的Android手機和蘋果的iPhone手機成為手機市場的主流,越來越多的開發者加入到移動應用開發的大軍中,但是基于JavaAndroid應用和基于C語言的iPhone應用讓開發者開發應用的時候甚為煩惱,同樣的應用必須用不同的語言開發兩次才能支持不同的手機平臺。

為了進一步簡化移動應用的開發,Nitobi公司推出了一套開源的移動應用解決方案PhoneGap。本文主要介紹PhoneGap的基礎知識,并通過一個示例介紹PhoneGap開發測試環境的搭建以及PhoneGap項目的開發和部署,并對PhoneGap提供的主要API做簡單介紹.

PhoneGap簡介

PhoneGap是一款基于HTML5的開源的手機應用開發框架,它允許用戶僅僅通過Web(HTML、JavaScript)技術就可以訪問移動設備的本地應用、API以及應用程序庫等。PhoneGap提供了一系列豐富的API供開發者調用,這些API抽象和簡化了移動設備本身提供的復雜的API,使開發新的手機應用和調用已有的手機功能更簡單方便。另外,PhoneGap真正實現了writtenonce,runeverywhere,并且它采用了W3C標準,能和jQueryMobile結合在一起使用。

PhoneGap特性

目前,PhoneGap已實現對iPhone/iPad、Android、Symbian、Palm、黑莓各版本絕大部分功能的支持,其中官方文檔中對其支持的詳細說明如圖1所示:

圖1.PhoneGapAPI對各手機平臺的支持

PhoneGap API對各手機平臺的支持

PhoneGapAPI簡介

Accelerometer

Accelerometer是一個設備移動感應器,它能夠檢測到設備相對于原來位置的移動,并用三維坐標x,y,z表示。該API提供三個方法:

accelerometer.getCurrentAcceleration:得到用x,y,z值表示的當前設備的移動加速度。

accelerometer.watchAcceleration:以特定的時間間隔得到用x,y,z值表示的當前設備的移動加速度。

accelerometer.clearWatch:取消對設備移動加速度的監控。

Camera

Camera提供了訪問和操作移動設備的默認攝像頭的API,包括用攝像頭動態攝取圖片或從移動設備的相冊中獲取圖片。

camera.getPicture():該方法通過配置不同的參數實現動態用攝像頭獲取圖片或從已有的相冊中獲取圖片,返回參數也可以根據設置不同的參數返回圖片的二進制數據或者圖片的路徑。

Compass

Compass提供了獲取移動設備指向的API。

compass.getCurrentHeading:獲取當前移動設備的指向。

compass.watchHeading:以特定的時間間隔獲取當前設備的指向。

compass.clearWatch:取消對當前設備指向的監控。

Contacts

Contacts提供了訪問和操作移動設備通訊錄數據庫的API,包括獲取聯系人列表(支持過濾條件),增加,刪除,編輯通訊錄聯系人等。

contacts.create:創建一個新的聯系人。

contacts.find:查找聯系人。

Contacts模塊包括幾個重要的對象:Contact,ContactName,ContactField,ContactAddress,ContactOrganization,ContactFindOptions,ContactError,通過這些對象和create、init方法共同實現對通訊錄的復雜操作,詳細的介紹可以參考PhoneGap的官方文檔。

Device

Device提供了訪問當前移動設備參數的API,包括設備名、設備系統版本、設備平臺等。

File

File提供了訪問和操作移動設備文件系統的API,其中FileReader和FileWriter提供了對設備文件的讀寫API。

GeoLocation

GeoLocation提供了訪問移動設備的GPS感應器的API。

Media

Media提供了訪問和操作移動設備語音文件的API,包括播放、停止、錄音等。

NetWork

Network提供了訪問移動設備移動網絡和無線網絡設置的API。

Notification

Notification提供了一組API來模擬移動設備的一些可視(對話框)、可聽(提示音)、可感覺(震動)的功能。

notification.alert:彈出警告或者對話框。

notification.confirm:彈出確認框。

notification.beep:播放設備的提示音。

notification.vibrate:使設備震動一段時間。

Storage

Store提供了訪問移動設備的存儲設備的API。

#p#

搭建PhoneGap開發化境

PhoneGap支持開發適用于iPhoneAndroid、Palm等不同平臺的應用,對不同的平臺開發環境也有所不同,本文以Android為例搭建開發環境和創建應用。在搭建環境之前,我們需要先下載一些必須的工具和SDK,所有的工具都可以免費下載:

下載并安裝Eclipse3.4+。

下載并安裝Android SDK。

下載并安裝ADTPluginforEclipse。

下載并解壓PhoneGap

安裝好Eclipse、AndroidSDK和ADT插件之后,還需要做一些簡單的配置才可以創建項目。圖2顯示了如何在Eclipse里配置AndroidSDK的路徑,圖3和圖4顯示了如何在Eclipse里配置AVD(AndroidVirtualDevice)。

圖2.在Eclipse里配置AndroidSDK路徑

圖 2:在 Eclipse 里配置 Android SDK 路徑

圖3.AndroidSDKandAVDManager菜單

圖 3:Android SDK and AVD Manager 菜單

圖4.在Eclipse里配置AVD

圖 4:在 Eclipse 里配置 AVD

如果需要使用Android手機測試應用,還需要安裝手機對應型號的驅動器,把手機和開發機器用USB線連接,并且正確設置手機的開發調試功能。(Settings>Applications>Development)

#p#

創建一個簡單的PhoneGap應用

創建一個新Android工程,如圖5所示:

圖5.創建新Android工程

 

圖 5:創建新 Android 工程

 

完善項目結構

在項目根目錄下創建/libs和/assets/www目錄,并從解壓后的PhoneGap目錄中拷貝phonegap.js(可能帶有版本信息)到/assets/www目錄下,拷貝phonegap.jar(可能帶有版本信息)到libs目錄。修改項目的JavaBuildPath信息,把libs下的jar文件包含在編譯路徑中。

修改項目文件實現簡單的獲取設備聯系人列表功能

com.phonegap.App.java

更改App.java文件為清單1的內容:

清單1.App.java類

  1. packagecom.phonegap.sample;  
  2. importandroid.app.Activity;  
  3. importandroid.os.Bundle;  
  4. importcom.phonegap.*;  
  5. publicclassAppextendsDroidGap{  
  6. /**Calledwhentheactivityisfirstcreated.*/  
  7. @Override  
  8. publicvoidonCreate(BundlesavedInstanceState){  
  9. super.onCreate(savedInstanceState);  
  10. //loadtheindex.htmlpagewhenappisloaded.  
  11. super.loadUrl("file:///android_asset/www/index.html");  
  12. }  

AndroidManifest.xml

把清單2的內容拷貝到AndroidManifest.xml文件的manifest標簽內,并拷貝android:configChanges="orientation|keyboardHidden到activity標簽內做為activity標簽的一個屬性。

清單2.AndroidManifest.xml

  1. android:largeScreens="true" 
  2. android:normalScreens="true" 
  3. android:smallScreens="true" 
  4. android:resizeable="true" 
  5. android:anyDensity="true" 
  6. /> 

index.html頁面

在/assets/www目錄下創建一個新的HTML頁面命名為index.html,并拷貝清單3的內容到index.html文件。

清單3:Index.html

  1. title="notitle"charset="utf-8"> 
  2. WelcometoPhoneGap!  
  3. thisfileislocatedatassets/index.html  
  4. Platform:  
  5. Version:  
  6. UUID:,  
  7. Name:  
  8. Width:,  
  9. Height:  
  10. ,ColorDepth:  
  11. Getphone'scontacts  
  12. >AccessIBMHomePage 

Username:

注意:中的“x.x.x.x”應為運行著一個contextroot為WebTest的Web應用的主機地址(IP或者HostName),WebTest項目可從本文檔提供的鏈接中下載。

測試項目

在項目上點擊右鍵,在出現的菜單中選擇“RunAs”,然后選擇“AndroidApplication”,Eclipse會彈出窗口讓你選擇合適的AVD,如果還沒有配置,請參照“搭建PhoneGap開發環境”小節介紹的方法創建一個AVD。如果選擇用Android手機測試程序,請確認驅動已經裝好,USB連接正常,并且正確設置手機的開發調試選項,然后選擇“RunAs--AndroidApplication”。

#p#

運行結果展示

圖6顯示了該實例在AVD上的運行結果。

圖6.示例運行結果

圖 6:示例運行結果

點擊“Getphone’scontacts”會出現圖7和圖8所示的結果:

圖7.示例運行結果(對話框)

圖 7:示例運行結果(對話框)

圖8.示例運行結果(聯系人信息)

圖 8:示例運行結果(聯系人信息)

點擊“AccessIBMHomePage”將會出現圖9所示的畫面:

圖9.顯示IBM主頁畫面

圖 9:顯示 IBM 主頁畫面

在圖6的輸入框中輸入“Rendy”,然后點擊“Submit”按鈕,會出現圖10所示的頁面:

圖10.提交用戶名后顯示畫面

圖 10:提交用戶名后顯示畫面

從上面的示例可以看到,開發人員只需掌握HTML和JavaScript就可以開發基于PhoneGap的可以和移動設備的本地應用交互的手機Web應用,極大的簡化了移動應用的開發周期。

本文對PhoneGap開源框架做了簡單介紹,并通過一個示例介紹了如何開發基于PhoneGap框架的可以和移動設備的本地應用交互的MobileWeb應用。PhoneGap以它開發簡單、兼容性好、支持標準化等無與倫比的優勢正在不斷的占據移動應用開發的市場,雖然它也存在運行速度慢、UI反應延時等問題,但是隨著技術的進步,這些不足會不斷的改進和消除。

#p#

部署和運行示例代碼

下載代碼到本地計算機,打開Eclipse,點擊File->import->ExistingProjectsintoWorkspace如圖7所示,選擇archivefile并指定到代碼所在的本地路徑(圖11),點擊Finish按鈕。

圖11.導入工程到Eclipse

圖 11:導入工程到 Eclipse

圖12.導入Archive文件

圖 12:導入 Archive 文件

工程導入Eclipse后會自動編譯,右鍵點擊項目選擇RunAsAndroidApplication就可以運行程序。

用同樣的方法將WebTest項目導入Eclipse工作空間中,右鍵點擊項目選擇RunAsRunOnServer。

小結:Mobile應用基于PhoneGap框架搭建教程的內容介紹完了,希望通過本文的學習能對你有所幫助!

責任編輯:zhaolei 來源: IBM博客
相關推薦

2012-03-07 11:30:09

PhoneGapWindows Pho

2011-09-02 13:30:43

Android SDKPhoneGap

2011-09-02 13:51:00

PhoneGap框架HTML5

2011-07-15 15:54:38

PhoneGapiOS

2011-07-19 08:50:17

PhoneGapwebOS

2011-07-22 08:34:37

PhoneGapSymbian

2011-07-18 14:46:56

PhoneGapBlackBerry

2011-07-05 15:26:23

2011-08-31 13:11:53

AndroidPhoneGap

2011-12-22 14:36:36

PhoneGapWindows Pho環境搭建

2011-08-31 13:27:52

AndroidPhoneGap

2011-07-19 13:26:50

iPhone PhoneGap 框架

2011-07-05 17:29:53

PhoneGapevents

2012-03-08 09:09:11

PhoneGapjQuery Mobi本地化Web App

2011-10-11 09:21:03

2011-09-02 10:41:51

2012-05-10 08:29:46

XcodeiOSPhoneGap

2011-12-30 15:21:38

PhoneGap視頻

2012-02-01 09:59:05

TitaniumPhoneGapiOS

2012-02-14 09:33:14

Titanium MoTitaniumUbuntu 10.0
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品午夜电影 | 久久不卡 | 久久国产综合 | 免费在线观看一区二区 | 久久夜视频 | 国外激情av| 亚洲精品一区二区三区中文字幕 | 成人在线观看免费 | 精品美女 | 久久久.com | 黄色网址免费在线观看 | 精品国产免费人成在线观看 | 亚洲国产免费 | 日韩高清中文字幕 | 国产一区久久 | 国产精品久久影院 | 国产999精品久久久影片官网 | 午夜在线精品 | 密色视频 | 国产欧美精品一区二区 | 91视频麻豆 | 国产一区二区久久 | 国产精品久久久久久久久图文区 | 欧美一级片在线播放 | 亚洲乱码一区二区三区在线观看 | 成人不卡在线 | 国产黄色精品在线观看 | 黄色一级免费 | 欧美电影在线 | 欧产日产国产精品99 | 国产91黄色 | 成人18亚洲xxoo | av黄色片在线观看 | 亚洲黄色在线免费观看 | 精品亚洲一区二区三区四区五区 | 黄免费在线 | 亚洲区一区二 | 亚洲视频一区 | 日韩亚洲欧美一区 | 亚洲综合天堂网 | 青青草中文字幕 |