一、在Android平台下搭建PhoneGap开发环境
具体怎么搭建我这里就不详细说了,如有需要我后面再讲 。 PhoneGap 官方地址有详细说明:http://www.phonegap.com.
在这里先对PhoneGap 介绍一下:PhoneGap是一款基于HTML5标准的跨平台开源手机Web应用开发框架,PhoneGap现在更名为Cordova,他允许用户通过Web技术访问移动设备的本地应用、API接口及应用程序框架等。
PhoneGap将移动设备提供的API进行抽象和简化,提供了丰富的API接口供开发者使用(API在不断地升级中,需要实时关注PhoneGap 最新动态,在PhoneGap中对API 进行了非常详细的介绍,并给出了丰富的实例)开发者只要会编写HTML和JS语言,就可以将这款程序运行在Android,IOS,WebOS等多种平台的手机中。
目前PhoneGap 已提供了丰富的接口:http://docs.phonegap.com/en/1.7.0/cordova_accelerometer_accelerometer.md.html#Accelerometer 有介绍。
二、来看看我的实例
(1).其中android_asset/www/地方是我们放资源文件的地方,游戏资源全部放在这里(此实例HTML5游戏代码非本人所写,作者未知)
(2).注意两个地方
一是在Activity中,再也不是extends Activity了,而是extends DroidGap。
[mw_shl_code=java,true]package org.askon.activity;
import org.apache.cordova.DroidGap;
import android.os.Bundle;
public class HelloHtml5Activity extends DroidGap {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/index.html");
}
}[/mw_shl_code]
二是在配置文件中主Activity中注意要加上android:configChanges="orientation|keyboardHidden"
还要加上一些必须的配置文件
[mw_shl_code=java,true]<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.askon.activity"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<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" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".HelloHtml5Activity"
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>[/mw_shl_code]
三、上图,有图有真相
四、实例源代码如下(l里面已包括HTML5游戏资源,感谢原作者)