在Android平台下搭建PhoneGap开发环境--用HTML5开发游戏

时间:2021-06-17 17:38:30

一、在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游戏资源,感谢原作者)