ImageView imageView = (ImageView) row.findViewById(R.id.imageView); String imageName = "imageSampleName.jpg"; //ファイル名と拡張子を分割 String[] stArrayData = imageName.split("\\."); //リソースの取得 int id = getResources().getIdentifier(stArrayData[0], "drawable", getPackageName()); if (id != 0) { //画像をセットする imageView.setImageResource(id); }
2012年8月23日木曜日
[AndroidSDK]文字列からdrawableなどのリソースを取得する
R.drawable.myImageなど毎回ハードコーディングしない方法
2012年8月21日火曜日
[AndroidSDK]at dalvik.system.NativeStart.main(Native Method)
Cursor cursor = null; String query = "SELECT text1, text2, text3, FROM entity WHERE number_02 = 1 ORDER BY number_01 ASC"; cursor = db.rawQuery(query, null);SQLiteのqueryを発行後に以下のエラーが発生した
08-21 10:32:42.262: W/dalvikvm(15823): threadid=1: thread exiting with uncaught exception (group=0x40015590) 08-21 10:32:42.272: I/dalvikvm(15823): DALVIK THREADS: 08-21 10:32:42.272: I/dalvikvm(15823): (mutexes: tll=0 tsl=0 tscl=0 ghl=0 hwl=0 hwll=0) 08-21 10:32:42.272: I/dalvikvm(15823): "main" prio=5 tid=1 RUNNABLE 08-21 10:32:42.272: I/dalvikvm(15823): | group="main" sCount=0 dsCount=0 obj=0x4001f278 self=0xcf88 08-21 10:32:42.272: I/dalvikvm(15823): | sysTid=15823 nice=0 sched=0/0 cgrp=default handle=-1345006432 08-21 10:32:42.272: I/dalvikvm(15823): at dalvik.system.NativeStart.main(Native Method) 08-21 10:32:42.272: I/dalvikvm(15823): "Binder Thread #2" prio=5 tid=8 NATIVE 08-21 10:32:42.272: I/dalvikvm(15823): | group="main" sCount=0 dsCount=0 obj=0x40517358 self=0x206658 08-21 10:32:42.272: I/dalvikvm(15823): | sysTid=15830 nice=0 sched=0/0 cgrp=default handle=2127016 08-21 10:32:42.272: I/dalvikvm(15823): at dalvik.system.NativeStart.run(Native Method) 08-21 10:32:42.272: I/dalvikvm(15823): "Binder Thread #1" prio=5 tid=7 NATIVE 08-21 10:32:42.272: I/dalvikvm(15823): | group="main" sCount=0 dsCount=0 obj=0x40511ba0 self=0x207108 08-21 10:32:42.272: I/dalvikvm(15823): | sysTid=15829 nice=0 sched=0/0 cgrp=default handle=1196992 08-21 10:32:42.272: I/dalvikvm(15823): at dalvik.system.NativeStart.run(Native Method) 08-21 10:32:42.272: I/dalvikvm(15823): "Compiler" daemon prio=5 tid=6 VMWAIT 08-21 10:32:42.272: I/dalvikvm(15823): | group="system" sCount=0 dsCount=0 obj=0x4050dc80 self=0x1241a0 08-21 10:32:42.272: I/dalvikvm(15823): | sysTid=15828 nice=0 sched=0/0 cgrp=default handle=1196384 08-21 10:32:42.272: I/dalvikvm(15823): at dalvik.system.NativeStart.run(Native Method) 08-21 10:32:42.272: I/dalvikvm(15823): "JDWP" daemon prio=5 tid=5 VMWAIT 08-21 10:32:42.272: I/dalvikvm(15823): | group="system" sCount=0 dsCount=0 obj=0x4050dbd0 self=0x1246a8 08-21 10:32:42.272: I/dalvikvm(15823): | sysTid=15827 nice=0 sched=0/0 cgrp=default handle=571032 08-21 10:32:42.272: I/dalvikvm(15823): at dalvik.system.NativeStart.run(Native Method) 08-21 10:32:42.272: I/dalvikvm(15823): "Signal Catcher" daemon prio=5 tid=4 VMWAIT 08-21 10:32:42.272: I/dalvikvm(15823): | group="system" sCount=0 dsCount=0 obj=0x4050db10 self=0x1244b8 08-21 10:32:42.272: I/dalvikvm(15823): | sysTid=15826 nice=0 sched=0/0 cgrp=default handle=1512472 08-21 10:32:42.272: I/dalvikvm(15823): at dalvik.system.NativeStart.run(Native Method) 08-21 10:32:42.272: I/dalvikvm(15823): "GC" daemon prio=5 tid=3 VMWAIT 08-21 10:32:42.272: I/dalvikvm(15823): | group="system" sCount=0 dsCount=0 obj=0x4050da68 self=0x205920 08-21 10:32:42.272: I/dalvikvm(15823): | sysTid=15825 nice=0 sched=0/0 cgrp=default handle=1512408 08-21 10:32:42.272: I/dalvikvm(15823): at dalvik.system.NativeStart.run(Native Method) 08-21 10:32:42.272: I/dalvikvm(15823): "HeapWorker" daemon prio=5 tid=2 VMWAIT 08-21 10:32:42.272: I/dalvikvm(15823): | group="system" sCount=0 dsCount=0 obj=0x4050d9b0 self=0x8b4d8 08-21 10:32:42.272: I/dalvikvm(15823): | sysTid=15824 nice=0 sched=0/0 cgrp=default handle=1512344 08-21 10:32:42.272: I/dalvikvm(15823): at dalvik.system.NativeStart.run(Native Method)
理由は String query = "SELECT text1, text2, text3(","が不必要) FROM entity WHERE number_02 = 1 ORDER BY number_01 ASC";
なんつうエラーを出すんだよ
2012年8月17日金曜日
[AndroidSDK]android.database.sqlite.SQLiteDiskIOException: disk I/O error
SQLiteOpenHelper.getReadableDatabaseで以下のエラーが発生した。
Caused by: android.database.sqlite.SQLiteDiskIOException: disk I/O error
at android.database.sqlite.SQLiteDatabase.dbopen(Native Method)
at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1849)
at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:820)
at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:197)
at com.myapp.util.PackageDBHelper.createDataBase(PackageDBHelper.java:51)
解決方法
DBのの保存先を変更する
data/data/YOUR_PACKAGE/databases/”;
↓
Environment.getDataDirectory() + “/data/YOUR_PACKAGE/databases/”;
参考URL
2012年8月15日水曜日
[AndroidSDK]"Conversion to Dalvik format failed with error 1" の解決策
原因不明、いろいろ試してみた
・プロジェクトのクリーン
Eclipseの-clean
プロジェクトのAndroidツール⇒「プロジェクト・プロパティを修正」
Build Pathの順序変更、エクスポートのチェック見直し
・Androidのバージョン変更
プロジェクトのプロパティからアンドロイドのバージョンを変更、クリーン、ビルド、元のバージョンに戻す
・binとgen削除
各プロジェクトリのbinとgenディレクトリ内のファイルをすべて削除
むしろbin genごと削除
・.classpathを削除
・proguardの更新
・インポートのやり直し
なぜかこれで直った
登録:
投稿 (Atom)