- HTMLとJavaScriptだけでAndroidアプリを作成できるフレームワーク。
- カメラなどのデバイスのAPIを使用できる。
- HTML5、JQueryMobileを組み合わせるといろいろできそう。
- まずはEclipseでAndroidProjectの作成
- PhoneGapフレームワークの設定
公式ページからダウンロードして配置する。 - Activityの修正import android.os.Bundle;import com.phonegap.*;public class TestPhoneGapActivity extends DroidGap {/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);super.loadUrl("file:///android_asset/www/index.html");}}
- AndroidManifestの修正<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.utsugen"android:versionCode="1"android:versionName="1.0" ><supports-screens
android:largeScreens="true"
android:normalScreens="true"android:smallScreens="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.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-sdk android:minSdkVersion="10" /><applicationandroid:icon="@drawable/ic_launcher"android:label="@string/app_name" ><activityandroid:label="@string/app_name"android:name=".TestPhoneGapActivity"android:configChanges="orientation|keyboardHidden" ><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を作成<!DOCTYPE HTML><html><head><title>TestPhoneGap</title>
<script type="text/javascript" charset="utf-8" src="phonegap-1.2.0.js"></script>
<script type="text/javascript" charset="utf-8">
<!--document.addEventListener("deviceready", onDeviceReady, false);
-->
function onDeviceReady() {document.getElementById('myDevice').innerHTML = "PhoneGap on " + device.platform;
document.getElementById('ready').innerHTML ="<ul><li>device name : " + device.name + "</li>" +
"<li>devie version : " + device.version + "</li></ul>";
</script>
</head><body><h1>Hello world!</h1>
<h2 id="myDevice"></h2>
<p id="ready">デバイス情報取得中...</p>
</body></html>