Mengapa Contract Class Sangat Penting? (Database Android Studio)

Mengapa Contract Class Sangat Penting? Bagaimana dan Mengapa Contract Class Sangat Penting? Apa saja isi dari contract class?

Membuat sebuah database di aplikasi Android perlu beberapa persiapan. Salah satunya adalah Contract class. Contract class adalah kelas yang memudahkan kita pada saat kita membuat dan memanajemen database SQLite di Android Studio. Ada tiga manfaat dan alasan mengapa kita menggunakan contract class saat membuat aplikasi dengan SQLite database. Yaitu, pertama contract class dapat menjadi tempat untuk semua variabel konstan yang berhubungan dengan database. Misalnya nama tabel dan nama kolom database. Kedua, contract class menghindari penulisan typo pada nama tabel dan nama kolom database. Ketiga memudahkan kita pada saat kita ingin upgrade database. Jika ada suatu perubahan, kamu hanya perlu mengubah di contract class tanpa harus mengubah di kelas – kelas lainnya yang menggunakan database.

Baca juga :
Apa Saja Yang Bisa Dibuat dengan Bahasa C++?
Asal Mula Git Version Control System

Sebelum membuat database di aplikasi Android yang akan kita buat, kita harus membuat schema databasenya terlebih dahulu. Hal ini penting agar kamu tidak kesusahan pada saat membuat database. Bagaimanapun perencanaan sangat mendukung keberhasilan. Setelah itu, schema dapat kamu taruh dan susun di contract class. Biasanya schema yang pertama dibuat adalah queri yang membuat tabel pada database.  Setelah itu baru tulis queri untuk menghapus tabel.

Apa saja isi dari contract class? Di contract class banyak sekali variabel konstan yang berhubungan dengan SQLite database dan tentunya akan dipakai oleh database. Contract class terdiri dari class – class yang mengimplementasikan BaseColumn. Class – class yang mengimplementasikan BaseColumn bisa kita sebut class entry yang mana class – class ini berisi nama tabel dan kolom pada tabel. Satu Entry class hanya untuk satu tabel, berarti jika kita memiliki 3 tabel maka harus memiliki tiga entry class berbeda didalam contract class. Seperti yang dibahas di paragraph kedua, contract class juga bisa diisi dengan queri database untuk membuat tabel, menghapus tabel, maupun untuk mengupgrade tabel. Contract class juga bisa variabel konstan URI.

Berikut ini contoh contract class untuk database aplikasi inventory :

Pada kode diatas, kita memiliki satu entry class yang mengimplementasikan interface bawaan Android Studio yaitu BaseColumn. Berarti kita hanya memiliki satu tabel saja. Pasti kamu bertanya – tanya “kenapa kita harus mengimplementasikan interface BaseColumn pada entry class?”. Kita membutuhkan _ID yang unik untuk setiap baris data di dalam database. Dengan menggunakan BaseColumn._ID, nilai pada ID akan selalu unik dan tidak sama. Tentunya kita juga harus menambahkan  AUTO_INCREMENT pada query membuat tabel di bagian kolom _ID setelah tipe data dari kolom _ID. Didalam interface BaseColumn, terdapat dua method yaitu _ID dan _COUNT. Seperti yang kita lihat pada kode diatas, kita menggunakan BaseColumn._ID didalam ProductEntry class sehingga ProductEntry class yang kita gunakan harus mengimplementasikan BaseColumn. Biasanya BaseColumn digunakan karena sebuah aplikasi yang menggunakan SQLite database akan menggunakan Provider.

Kemudian didalam ProductEntry class kita memiliki enam buah variabel konstan yaitu satu untuk nama tabel dan lima untuk kolom _ID, COLUMN_NAME, COLUMN_PRICE, COLUMN_QUANTITY, COLUMN_SUPPLIER_CONTACT.  Dibawah ProductEntry class terdapat tiga buah variabel konstan dengan access modifier private yang mana nanti akan berguna pada saat kita membuat queri database. Tiga variabel tersebut adalah TEXT_TYPE, COMMA_SEP, NOT_NULL.  Selanjutnya ada dua buah variabel konstan dengan access modifier public. Dua variabel inilah yang kita gunakan untuk menampung queri – queri kita. Variabel SQL_CREATE_ENTRIES  adalah variabel yang kita gunakan untuk menampung queri membuat tabel. Sedangkan SQL_DELETE_ENTRIES kita gunakan untuk menghapus tabel. Bisa dilihat bahwa kedua queri tersebut memanfaatkan variabel TEXT_TYPE, COMMA_SEP, dan NOT_NULL. Tiga variabel tersebut dibuat agar kita tidak mengulangi hal yang sama di beberapa tempat. Cukup ditulis disatu tempat saja lalu bisa digunakan dibeberapa tempat yang lingkupnya masih dalam Contract Class.

Baca juga : 50 Macam Perangkat Komputer Beserta Fungsinya

Sekian, terimakasih, dan semoga bermanfaatJ