以下のコード スニペットを確認してください。は、別のまたはデータを含むを返しますgetTableContents
。内側のリストは、テーブルの各タプル/行の内容です。メソッドには、データ型をチェックし、必要に応じて変換する実際のソースが含まれています。ArrayList
ArrayList
String
String
getAsString
String
public ArrayList<ArrayList<String>> getTableContents(String inStrQuery, String[] selectionArgs){
ArrayList<ArrayList<String>> rows = new ArrayList<ArrayList<String>>();
//Check database and open if required
if(null == database){
open();
}
Cursor cursor = database.rawQuery(inStrQuery, selectionArgs);
try {
cursor.moveToFirst();
while(!cursor.isAfterLast()){
ArrayList<String> row = new ArrayList<String>();
int columnCount = cursor.getColumnCount();
for(int c=0; c< columnCount; c++){
row.add(getAsString(cursor, c));
}
rows.add(row);
cursor.moveToNext();
}
}finally{
cursor.close();
}
return rows;
}
public static String getAsString(Cursor cursor, int colIndex){
String retVal = null;
if(null != cursor){
switch(cursor.getType(colIndex)){
case Cursor.FIELD_TYPE_INTEGER:
retVal = String.valueOf(cursor.getInt(colIndex));
break;
case Cursor.FIELD_TYPE_BLOB:
retVal = String.valueOf(cursor.getBlob(colIndex));
break;
case Cursor.FIELD_TYPE_FLOAT:
retVal = String.valueOf(cursor.getFloat(colIndex));
break;
case Cursor.FIELD_TYPE_NULL:
retVal = String.valueOf(null);
break;
case Cursor.FIELD_TYPE_STRING:
retVal = cursor.getString(colIndex);
break;
}
}
return retVal;
}