android

android-plugin で useProguard := true でなければならない理由

なんてことはない、普通にこの問題のためでした。しかし useProguard := false な時に dx で失敗するのでなく、実行時に ClassNotFound になる理由はこの行が原因でした。これはあんまりだよ!予め ProGuard で android 用に shrink しておいた scala-librar…

既存の Android プロジェクトに sbt + android-plugin で scala コードを追加する

java で Android アプリケーションを書くのが嫌になりました。矢張り java より scala でしょう。一から作る場合は giter8 で適当にやれば、特に問題なくできるわけですが、既存のプロジェクトに scala コードを追加する場合、どうやればいいかよく分からな…

android 2.2 で Calendar#setTimeZone が使えない問題と workaround

android 2.2 まで Calendar#setTimeZone メソッドや、Calendar.getInstance メソッドの引数による TimeZone の指定が正しく動作しないという問題がありました。http://code.google.com/p/android/issues/detail?id=6184より詳細には、何かしらの TimeZone を…

Bitmap を SoftReference で管理すべきではない

追記:3.0 より Bitmap はネイティブヒープを利用しなくなりました。キャッシュは 3.1 以降なら LruCache を使えば大体問題ないと思います。手が痛いので、簡単に。一年以上前の記事ですが、CacheオブジェクトにはSoftReferenceをとか、最近だと、WeakHashMa…

AlertDialog.setMessage の罠

例えば、メッセージ毎に AlertDialog を生成するのは無駄なので、prepare で適宜メッセージを差し替える、というようなコードを書くことがあると思います。 private Dialog createAlertDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(th…

HandlerThread

適当にループまわして適当にディスパッチされたタスクを適当に処理したい、みたいな時は HandlerThread クラスを使いましょう。そんなに難しいクラスではなくて、基本的には、 @Override public void run() { Looper.prepare(); Looper.loop(); } みたいなも…

SH-03C(LYNX 3D) のマルチタッチ時のバグ

はまってしまいました。端末情報は↓ ファームウェアバージョン 2.1-update1 ベースバンドバージョン 1.00 カーネルバージョン 2.6.29-perf build@Sharp #1 ビルド番号 01.00.03 基本的には問題ないようなのですが、ID が 0 の(つまり一番最初にタッチされた…

scala で android アプリケーションを作ってみる

scala はあまり知らないんですが、ちらと遊んでみました。

android でテスト用データを用意し利用する

比較的どうでもいい系の情報ですが Web で日本語になってないぽいので、一応書いておきます。android のテストを記述する際に、テスト用データをどうやって用意すべきか、というのがあるわけですが、単純にテストプロジェクトでも assets ディレクトリに配置…