ウィジェットを作っていて困った事があった。
4×4のフルサイズのウィジェットで、bitmapを動的に生成してRemoteViewsのsetImageViewBitmapで入れ替えるというプログラムを作っていたのだが、ログに「!!! FAILED BINDER TRANSACTION !!!」が出て期待通りに動かない。
ググってみたら、Intent時に容量が大きいデータを転送する時に発生するようです。
実験した結果、bitmap作成時にARGB_4444で4×3のサイズが限界でした。
ALPHA_8なら問題ないけど、モノクロで何をしろと言うのだ・・・(笑)
OSのバージョンで1.6と2.1で同じ症状だったんだけど、2.2でも起こるのだろうか?
次のバージョンアップでXperiaが2.2になる事はないと思うので、実験はしてないんだけどねー。
RGB_565を使ってアルファチャンネルを使わなければメモリ節減になると思うのだが、透過が使えなくなると色々と見た目がアレなんだよね。
何か他に方法は無い物か。

カテゴリ/タグ:私の記憶領域 /  ,    
コメント (0)

各種リソースを使用する時に、自動生成されるgenフォルダにあるR.javaより「R.yyyy.xxxx」と名前を直接指定してリソースのIDを取り出す事がほとんどだが、例えば複数個あるViewに同じ処理を使用とする時にこの方法は面倒な事になる。
言語によっては、Viewをグループ化して配列にするんて方法があると思うけど、Androidにはこの機能が付いているのだろうか?
とりあえず、私が知っている方法としては以下の方法がある。

1.コードに配列を作って、予めIDを入れておく。
int[] res_id = {R.yyyy.xxxx0 , R.yyyy.xxxx1 , R.yyyy.xxxx2};
2.ViewのIDに連番を付けて、getIdentifierを使ってリソースIDを取得する。
Resources res = getResources();   //Widgetの場合はcontext.getRssources();を使う。
int res_id;
for(int i = 0; i < 3; i++) {
    res_id = res.getIdentifier("xxxx" + i, "yyyy", getPackageName());
}

前者はViewが増えるとメモリが、後者は処理手順が増えるのかしら・・・。
他にも「R.class.getClasses()」を使うという方法もあるけど割愛しとく。
興味がある人はググるといい。

カテゴリ/タグ:私の記憶領域 /  , ,    
コメント (0)

綺麗に作ろうとすると手間がかかる。マオです。

良い感じにカレンダーウィジェットの開発が滞っています☆
細かい作業が多いのよ。
一つのマスに一杯部品が入ってるもんで、一箇所いじると全箇所一つずつ修正するという地獄の作業。
サイズとかのプロパティに関しては共有してるから一箇所で修正できるんだけど、個別に付けなきゃいけないプロパティは35箇所修正です><
で、見事にレイアウト的なバグが見つかって10月の6週必要な所で、6週目が表示されないというのを見つけてしまって+7個追加の42箇所修正。
しかも、デザイン的な部分でマスにさらに部品を詰め込む作業が(略)

ここからは言語的な話。
カレンダーなのでCalendarクラスを多用してるんですが、これを継承して祝日も対応したいんだよね。
所がCalendarクラスを継承すると、便利なメソッドも自力で実装しなきゃいけない。
そのままの君が好きなのにッ!(馬鹿)
これ出来れば微妙なソースコードが色々とスッキリするんだけどなー。
いつもスパゲティなコードになりがちなので、ここらで綺麗にすれば後が楽なんだろうけど・・・。

完成が遠いな(遠い目)

カテゴリ/タグ:月面開発室 /  , ,    
コメント (0)

何か楽しい。マオです。

Xperiaを買ってから10日経ったわけですが、すっかり生活の一部となって日本系携帯に戻る事はできなさそうです。
多分、Wi-Fiが自由に使えるからってのが大きい気がするな。
前の携帯ではフルブラウザ使うのを躊躇ってましたから。
居間でネットブック持ち出さなくてもサイトが見れるのは便利すぎます・・・。
基本的に3G回線は切ってるので、パケットの方は全く使ってません。
外でメールを見る時に付けるくらいか。
私の使い方だと、前の携帯と維持費はそんなに変わらないかもしれないな。

最近、androidの開発の勉強をしてまして、だんだん面白くなってきている所です。

画像は開発用エミュレーターですが、貼り付けてあるカレンダーウィジェットが今作っている物です。
ようやく形が出来てきたので、実機にも突っ込んだりしてます。
祝日も表示されるように作ってあって、上にあるボタンを押すと前月や来月の表示が・・・ボタンが小さすぎてちゃんと押すのが難しい><
今後、予定登録とか出来るようにする設計で作っているので、頑張って完成させたい所デスネー。
ってか、日付データを持ってくるロジックが気に入らないから、作り直したい・・・。

こんな感じでブログが書けないくらい楽しんでいます(言い訳)