[Android] PhoneGap

PhoneGap は、HTML5 + CSS でウェブサイトのようにアプリを作成し、ネイティブのJava言語に変換してくれます。 また、PhoneGap を使うと、同一ソースからAndroidやiOSなどのネイティブアプリを作ることもできます。

上記の書籍は、良書ですが、あっという間に開発環境が変わってしまったので、メモとして残します。

プロジェクトの作成

  1. [ファイル]-[新規]-[Android Application Project]を開く。
  2. Application Name に適当な名前を入れる。
  3. Project Name, Package Name は自動で入力されるが、必要であれば、適宜変更する。
  4. Build SDKと Minimum Required SDK を選択する。
  5. [次へ]をクリックする。
  6. Launcher Iconはそのまま(必要であれば変更)で、[次へ]をクリックする。
  7. Create Activity はそのまま(必要であれば変更)で[次へ]をクリックする。
  8. Activity Name は必要であれば変更し[完了]をクリックする。

PhoneGapを使用するようにプロジェクトを設定する

  1. プロジェクト・エクスプローラーの[assets]を右クリックし、新規フォルダ[www]を作成する。
  2. HTML,CSS,Javascriptを駆使してアプリを作り、index.html, javascript css のファイル一式を、wwwにコピーする。
  3. http://archive.apache.org/dist/cordova/platforms/からcordova-android-2.9.0をダウンロードする。
  4. PhoneGapのAndroidフォルダを開き、以下をコピーする。
    1. cordova-android\framework\assets\www\cordova.jsを[assets/www]にコピーする。
    2. cordova-2.9.0.jarを[libs]にコピーする。
    3. [xml]フォルダを[res]にコピーする。
  5. index.htmlに、以下のコードを追加する。
    <script type="text/javascript" charset="utf8" src="cordova-2.9.0.js"></script>
  6. [lib/codeova-2.9.0.jar]を右クリックし、ビルド・パスを追加する。
  7. Activity クラスを更新する。
    1. import org.apache.cordova.DroidGap?; (変更)
    2. public class **** extends DroidGap? (変更 *** はアプリ名)
    3. setContentView?()をsuper.loadUrl(“file:///android_asset/www/index.html”)に変更。
  8. Manifestに以下を追加する。必要のないものは適宜削除。
    <supports-screens 
        android:largeScreens="true" 
        android:normalScreens="true" 
        android:smallScreens="true" 
        android:resizeable="true" 
        android:anyDensity="true" />
    <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" />
  9. activity に以下を追加する。 android:configChanges=”orientation|keyboardHidden”

PhoneGapの詳細 http://docs.phonegap.com/en/2.0.0/guide_getting-started_android_index.md.html#Getting%20Started%20with%20Android

cordova 3.5.1 以降について

なんかうまくいかないな http://www.auraline.co.jp/tech-lab/?p=284 http://cordova.apache.org/docs/ja/3.1.0/guide_platforms_android_upgrading.md.html

import org.apache.cordova.api.***

import org.apache.cordova.***

に変更