====== 雑記 ====== ===== 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);