Panduan Permulaan untuk Perpustakaan Kegigihan Bilik

Bukan tugas yang sukar bagi pembangun Android untuk menukar data mentah menjadi pangkalan data berstruktur untuk penyimpanan dalaman. Ini dilakukan dengan menggunakan bahasa yang paling dipercayai - SQL. Perpustakaan teras SQLite terbina dalam dalam OS Android. Ia akan mengendalikan operasi CRUD (Buat, Baca, Kemas kini dan Padam) yang diperlukan untuk pangkalan data. Kelas Java dan antara muka untuk SQLite disediakan oleh android.database. SQLite mengekalkan sistem pengurusan pangkalan data yang berkesan. Tetapi kaedah konvensional ini mempunyai kekurangannya sendiri.

  • Anda harus menulis kod berulang yang panjang, yang akan memakan masa serta terdedah kepada kesilapan.
  • Sangat sukar untuk menguruskan pertanyaan SQL untuk pangkalan data hubungan yang kompleks.

Untuk mengatasinya, Google telah memperkenalkan Room Persistence Library. Ini bertindak sebagai lapisan abstraksi untuk API SQLite yang ada. Semua pakej, parameter, kaedah, dan pemboleh ubah yang diperlukan diimport ke dalam proyek Android dengan menggunakan anotasi sederhana.

Mari kita lihat bagaimana melaksanakannya dengan contoh.

1. Tambahkan kebergantungan gradle dalam fail build.gradle.

implementation “android.arch.persistence.room:runtime:1.0.0”annotationProcessor “android.arch.persistence.room:compiler:1.0.0”

2. Buat kelas model data untuk jadual pangkalan data dan terangkan nama jadual dan kunci utama.

@Entity public class Movies { @NonNull @PrimaryKey private String movieId; private String movieName; public Movies() { } public String getMovieId() { return movieId; } public void setMovieId(String movieId) { this.movieId = movieId; } public String getMovieName() { return movieName; } public void setMovieName (String movieName) { this.movieName = movieName; } }

3. Buat kelas antara muka untuk akses Pangkalan Data. Buat kaedah abstrak untuk operasi CRUD. Tambahkan pertanyaan SQL khusus sebagai kaedah.

@Dao public interface DaoAccess { @Insert void insertOnlySingleMovie (Movies movies); @Insert void insertMultipleMovies (List moviesList); @Query (“SELECT * FROM Movies WHERE movieId = :movieId“) Movies fetchOneMoviesbyMovieId (int movieId); @Update void updateMovie (Movies movies); @Delete void deleteMovie (Movies movies); }

4. Buat kelas Pangkalan Data untuk pelaksanaan pangkalan data.

@Database (entities = {Movies.class}, version = 1, exportSchema = false) public abstract class MovieDatabase extends RoomDatabase { public abstract DaoAccess daoAccess() ; }

5.Menyatakan dan menginisialisasi objek untuk kelas Pangkalan Data di kelas Aktiviti atau Fragmen anda.

private static final String DATABASE_NAME = “movies_db”; private MovieDatabase movieDatabase; movieDatabase = Room.databaseBuilder(getApplicationContext(), MovieDatabase.class, DATABASE_NAME) .fallbackToDesctructiveMigration() .build();

Langkah awal dilakukan. Dengan menggunakan objek pangkalan data, anda dapat melakukan semua fungsi untuk pengurusan pangkalan data.

Contoh Masukkan kod:

new Thread(new Runnable() { @Override public void run() { Movies movie =new Movies(); movie.setMovieId( “2”); movie.setMovieName(“The Prestige”); movieDatabase.daoAccess () . insertOnlySingleMovie (movie); } }) .start();

Sentiasa gunakan Thread, AsyncTask, atau benang pekerja untuk melakukan operasi pangkalan data.

Untuk maklumat lebih lanjut, sila lihat:

//developer.android.com/training/data-storage/room/index.html

Alami pengekodan yang lancar sekarang kerana ada BILIK untuk penambahbaikan!

Asalnya diterbitkan di thinkpalm.com.