最终效果:


项目结构图:


需要用到PhoneGap官方包

phonegap.js、xml/plugins.xml、phonegap-*.jar都是从官方压缩包得来的。

(附件:phonegap-phonegap-1.0.0-0-g80cc6dd.zip)

项目根目录下,创建两个新目录:

/libs

/assets/www

复制 phonegap.js 到 /assets/www

复制 phonegap.jar 到 /libs

复制 xml 整个目录(包括plugins.xml)到 /res

对 src 下的主要java文件进行少量调整:

---将 class的继承由Activity改为DroidGap

---将 setContentView()替换为super.loadUrl("file:///android_asset/www/index.html");

HelloPhoneGapActivity.java

package com.royal.helloPhoneGap;import android.os.Bundle;import com.phonegap.DroidGap;public class HelloPhoneGapActivity extends DroidGap {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);super.loadUrl("file:///android_asset/www/index.html");}}

---修改AndroidManifest.xml , 将下面的权限设置复制到指定位置:

<!-- PhoneGap权限 -->    <supports-screens        android:anyDensity="true"        android:largeScreens="true"        android:normalScreens="true"        android:resizeable="true"        android:smallScreens="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.READ_PHONE_STATE" />    <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.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" />

----在AndroidManifest 的activity 标签中添加: android:configChanges="orentation|keyboardHidden"

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.royal.helloPhoneGap"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk android:minSdkVersion="8" />    <!-- PhoneGap权限 -->    <supports-screens        android:anyDensity="true"        android:largeScreens="true"        android:normalScreens="true"        android:resizeable="true"        android:smallScreens="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.READ_PHONE_STATE" />    <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.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" />    <application        android:icon="@drawable/ic_launcher"        android:label="@string/app_name" >        <activity            android:name=".HelloPhoneGapActivity"            android:configChanges="orientation|keyboardHidden"            android:label="@string/app_name" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application></manifest>

---在 /assets/www 目录中新建 index.html

index.html

<!DOCTYPE HTML><html><head><title>PhoneGap</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8">  <script type="text/javascript" charset="utf-8" src="phonegap.js"></script></head><body><h2>萧_瑟 Hello World</h2></body></html>

注意:确保各文件的编码格式保持一致,否则可能会出现中文乱码。

OK. 至此完成,运行。

参考 及 官方:

http://www.phonegap.cn/?page_id=442#android

http://www.phonegap.cn/

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. android移植(0)-热身
  6. 修改android4.4图库系列二——自定义菜单
  7. Android(安卓)SharedPreferences
  8. MyEclipse本地搭建Android环境
  9. cocos2dx使用Jsoncpp在android运行的问题

随机推荐

  1. 【MarsChen】D03_Say_Hello_to_Android
  2. android 进度条的样式
  3. Android(安卓)UI框架概览
  4. android ndk (3)
  5. 【转】关于Android的.so文件你所需要知道
  6. Android(安卓)底部导航栏的两种实现(附源
  7. android屏幕适配详解
  8. android MediaPlayer 架构介绍
  9. Unity3D游戏引擎实现在Android中打开WebV
  10. android中修改项目包名: