2011年12月9日金曜日

PhoneGap入門

PhoneGapとは

  • HTMLとJavaScriptだけでAndroidアプリを作成できるフレームワーク。
  • カメラなどのデバイスのAPIを使用できる。
  • HTML5、JQueryMobileを組み合わせるといろいろできそう。


  1. まずはEclipseでAndroidProjectの作成
  2. PhoneGapフレームワークの設定
    公式ページからダウンロードして配置する。

  3. Activityの修正
    import android.os.Bundle;
    import com.phonegap.*;
    public class TestPhoneGapActivity 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");
        }
    }
  4. 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" />

        <application
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name" >
            <activity
                android: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>



  5. レイアウトの作成
    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>

完成!




0 件のコメント:

コメントを投稿