これは私のデータベースです:
@Database(name = GamersDatabase.NAME, version = GamersDatabase.version)
public class GamersDatabase {
public static final String NAME = "and_roid";
public static final int version = 1;
}
これが私のテーブルです:
@Table(database = GamersDatabase.class)
public class Gamers extends BaseModel{
@PrimaryKey(autoincrement = true)
int id;
@Column@NotNull
String name;
}
これは、うまく機能する私の挿入ステートメントです (以下の select ステートメントが正しいリスト サイズを返すため)。
TransactionManager.getInstance().addTransaction(new SaveModelTransaction<>(ProcessModelInfo.withModels()));
//insert
SQLite.insert(Gamers.class).columns(Gamers_Table.name.getDefinition() ).values("ali").execute();
これは私のselect文です:
List<Gamers> w = SQLite.select().from(Gamers.class).where(Gamers_Table.fName.eq("ali")).queryList();
for (Gamers o : w) {
// The problem is this part that I can't get gamer's name
Toast.makeText(MainActivity.this, ""+o.toString(), Toast.LENGTH_SHORT).show();
}
DBFlow がORM
システムの場合、オブジェクトを取得して、通常のsqlite
cursor
方法でゲーマー オブジェクトとして動作させるにはどうすればよいでしょうか? 質問が明確でない場合は、コメントを追加する必要があります。
昔ながらのデータベース手法では、次SQLite
のようなクエリを使用します。
Cursor c = db.getRawQuery("select * from tbl_gamers" , null);
if(c.moveToFirst()){
// fill object
}
次に、塗りつぶされたオブジェクトを使用します。DBFlow で取得したオブジェクトのフィールド (name
や などid
) にアクセスするにはどうすればよいですか?