Cara Membuat Aplikasi CRUD Dengan Android Studio (Java) Part 1 - Persiapan

Cara Membuat Aplikasi CRUD Dengan Android Studio (Java) Part 1 - Persiapan

Pada kesempatan kali ini saya akan memberikan tutorial tentang cara membuat aplikasi CRUD dengan Android Studio (Java). Disini saya menggunakan SQLite untuk database manager-nya. Tutorial ini akan saya bagi menjadi 5 bagian, yaitu bagian persiapan, bagian create, bagian read, bagian update, dan bagian delete.

Tahap Pembuatan

  • Untuk langkah pertamanya silakan untuk membuat project baru terlebih dahulu.

    project baru

  • Setelah itu kita buat tiga package, yaitu model, view, dan controller.

    tiga package

  • Kemudian pindahkan class "MainActivity" ke bagian view.

  • Lalu kita buat class baru bernama "Book" dan simpan di package model, dengan isian berikut :

    package com.herdaynote.simplecrud.model;
    
    public class Book {
        private long bookId;
        private String bookName;
        private String bookAuthor;
    
        public Book() {
    
        }
    
        public void setBookId(long bookId) {
            this.bookId = bookId;
        }
    
        public long getBookId() {
            return bookId;
        }
    
        public void setBookName(String bookName) {
            this.bookName = bookName;
        }
    
        public String getBookName() {
            return bookName;
        }
    
        public void setBookAuthor(String bookAuthor) {
            this.bookAuthor = bookAuthor;
        }
    
        public String getBookAuthor() {
            return bookAuthor;
        }
    
        public String toString() {
            return bookName + " by " + bookAuthor;
        }
    }
  • Setelah itu kita buat class baru bernama "DBHelper" dan simpan di package model, dengan isian berikut :

    package com.herdaynote.simplecrud.model;
    
    import android.content.Context;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;
    
    public class DBHelper extends SQLiteOpenHelper {
        public static final String tableName = "books";
        public static final String columnId = "book_id";
        public static final String columnName = "book_name";
        public static final String columnAuthor = "book_author";
        private static final String db_name = "books.db";
        private static final String db_create = "CREATE TABLE " + tableName + "("
                + columnId + " INTEGER PRIMARY KEY AUTOINCREMENT, "
                + columnName + " VARCHAR(100) NOT NULL, "
                + columnAuthor + " VARCHAR(100) NOT NULL"
                + ")";
    
        public DBHelper(Context context) {
            super(context, db_name, null, 1);
        }
    
        @Override
        public void onCreate(SQLiteDatabase db) {
            db.execSQL(db_create);
        }
    
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            db.execSQL("DROP TABLE IF EXISTS " + tableName);
        }
    }
  • Kemudian kita buat class baru bernama "DBDataSource" dan simpan di package controller, dengan isian berikut :

    package com.herdaynote.simplecrud.controller;
    
    import android.content.ContentValues;
    import android.content.Context;
    import android.database.Cursor;
    import android.database.SQLException;
    import android.database.sqlite.SQLiteDatabase;
    import com.herdaynote.simplecrud.model.Book;
    import com.herdaynote.simplecrud.model.DBHelper;
    import java.util.ArrayList;
    
    public class DBDataSource {
        private SQLiteDatabase database;
        private final DBHelper dbHelper;
        private final String[] allColumns = {
                DBHelper.columnId,
                DBHelper.columnName,
                DBHelper.columnAuthor
        };
        private Cursor cursor;
    
        public DBDataSource(Context context) {
            dbHelper = new DBHelper(context);
        }
    
        public void open() throws SQLException {
            database = dbHelper.getWritableDatabase();
        }
    
        private Book cursorToBook(Cursor cursor) {
            Book book = new Book();
    
            book.setBookId(cursor.getLong(0));
            book.setBookName(cursor.getString(1));
            book.setBookAuthor(cursor.getString(2));
    
            return book;
        }
    }
  • Setelah itu kita modifikasi layout "activity_main.xml" dengan isian berikut :

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        tools:context=".view.MainActivity">
    
        <TextView
            android:id="@+id/title_app"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/app_name"
            android:gravity="center"
            android:textSize="42sp"
            android:layout_marginBottom="10dp"/>
        <Button
            android:id="@+id/btnCreate"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/title_app"
            android:text="@string/createText"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:textSize="20sp"
            android:padding="10dp"
            android:layout_marginBottom="10dp"/>
        <Button
            android:id="@+id/btnRead"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/btnCreate"
            android:text="@string/readText"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:textSize="20sp"
            android:padding="10dp"
            android:layout_marginBottom="10dp"/>
        <Button
            android:id="@+id/btnUpdate"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/btnRead"
            android:text="@string/updateText"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:textSize="20sp"
            android:padding="10dp"
            android:layout_marginBottom="10dp"/>
        <Button
            android:id="@+id/btnDelete"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/btnUpdate"
            android:text="@string/deleteText"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:textSize="20sp"
            android:padding="10dp"/>
    
    </RelativeLayout>
  • Lalu kita modifikasi class "MainActivity" ke dalam package view dengan isian berikut :

    package com.herdaynote.simplecrud.view;
    
    import android.annotation.SuppressLint;
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import com.herdaynote.simplecrud.R;
    import com.herdaynote.simplecrud.view.create.CreateData;
    import com.herdaynote.simplecrud.view.delete.DeleteData;
    import com.herdaynote.simplecrud.view.read.ReadData;
    import com.herdaynote.simplecrud.view.update.ListUpdate;
    
    public class MainActivity extends Activity implements OnClickListener {
        private Button btnCreate, btnRead, btnUpdate, btnDelete;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            btnCreate = findViewById(R.id.btnCreate);
            btnCreate.setOnClickListener(this);
    
            btnRead = findViewById(R.id.btnRead);
            btnRead.setOnClickListener(this);
    
            btnUpdate = findViewById(R.id.btnUpdate);
            btnUpdate.setOnClickListener(this);
    
            btnDelete = findViewById(R.id.btnDelete);
            btnDelete.setOnClickListener(this);
        }
    
        @SuppressLint("NonConstantResourceId")
        public void onClick(View v) {
            switch (v.getId()) {
    		case R.id.btnCreate :
    		// start create activity
    		break;
    		case R.id.btnRead :
    		// start read activity
    		break;
    		case R.id.btnUpdate :
    		// start update activity
    		break;
    		case R.id.btnDelete :
    		// start delete activity
    		break;
            }
        }
    }
  • Setelah itu ubah seluruh kode yang ada di "strings.xml" yang berada di ".../res/values/strings.xml", dengan kode berikut.

    <resources>
        <string name="app_name">SimpleCRUD</string>
        <string name="createText">Create Data</string>
        <string name="readText">Read Data</string>
        <string name="updateText">Update Data</string>
        <string name="deleteText">Delete Data</string>
        <string name="book_name">Book Name</string>
        <string name="book_author">Book Author</string>
    </resources>

Tutorial Video

Source Code : Github

4or Education

4or Education hadir sebagai blog edukasi yang menemanimu menjelajahi samudra ilmu pengetahuan dan teknologi. Di sini, kamu akan menemukan berbagai artikel menarik dan informatif seputar : Pengetahuan, Pendidikan, Teknologi, dan Lain-lain.

Posting Komentar

Lebih baru Lebih lama