Cara Membaca Data Dari SQLite Dan Menampilkannya Di RecyclerView

Diposting oleh Chandra pada Android & Db

Dalam pengembangan aplikasi Android, memanfaatkan database SQLite untuk menyimpan data adalah hal yang umum dilakukan. Namun, menampilkan data dari database SQLite ke dalam antarmuka pengguna (UI) aplikasi dapat menjadi tantangan tersendiri. Pada artikel ini, kita akan membahas cara membaca data dari SQLite dan menampilkannya di RecyclerView.

Mengapa Menggunakan RecyclerView?

RecyclerView adalah komponen UI yang digunakan untuk menampilkan daftar item dalam aplikasi Android. Berbeda dengan ListView, RecyclerView memiliki fitur yang lebih canggih, seperti pengelolaan memori yang lebih baik, penggunaan layout yang fleksibel, dan kemampuan untuk mengupdate item secara dinamis.

Mengapa Menggunakan SQLite?

SQLite adalah sistem manajemen basis data yang ringan dan fleksibel yang dapat digunakan dalam aplikasi Android. SQLite memungkinkan kita untuk menyimpan data dalam format tabel yang dapat diakses dengan mudah menggunakan perintah SQL.

Membuat Database SQLite

Sebelum membaca data dari SQLite, kita perlu membuat database SQLite terlebih dahulu. Berikut adalah contoh kode untuk membuat database SQLite:

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;Cara Membaca Data dari SQLite dan Menampilkannya di RecyclerView

public class DatabaseHelper extends SQLiteOpenHelper 

    private static final String DATABASE_NAME = "data.db";
    private static final int DATABASE_VERSION = 1;Cara Membaca Data dari SQLite dan Menampilkannya di RecyclerView

    public DatabaseHelper(Context context) 
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    
Cara Membaca Data dari SQLite dan Menampilkannya di RecyclerView
    @Override
    public void onCreate(SQLiteDatabase db) 
        db.execSQL("CREATE TABLE IF NOT EXISTS data (_id INTEGER PRIMARY KEY, nama TEXT, alamat TEXT)");
    

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 
        db.execSQL("DROP TABLE IF EXISTS data");
        onCreate(db);
    

Pada kode di atas, kita membuat kelas DatabaseHelper yang extends SQLiteOpenHelper. Pada metode onCreate, kita membuat tabel dengan nama "data" yang memiliki tiga kolom: _id, nama, dan alamat.

Membaca Data dari SQLite

Sekarang, kita perlu membuat metode untuk membaca data dari database SQLite. Berikut adalah contoh kode:

import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

public class DataDAO 

    private DatabaseHelper dbHelper;

    public DataDAO(Context context) 
        dbHelper = new DatabaseHelper(context);
    

    public List<Data> getAllData() 
        List<Data> dataList = new ArrayList<>();
        SQLiteDatabase db = dbHelper.getWritableDatabase();

        Cursor cursor = db.rawQuery("SELECT * FROM data", null);

        while (cursor.moveToNext()) 
            Data data = new Data();
            data.setId(cursor.getInt(0));
            data.setNama(cursor.getString(1));
            data.setAlamat(cursor.getString(2));

            dataList.add(data);
        

        cursor.close();
        db.close();

        return dataList;
    

Pada kode di atas, kita membuat kelas DataDAO yang memiliki metode getAllData. Pada metode ini, kita membaca data dari tabel "data" menggunakan perintah SQL. Kemudian, kita membuat objek Data untuk setiap baris data dan menambahkannya ke dalam list.

Membuat Model Data

Sebelum menampilkan data di RecyclerView, kita perlu membuat model data yang akan digunakan. Berikut adalah contoh kode:

public class Data 

    private int id;
    private String nama;
    private String alamat;

    // getters dan setters
    public int getId() 
        return id;
    

    public void setId(int id) 
        this.id = id;
    

    public String getNama() 
        return nama;
    

    public void setNama(String nama) 
        this.nama = nama;
    

    public String getAlamat() 
        return alamat;
    

    public void setAlamat(String alamat) 
        this.alamat = alamat;
    

Pada kode di atas, kita membuat kelas Data yang memiliki tiga properti: id, nama, dan alamat.

Membuat Adapter RecyclerView

Sekarang, kita perlu membuat adapter RecyclerView yang akan digunakan untuk menampilkan data di RecyclerView. Berikut adalah contoh kode:

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import androidx.recyclerview.widget.RecyclerView;

import java.util.List;

public class DataAdapter extends RecyclerView.Adapter<DataAdapter.ViewHolder> 

    private List<Data> dataList;
    private Context context;

    public DataAdapter(List<Data> dataList, Context context) 
        this.dataList = dataList;
        this.context = context;
    

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) 
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_data, parent, false);
        return new ViewHolder(view);
    

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) 
        Data data = dataList.get(position);
        holder.txtNama.setText(data.getNama());
        holder.txtAlamat.setText(data.getAlamat());
    

    @Override
    public int getItemCount() 
        return dataList.size();
    

    public class ViewHolder extends RecyclerView.ViewHolder 
        public TextView txtNama, txtAlamat;

        public ViewHolder(View itemView) 
            super(itemView);
            txtNama = itemView.findViewById(R.id.txt_nama);
            txtAlamat = itemView.findViewById(R.id.txt_alamat);
        
    

Pada kode di atas, kita membuat kelas DataAdapter yang extends RecyclerView.Adapter. Pada metode onBindViewHolder, kita menampilkan data ke dalam RecyclerView.

Menampilkan Data di RecyclerView

Sekarang, kita perlu menampilkan data di RecyclerView. Berikut adalah contoh kode:

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

public class MainActivity extends AppCompatActivity 

    private RecyclerView recyclerView;
    private DataAdapter adapter;
    private List<Data> dataList;

    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        recyclerView = findViewById(R.id.recycler_view);
        recyclerView.setLayoutManager(new LinearLayoutManager(this));

        DataDAO dataDAO = new DataDAO(this);
        dataList = dataDAO.getAllData();

        adapter = new DataAdapter(dataList, this);
        recyclerView.setAdapter(adapter);
    

Pada kode di atas, kita membuat kelas MainActivity yang memiliki RecyclerView. Pada metode onCreate, kita menampilkan data di RecyclerView menggunakan adapter.

Kesimpulan

Pada artikel ini, kita telah membahas cara membaca data dari SQLite dan menampilkannya di RecyclerView. Kita telah membuat database SQLite, membaca data dari database, membuat model data, membuat adapter RecyclerView, dan menampilkan data di RecyclerView. Dengan demikian, kita telah berhasil menampilkan data dari database SQLite ke dalam antarmuka pengguna aplikasi Android.

Cara Membaca Data dari SQLite dan Menampilkannya di RecyclerView

Tutorial tentang Cara Membaca Data dari SQLite dan Menampilkannya di RecyclerView