紙の図鑑を持ち歩くのは現実問題としてきついので ドキュメントスキャナを購入して pdf化してみた*1 ものの、Androidで動く pdfリーダーの使い勝手がイマイチ。*2
というわけで、pdfは諦めて専用アプリを作成。
例によってオフラインでの使用を前提とし、データは全て SDカードへ。
この手のアプリだとさすがに IDEOSは苦しい。
10インチクラスのタブレットが欲しいところ。
Google playで公開しました。
スクリーンショット
ドキュメント類
ToDo/ネタ
- ページ閲覧アクティビティの起動時間の短縮。
- ピンチ操作の時、一本指になった瞬間を区別するように。
- ピンチ操作に不向きな小さい端末用のズーム操作を何とかした方が良いかも。
- 図鑑登録中に端末の回転を行うとトランザクションがおかしな事に?2.x限定?
- 図鑑データの自動更新がほしいな。
- 誤表記を報告する仕組みがあればいいか。
- 機種によっては OOM頻発なのをどうにか出来ないかね。
- 図鑑の選択を一覧から出来るように。
- 特定のページに対するメモの記述(システム/ユーザー)
- 図鑑の登録進捗ダイアログをアクティビティにしたほうがいいのかね?
- 登録数が増えると選ぶのも一苦労になってくるのでタグ付けや一覧表示等を実装した方が。
動作環境
- Android 2.3以降
- Huawei/IDEOS(CM7.2 / Android 2.3.7)、Hyundai A7 HD(CM10 / Android 4.1.1)にて動作確認を行っています。
特に 4.1に依存するような処理はないはずなので 3.0でも同様に動くと思われる。
ダウンロード
Google playからどうぞ。*3
現状
- 図鑑データの登録を実装(ダウンロードではなく、SDカードへ直接格納)。
- 画像の閲覧を実装。
- 索引からの指定ページ表示を実装。
- 索引に対するテキスト絞り込みを実装。
- 索引からのしおり登録を実装。
- しおりのエクスポート/インポートを実装。
- 任意のページについてしおりの登録/編集を実装
- 図鑑データの削除を実装。
- 図鑑データのダウンロード&インストールを実装。
ToDo
- ダブルタップ時に最大倍率と最小倍率でトグルしているけど、最大の方は倍率を指定できたほうがよさげ。
- スマートフォンでの索引リスト表示を改善した方が。(参照中の図鑑と「全ての索引だけとか」)
- 図鑑が増えた時を考えると索引のグルーピングが欲しいか。
- データを作る気があるのなら索引とは別に目次があっても良いな。
- 写真館と連動させるのもあり。
断片的なオンラインマニュアル
- 図鑑データ閲覧時の操作
前のページ カーソルキーの↑/←/右から左へのフリング/左端をタップ 次のページ カーソルキーの↓/→/左から右へのフリング/右端をタップ 拡大 ピンチアウト(Android 2.2以降でマルチタッチ対応機のみ) 縮小 ピンチイン(Android 2.2以降でマルチタッチ対応機のみ) 拡大/縮小 ダブルタップで最大倍率と最小倍率のトグル/シングルタップすることで表示されるズームコントローラを使用 - 索引参照
メニューから「索引」を選択することで索引を参照可能。
上部のテキスト入力エリアにテキストの断片を入力することでフィルタリング可能。
この時、「濁音/半濁音/清音」「ひらがな/カタカナ」はそれぞれ同一視される。 - 設定
メニューから「設定」を選択して設定画面へ。画面の回転 端末の向きで切り替える「システムの設定に従う」、向きを固定する「ポートレイト(縦)固定 / ランドスケープ(横)固定」から選択可能。 画像サイズ 端末が十分なメモリを積んでいれば「縮小無し」で良いけど、頻繁に異常終了するようなら「1/2」を選択。変更後はメニューから「図鑑 – テンポラリデータの削除」を選んでデータの再作成を。 ページ送り タブレットのように十分広い画面を持つなら「ページ一覧」、そうでないなら「フリング」を選択。 フリングの感度 拡大表示時のドラッグ操作時にページめくりが誤動作するようなら「鈍感」を選択。 外部ストレージの位置 図鑑データは SDカードへ入れる前提なのだけど、「見つからない」と文句を言われる場合は標準以外を選択。
(文句を言われるけれど標準以外の選択肢が存在しない場合は相談を) - 容量
内部で端末の解像度に適した閲覧用画像とサムネイル画像を生成するため、元データ(ポートレイト用の画像+索引ファイル)とは別に最大でその約 3倍程度の容量が必要。*4
断片的なオンラインマニュアル – 図鑑データ
- オフラインインストール
ダウンロードしたアーカイブを展開し、Androidデバイスの外部メモリ(SDカード)上のアプリケーションデータディレクトリ(/higenokamisama/guidebooks/)にコピーする。
アプリケーション起動時に追加/変更されたデータは自動的にデータベースへ格納される。 - オンラインインストール
メニューから「図鑑 – 図鑑データのインストール」と選択し、図鑑データアーカイブの URLと展開に必要なパスを入力する。 - アンインストール
メニューから「図鑑 」を選択し、削除したい図鑑のコンテキストメニューから「この図鑑の削除」を選択。 - 図鑑の選択
メニューから「図鑑」を指定し、表示したい図鑑をタップ。
断片的なオンラインマニュアル – しおり
- 索引からのしおり登録
索引参照時、表示したい項目のコンテキストメニューから「しおりへ登録」を選択することで図鑑データ参照時のメニューから参照することが可能。 - 任意のページに対するしおりの登録
ギャラリーを表示しているのならそのコンテキストメニューから、表示していないのならメニューの「しおり」から「しおりへ登録」を選択することで任意のページをしおりとして登録可能。 - しおりの編集
メニューから「しおり – しおりの管理」を選択することで管理画面に移行可能し、登録済みしおりの削除と名称の編集が可能。 - 簡易しおり
名称が無く、設定することも出来ないしおり。
保存すると以前の内容は上書きされる。
普通のしおりが恒久的にページ位置を保存したいときに使われるのに対し、一時的*5 に保存したいときに使う。
謝辞
パスワード付き zipの展開に ひしだま氏の JavaライブラリからZipFile(hmzip16.jar)を Android上で動作するよう変更を加えた上で利用させていただきました。