第一個PhoneGap(cordova)應用


PhoneGap是一套能讓你使用HTML5輕松調用本地API接口和發布應用到商店的應用開發平台。官方說有低成本,低開發周期,輕量化等優點,這些咱暫時也沒法證明,略過不表。但是有一條跨平台,卻是很明顯的優勢。因為它采用HTML5+JavaScript的模式來開發應用。PhoneGap用JavaScript統一封裝了幾大平台的本地api(Andriod,IOS,WP8/7,WINRT)等等。。這樣的話從一個平台移植到另外一個平台只需要把HTML代碼跟JS原封不動的拿過去,打包一下就可以了。PhoneGap后來被Adobe收購,然后又貢獻給了開源社區,現在由Apache管理,改名cordova。

為了給昨天的html5畫圖板移植到移動設備上,我決定采用phoneGap平台,這樣只要編寫一邊就可以多出運行了。

今天先在Andriod下架設phoneGap環境。

1.下載phoneGap

http://phonegap.com/download#autodownload

解壓出來,找到lib/android目錄。

2.在eclipse下新建Andriod項目,這個跟普通項目一樣。

3.在assets目錄下新建文件夾“www”

把lib/android目錄下的cordova-2.6.0.js復制到這個目錄下。把cordova-2.6.0.jar復制到libs目錄下。

image

4.在www目錄下新建一個html文件index.html。我們的界面就要在這里建立了。

image

index的代碼如下:

<!doctype html>
<html>
<head>
     <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
    <title>HTML5Paint</title>
    <script type="text/javascript" src="cordova-2.6.0.js" charset="utf-8"></script>
    <script type="text/javascript">
        alert("HELLO CORDOVA");
    </script>

</head>
<body>

<h1>HTML5Paint</h1>
</body>
</html>

5.把lib/android目錄下的xml文件夾整個復制到res面目下

image

6.修改AndroidManifest.xml添加用戶權限

在<manifest >標簽的內的最前部添加如下代碼

    <supports-screens
        android:largeScreens="true"
        android:normalScreens="true"
        android:smallScreens="true"
        android:xlargeScreens="true"
        android:resizeable="true"
        android:anyDensity="true"
        />

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.RECORD_VIDEO"/>
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />   
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />   
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.BROADCAST_STICKY" />

7.修改MainAcivity.java

public class MainActivity extends DroidGap {

      @Override
        public void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            super.loadUrl("file:///android_asset/www/index.html");
        }

}

8.build一下會有錯誤,這是因為前面的cordova-2.6.0.jar沒有添加到buildpath里面去。添加buildpath。

image

繼續build就過了。

最后run一下:

 

imageimage

這樣一個phonegap的Andriod程序就搞定了。明天把昨天的那個HTML5畫板移植過來。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM