- 2008-01-10 23:44
- android
電子ブックリーダー欲しいなぁ。
そうか、Androidで作ればいいんだ!
というノリで作りました。
せっかくなので、使った事の無いGridViewとかGarallyを使ってみました。
スクリーンキャストはこんな感じです。
- Mac OSX 10.5.1
- android_sdk_darwin_m3-rc37a
SDカードをセットしてemulatorを起動して下さい。
エミュレータにSDカードをセットする方法はコチラを参考にしてみて下さい。
というのも、/sdcard/comicというディレクトリ内にあるzipファイルを全て決め打ちで読みにいくからです。
例外処理が入ってないので、zip圧縮した内容にjpgやpng以外のファイルが含まれていると動かないかもしれません。
タッチ画面での横スクロールができない。
縦スクロールは簡単に動いてくれるのですが、なぜか横スクロールができない。
仕方ないので、代替案として矢印キーで横スクロールできるようにしました。
かなり不細工です…
どうすれば滑らかな縦スクロールのような横スクロールを実現できるんだろう?
別の代替案として、Webkitで画像表示しようかとも考えた。
現時点ですでに重いのにWebkitでさらに重くするのは精神的に耐えられなかったので断念。
あとは、拡大とか縮小したときの画像の表示位置。
きめ細かな部分の実装を適当にしてしまった。
習作なので…ゴニョゴニョ。という言い訳をしてみる。
とりあえずeclipseプロジェクトを公開しますので、興味のある方はご参考下さい。
ダウンロード
m5-rc14版は「Android用電子ブックリーダをm5-rc14に移植」をご覧下さい。
- Newer: Androidでブックリーダ 「ComicViewer2」
- Older: AndroidでTwitterクライアント ver.3
Comments:5
- 安藤恐竜 08-01-14 (月) 15:16
-
Zaurusで試してみました。ダメでした。ComicViewerがダメなのではなくて、SD Cardが読めないようなのです。
エミュレータで、mksdcardで作ったイメージをマウントすると、/sdcardにandroidというディレクトリが出来るのですが、cdしてもlsしても中身が見えないんです。
もちろん、実機のSD Cardにはそんなファイルはないですから、どうもそのあたりに小細工があるらしく。DRM関係かなぁとぼんやり考えてます。
ちょっと前にコレを試してみて気づきました。
http://www.helloandroid.com/node/134 - 安藤恐竜 08-01-14 (月) 16:51
-
あー。ちょっと間違い。今、確認したらZaurusのSD Cardにも
/sdcard/android/media.db
っぅのが出来てました。なんか変。ごにょごにょして動いたら、また記事書きます。あー。ついでに質問させていただいてよろしいでしょうか?ziplist = Filer.fileList(COMIC_DIR, “zip”);の中身、コンソールに表示したいんですけど、どーしたらいいんでしょ?forの中で println(ziplist[i]);すれば動くのかな。低次元な質問ですみません。Java触るの10年ぶりだったりするもので。(冷や汗)
- adamrocker 08-01-15 (火) 0:39
-
おっと!コミックビューアまで試していただいてるんですか?
すごく嬉しいです。アザーッス!
でも、Zaurusだとうまくいかないかもしれません。
その理由は、ビューアのページめくりがタッチスクリーン上でしか出来ないためです。
(ZaurusのタッチスクリーンってAndroidで正常に動作してませんでしたよね?)
十字キーは、表示している画像を動かすのに使う仕様にしてしまっています。今回は特急で作ってしまったので、SDカードの有無すらエラー表示していないかも…
そこらへんも含めて、いろんな点で品質に問題ありです。スミマセン(汗)コンソール表示ですが、これはエミュレータの話ですよね?
調べた限りではAndroidのエミュレータでコンソール表示はサポートされていないようです。
私の場合、対応策は2つです。
1.デバッガでブレークポイントを仕掛ける。←いつもこれです
2.Log表示する。
いずれも、eclipseと付属のデバッガDDMSのどちらでも実現できます。eclipseで2をやる場合を参考に記しておきます。
i) ログ用コンソールを表示する
Window→Show View→Other→Android→LogCat
ii) Android付属のロギングAPIを使う。
例えばLog.i(TAG, MSG);今回の場合はこんな感じにしてみました。
ziplist = Filer.fileList(COMIC_DIR, “.zip”);
for (int i = 0; i < ziplist.length; i++) {
Log.i(”COMIC”, ziplist[i]);
}参考になれば幸いです。
また、別のAndroidアプリを作ってみますので、良ければZaurusで試して下さい。
かなり楽しみにしています。多謝。 - 安藤恐竜 08-01-15 (火) 8:14
-
低次元な質問に丁寧にお答えいただき、恐縮です。
今日はちといじってる時間がとれなさげなので、明日以降にごにょごにょしてみます。
ありがとうございました。
- adamrocker 08-01-16 (水) 23:27
-
いえいえ。私も勉強になります。
Zaurusを意識してComicViewerをアップデートしました。
ご参考になればと。
http://www.adamrocker.com/blog/177/comic_viewer2_for_android.html
Trackbacks:0
- Trackback URL for this entry
- http://www.adamrocker.com/blog/176/android_comic_viewer.html/trackback/
- Listed below are links to weblogs that reference
- Android用Comic Viewer from throw Life
