2013年3月1日金曜日

アンドロイドは嫌い嫌い嫌い嫌い大っ嫌い

1)ステータスバーを除外したViewFrameを取る場合、
  Viewのサイズが決定してからじゃないと無理。

2)Android3.*以降は基本MTP/PTPのUSB接続(マスストレージがダメ)なので、
アプリからファイルを書き出す場合。

・SDパスには書けるけど、MTPだと見れない。DDMSでは見れる。
・アプリケーションの/data/data/パッケージ名/files/は書けるけど、
 MTPでもDDMSでも見れない。

ログはSDパスに吐いて、SDパスカード引っこ抜けと。
Nexus7みたいなエミュレートSDだとDDMSで抜くしかない。

iOSより簡単と見せかけて面倒だった。


3)今回は商用スペックで作ってるので、画面はお見せできないですが、
ログはきっちり作ってたり。

Log.dやらvやらwやら鬱陶しいので、

ログ出力とLog.*を一緒に出せる仕組みを作成。
関数名も出そうと思ったけど、関数名マクロみたいなもんがない。


StackTraceElement[] ste = Thread.currentThread().getStackTrace();
ste[3].getMethodName();
ste[3].getLineNumber();

こんなかんじでスタックトレースが動的に取れるので、
0と1がフレームワーク、2がログ関数、3が呼び出し元になるっぽい。
(実際は配列範囲チェックとかしてるけど割愛)
3番の関数名と行番号とってログに。

とりあえずログ機構とか含めてなんとか1週間ちょいで完成。





0 件のコメント:

コメントを投稿