android:development:memo
目次
雑記
dip、sp、pix
デザインのサイズ指定に使われるのが dip(dpも可)。
画面サイズ(解像度)に応じて表示する大きさが変わるので、どの解像度で見てもデザイン(イメージ)が崩れにくい。
フォントのサイズ指定に使われるのが sp。
dip同様、画面サイズとの比率でサイズ調整。
従来からあるpix。
固定サイズ指定になるので、画面サイズによる表示の違いを吸収できない。
非推奨。
デザイン周り
Android GUI PSD Vector Kit
http://www.smashingmagazine.com/2009/08/18/android-gui-psd-vector-kit/
デザインサンプル
http://www.androidpatterns.com/
rawQueryでバインド変数が使えない
~以下、2011年6月時点の話~
ドキュメントなどに従った記述であれば、バインド変数が使える。
ただし、実際にしてみると、記述によって以下のエラーが発生する
ERROR/AndroidRuntime(343): Caused by: android.database.sqlite.SQLiteException: bind or column index out of range: handle 0x23aa00
どうも、ミドルウェアのバグらしい・・・
http://code.google.com/p/android/issues/detail?id=3153
like に % がついているとNG
String data = intent.getStringExtra("keyword"); String TABLE_NAME = "MyTable"; String query = "SELECT * FROM " + TABLE_NAME + " WHERE Name like '%?%'"; Cursor cursor = db.rawQuery(query, new String[]{data});
like に % がついていないとOK
String data = intent.getStringExtra("keyword"); String TABLE_NAME = "MyTable"; String query = "SELECT * FROM " + TABLE_NAME + " WHERE Name like ?"; Cursor cursor = db.rawQuery(query, new String[]{data});
事前にバインド変数に%をつけるとOK
String data = intent.getStringExtra("keyword"); data = "%" + data + "%"; String TABLE_NAME = "MyTable"; String query = "SELECT * FROM " + TABLE_NAME + " WHERE Name like ?"; Cursor cursor = db.rawQuery(query, new String[]{data});
バインド変数を使わなければ当然OK
String data = intent.getStringExtra("keyword"); String TABLE_NAME = "MyTable"; String query = "SELECT * FROM " + TABLE_NAME + " WHERE Name like '%" + data + "%'"; Cursor cursor = db.rawQuery(query, null);
android/development/memo.txt · 最終更新: 2014/02/26 05:54 by clownclown