以下は、アプリケーション名(KEY_NAME)、application_category(KEY_CATEGORY)、およびapplication_permissions(KEY_PERM)の詳細を取得するために試しているコードです。
しかし、本当に必要なのは、アプリケーション名とカテゴリを使用して、アクセス許可の数(カウント)を表示することです。リストビューに表示するにはどうすればよいですか。
ハンドラ
public Cursor queueAll() {
String[] columns = new String[] { KEY_ID, KEY_NAME, KEY_CATEGORY,
"count" + KEY_PERM };
Cursor cursor = sqlitedb.query(MYDATABASE_TABLE, columns, null, null,
KEY_NAME, null, null);
return cursor;
}
主な活動
mySQLiteAdapter = new Handle(this);
mySQLiteAdapter.openToWrite();
cursor = mySQLiteAdapter.queueAll();
String[] from = new String[] { Handle.KEY_NAME, Handle.KEY_PERM,
Handle.KEY_CATEGORY };
int[] to = new int[] { R.id.appname, R.id.numbpermcount, R.id.category };
cursorAdapter = new SimpleCursorAdapter(this,
R.layout.activity_main_row, cursor, from, to);
listContent.setAdapter(cursorAdapter);
前もって感謝します。
このままやり直してみました。
ハンドラ
public static final String KEY_ID = "_id";
public static final String KEY_NAME = "application_name";
public static final String KEY_PACK = "application_package";
public static final String KEY_PERM = "application_permission";
public static final String KEY_LEVEL = "application_level";
public static final String KEY_CATEGORY = "application_category";
public Cursor queueAll() {
String[] columns = new String[] { KEY_ID, KEY_NAME, KEY_CATEGORY,
"count(" + KEY_PERM +")" };
Cursor cursor = sqlitedb.query(MYDATABASE_TABLE, columns, null, null,
KEY_NAME, null, null);
return cursor;
}
主な活動
上記と同じです...
エラー
02-19 22:51:04.049: E/AndroidRuntime(1192): java.lang.RuntimeException: Unable to start activity ComponentInfo{db.database/db.database.MainActivity}: java.lang.IllegalArgumentException: column 'application_permission' does not exist