せっかくクイック検索ボックス(SearchManager)に対応したので、検索対象に含める設定画面を呼び出そうとPreferenceActivityに手を入れたらまたハマりました(苦笑)。
どうも、AndroidOSのバージョンによって呼び出し先のActivityの名前が微妙に違っているみたいなのです。
#そもそもこんな呼び出し方をしていること自体が邪道なのか?
2011年5月10日火曜日
簡易しおり機能とWebViewの挙動
簡易しおり機能の動作がAndroid2.2以降で動作がおかしくなる(意図した位置に飛ばない)と以前の記事に追記したのですが、どうやら2.1などでも裁判所規則集の表示の際に時々動作がおかしくなることが分かってきました。
さて、問題はこれをどう解決するか、です(ある仕様にすることで一応解決はしました)。
さて、問題はこれをどう解決するか、です(ある仕様にすることで一応解決はしました)。
2011年5月9日月曜日
QuickSearchBoxからのIntentフラグ
ふと、アプリの動作確認をするためにAndroid1.6~2.3.3までのエミュレータを作成して検証していたところ、SearchManager部分の挙動が全てのバージョンでおかしくなっていることに気付きました。
アプリ起動中に呼び出すSearchManagerは問題ないのですが、QuickSearchBoxからのIntentで検索キーワードが取得されず、検索が実行されない現象が発生しました。
その部分はいじっていなかったのですが、原因を探るためにLOGCATを見ていたらどうもIntentのフラグがFLAG_ACTIVITY_NEW_TASKだけではないということが分かってきました。
アプリ起動中に呼び出すSearchManagerは問題ないのですが、QuickSearchBoxからのIntentで検索キーワードが取得されず、検索が実行されない現象が発生しました。
その部分はいじっていなかったのですが、原因を探るためにLOGCATを見ていたらどうもIntentのフラグがFLAG_ACTIVITY_NEW_TASKだけではないということが分かってきました。
2011年5月8日日曜日
Androidエミュレータ起動中のSDカードmount/unmount
以前、一度やっていたにも関わらず忘れていたので、メモ。
Windowsの場合、コマンドプロンプトを起動して
>adb shell
でエミュレータに接続して
# sdutil unmount /sdcard
で、SDカードをumountする。
# sdutil mount /sdcard
で、SDカードをmountする。
Windowsの場合、コマンドプロンプトを起動して
>adb shell
でエミュレータに接続して
# sdutil unmount /sdcard
で、SDカードをumountする。
# sdutil mount /sdcard
で、SDカードをmountする。
簡易しおり機能の実装その後
簡易しおり機能とは言うものの、それを管理する画面も必要だろうと考えると結局それなりに実装しておかないとイカンということで、以下のように「しおり」メニューを追加してみました。
エミュレータとXperiaでは表示されるしおりアイコンが違うのですが、これはAndroidのバージョンの違いによっても出てきそうですね。リソース節約という観点からできるだけbuilt-inされているアイコンを使うようにしているのですが、もう少し無難なものを選ばないと分かりにくいですね(苦笑)。
中身の方は続きをどうぞ。
外部ビューワ連携で気付いたこと(簡易しおり機能の実装)
外部ビューワの「縦書きビューワ」には「しおり」機能が付いています。電子文庫を読む時には必要な機能ですね。法令を見る際にも条文の多い法令だと前回見ていた場所にすぐにアクセスできたら・・・と思うことはあります。
現時点ではDIY六法の法令表示ビューにはしおり機能が無いため縦書きビューワにおんぶにだっこなのですが、いくつかの法令データを縦書きビューワに渡していたところ、どうも(正確なサイズは不明ですが)1MBを超える法令データだとメモリ不足ということで開けないということに気付きました(間違いがありましたらご指摘ください>作者様)。
もちろん、メモリの少ない端末では私の使用しているXperiaで開ける大きいサイズの法令が開けない可能性がありますが、そのあたりを制限していないので端末によっては強制終了せざるを得ない状況になる(その他、ホームアプリが落ちたり、Pause中のアプリがkillされたりする)可能性がありますので注意が必要ですね。
とはいうものの、1MBを超える法令でも何とかしおり機能を使えるように、1法令につき1カ所だけのしおりをつける「簡易しおり機能」を法令表示ビューに実装してみました。
※ただし、しおりをつけた際のスマートフォンの向き(ランドスケープ/ポートレート)が変わってしまうと 正しい位置に飛べませんのであしからずご了承ください。
現時点ではDIY六法の法令表示ビューにはしおり機能が無いため縦書きビューワにおんぶにだっこなのですが、いくつかの法令データを縦書きビューワに渡していたところ、どうも(正確なサイズは不明ですが)1MBを超える法令データだとメモリ不足ということで開けないということに気付きました(間違いがありましたらご指摘ください>作者様)。
もちろん、メモリの少ない端末では私の使用しているXperiaで開ける大きいサイズの法令が開けない可能性がありますが、そのあたりを制限していないので端末によっては強制終了せざるを得ない状況になる(その他、ホームアプリが落ちたり、Pause中のアプリがkillされたりする)可能性がありますので注意が必要ですね。
とはいうものの、1MBを超える法令でも何とかしおり機能を使えるように、1法令につき1カ所だけのしおりをつける「簡易しおり機能」を法令表示ビューに実装してみました。
※ただし、しおりをつけた際のスマートフォンの向き(ランドスケープ/ポートレート)が変わってしまうと 正しい位置に飛べませんのであしからずご了承ください。
2011年5月7日土曜日
SearchManagerによる検索ボックスの実装について(2)
アプリを起動していない状態でクイック検索ボックスを開いた時は以下のような感じになります。
※前提として、Android端末の設定メニューの検索対象の設定でDIY六法を対象に含めるための設定(チェックボックスにチェックをつける)がされている必要があります。
クイック検索ボックスでキーワードを入力すると「もっと見る」という候補があってその中に「DIY六法:1」という表示が出ます。
※前提として、Android端末の設定メニューの検索対象の設定でDIY六法を対象に含めるための設定(チェックボックスにチェックをつける)がされている必要があります。
クイック検索ボックスでキーワードを入力すると「もっと見る」という候補があってその中に「DIY六法:1」という表示が出ます。
登録:
投稿 (Atom)
