・ このブログの記事(テキスト・画像)について

2012年4月5日木曜日

【JQueryMobileとPhoneGap】 Phone Gapを実装したActivityを終了させる編

前回の続き
Androidの機能を全部JQueryMobileとPhoneGapで作成って実際イメージつかないですよね?
そして、私の場合は
AndroidのActivityからPhone Gapを実装したActivityへ遷移後、バックキーではないボタンイベント操作でAndroidのActivityへ戻りたい時を考える事があります。
そんなときのために、
Phone Gap側のメソッドでPhoneGapを実装したActivityを終了させるためのメモです。

ベースは、前回の環境とします。

【JQueryMobileとPhoneGapで開発する目的】

 JQueryMobileとPhoneGapを採用することで、マルチプラットフォーム開発を目指す。
異なる、ディスプレイの大きさに対応したアプリ開発を目指す。

【環境】
Eclipse 3.7 (基本的な設定済みとする。)
Jquery mobile  1.0.1
Phone Gap 1.5
Android1.6 is01
Android2.3 003sh端末
Android4.0 Galaxy Nexus
JQueryMobileとPhoneGapの環境構築済みとする。
【1.JQueryMobileとPhoneGapの注意点】
・PhoneGap側に用意されているバックキーイベント扱いについての個人的な注意点
PhoneGap側に用意されているバックキーイベントを取得する処理は、JQueryMobileを使っている限り、使わない方が無難です。

初めて、PhoneGapのバックキーイベント処理をゴニョゴニョいじった時、困ったことが起きました。

PhoneGap側でバックキーイベントを取得する処理を追加した場合、従来のJQueryMobileで画面遷移をし、その後元の画面に遷移した時に
「PhoneGap側で最初に登録したバックキーイベント取得用コールバック関数」でやっている処理がUIに反映されない現象になったからです。

未だに良く分からないです。。。
私の現在のPhoneGapとJQueryMobileを使う上での注意点は、
バックキーのイベント等「PhoneGapとJQueryMobile同士がかぶる」機能は、実装しないほうが無難です。別の方法で実装することをまず考えたほうが、幸せになれると思います。
【2.ボタン押下後の変更】
下記のようにPhoneGapのメソッドである「navigator.app.exitApp();」を呼び出します。






 以上で、Phone Gapを実装したActivityを終了させることができました。

2012年4月4日水曜日

【Android】【Android4.0】 メニューキーがでないんだけど・・・・編

メモです。
【不具合?に出会う編】
Android4.03でゴニョゴニョいじっていたら、メニューキーが突然でなくなっていることに気が付きました。


いじったのは、android:targetSdkVersionを15にしただけ ><
(android:targetSdkVersionは、アプリ自身の対応APIの上限値設定ができる認識です。)

なにやら、「タイトルバーを非表示にしているアプリ
(@android:style/Theme.NoTitleBar.Fullscreenや@android:style/Theme.NoTitleBarのテーマを設定しているアプリ)では、targetSdkVersionを11以上にした直後
にHoneycomb以上でメニューボタン出ない」という現象になるようです。

その結果、ハードキーではないメニューキーが押せなくなるようです。



んで・・・どうしろとww




【解決案】
1.android:targetSdkVersionの記載をしない。
これを消したら、メニューがでたので・・・・・・解決策の一つに
 ただ・・・「targetSdkVersion」が使えないので、APIの上限設定ができない弊害が・・・・ww

2. APIレベルによって、タイトルバーが出る出ないの切り替えを行う。
正確には「@android:style/Theme.WithActionBar」 に設定する。(テーマを設定していない場合は、Honeycomb以上ではデフォルトで「@android:style/Theme.WithActionBar」になっているようです。)
とりあえず、Activityのテーマの場合分けをする
私の場合、は、XMLでActivityのテーマ を設定しています。
そのため、こいつの場合わけをして、API11以上の場合はタイトルを表示させることにします。
ActivityにMyThemeを設定する。
変更対象のフォルダとファイル


キャプチャ
GalaxyNexusでのキャプチャ画面

以上です。

2012年4月1日日曜日

【JQueryMobileとPhoneGap】 PhoneGapでUAを変更する編

前回の続き
UAを変えたいってことありますよね?
そんなときのために、
Phone GapでUAを変更するためのメモです。
ベースは、前回の環境とします。

【JQueryMobileとPhoneGapで開発する目的】

 JQueryMobileとPhoneGapを採用することで、マルチプラットフォーム開発を目指す。
異なる、ディスプレイの大きさに対応したアプリ開発を目指す。

【環境】
Eclipse 3.7 (基本的な設定済みとする。)
Jquery mobile  1.0.1
Phone Gap 1.5
Android1.6 is01
Android2.3 003sh端末
Android4.0 Galaxy Nexus
JQueryMobileとPhoneGapの環境構築済みとする。
【UAの変更】
1.DroidGapを継承したActivityで下記のようにオーバラードします。
UAをhohoと書き換えています。






 以上で、PhoneGapでUA変更が完了した。