sqlite データベースの関数のカーソルから配列を取得しました。他のページからデータを取り込みやすくするために、配列に複数の項目を追加したいと考えています。つまり、mArray("ID"), mArray("Name") を実行したい (関数の配列からリストビューを作成し、ID から名前に簡単にアクセスできるようにしたい)
配列にIDのみを保存する現時点での私のコードは次のとおりです。
public static Array GetRooms(String StationID) {
File dbfile = new File(Global.currentDBfull);
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbfile, null);
Cursor c = db.rawQuery("select * from StationObjects where ObjectID = 0 and StationID = " + StationID , null);
c.moveToFirst();
Log.e("TomDebug", c.getString(c.getColumnIndex("SubGroupName")));
ArrayList<String> mArrayList = new ArrayList<String>();
c.moveToFirst();
while(!c.isAfterLast()) {
mArrayList.add(c.getString(c.getColumnIndex("SubGroupName")));
c.moveToNext();
}
return null;
}
編集:少し明確にするために。
疑似コードでは、次のことができるようにしたいと思います:
while(!c.isAfterLast()) {
mArrayList.name.add(c.getString(c.getColumnIndex("Name")));
mArrayList.type.add(c.getString(c.getColumnIndex("Type")));
mArrayList.ID.add(c.getString(c.getColumnIndex("ID")));
c.moveToNext();
}
コードのどこでもできるように
Array curRooms = GetRooms("1234")
String name = curRooms.Name
String type = curRooms.Type
(私は、配列と文字列の混合がそこでは機能しないことを知っていますが、単なる例です)