groovy dependencies { // Room Database implementation 'androidx.room:room-runtime:2.4.0' annotationProcessor 'androidx.room:room-compiler:2.4.0' } @Entity(tableName = "books") public class Book { @PrimaryKey(autoGenerate = true) private int id; @ColumnInfo(name = "title") private String title; @ColumnInfo(name = "author") private String author; // Getters and setters // ... } @Dao public interface BookDao { @Insert void insert(Book book); @Update void update(Book book); @Delete void delete(Book book); @Query("SELECT * FROM books") List<Book> getAllBooks(); } @Database(entities = {Book.class}, version = 1) public abstract class BookDatabase extends RoomDatabase { public abstract BookDao bookDao(); private static BookDatabase instance; public static synchronized BookDatabase getInstance(Context context) { if (instance == null) { instance = Room.databaseBuilder(context.getApplicationContext(), BookDatabase.class, "book_database") .fallbackToDestructiveMigration() .build(); } return instance; } } public class MainActivity extends AppCompatActivity { private BookDao bookDao; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); BookDatabase bookDatabase = BookDatabase.getInstance(this); bookDao = bookDatabase.bookDao(); Book newBook = new Book(); newBook.setTitle("Android Programming"); newBook.setAuthor("John Smith"); bookDao.insert(newBook); List<Book> allBooks = bookDao.getAllBooks(); for (Book book : allBooks) { Log.d("Book", "Title: " + book.getTitle() + ", Author: " + book.getAuthor()); } } }


上一篇:
下一篇:
切换中文