Androidのアーキテクチャのコンポーネントは、SQLiteのAndroidのデータベースを処理するための最良のあるAndroidのルーム永続ライブラリを導入しました。 Entity in Room Persistenceはデータベーステーブルを表し、Daoはデータベース相互作用を定義する場所です。このテーブルの例
@Entity
public class Trail {
public @PrimaryKey String id;
public String name;
public double kilometers;
public int difficulty;
}
可能ダオは
@Dao
public interface TrailDao {
@Insert(onConflict = IGNORE)
void insertTrail(Trail trail);
@Query("SELECT * FROM Trail")
List<Trail> findAllTrails();
@Update(onConflict = REPLACE)
void updateTrail(Trail trail);
@Query("DELETE FROM Trail")
void deleteAll();
}
になりますさらに、あなたは
@Database(entities = {Trail.class}, version = 1)
public abstract class AppDatabase extends RoomDatabase {
private static AppDatabase INSTANCE;
public abstract TrailDao trailDao();
public static AppDatabase getInMemoryDatabase(Context context) {
if (INSTANCE == null) {
INSTANCE =
Room.inMemoryDatabaseBuilder(context.getApplicationContext(), AppDatabase.class)
.allowMainThreadQueries()
.build();
}
return INSTANCE;
}
public static void destroyInstance() {
INSTANCE = null;
}
}
例、RoomDatabase実装を提供する必要があります応答が何であるかを
AppDatabase. getInMemoryDatabase(context).trailDao().findAllTrails();
のようにそれを使用します挿入および更新後のコード –
@PrinceKumar戻り値の型はvoidです。 –
あなたのコードの戻り値の型に応じてvoid型をサポートしますが、戻り値が1の場合はデータが更新され、そうでない場合は更新されません –