Lebih terarah belajar coding melalui Kelas Online dan Interactive Coding Lihat Materi Belajar

Aplikasi CRUD Sederhana Menggunakan Android Studio dengan Database SQLite

Ditulis oleh Darsiwan, dipublikasi pada 20 Aug 2016 dalam kategori Tutorial
Aplikasi CRUD Sederhana Menggunakan Android Studio dengan Database SQLite - CodePolitan.com

Sebelumnya mungkin ada yang sudah buat CRUD java dengan Database mysql , nah saya akan membuat aplikasi CRUD ( Create ,Read ,Update, dan Delete ) juga tetapi dengan Android Studio yang berbasis mobile dengan database SQLite , di sini saya menggunakan Android Studio 2.1.2 , oke mulai saja .

  1. Buka Android Studio
  2. Buat Projek Baru
  3. Berinama Projek yang akan kita buat
  4. kita harus menentukan Target Android Device nya , saya pilih API 15.
  5. Pilih Empty Activity
  6. Selanjutnya pada bagian Customize The Activity biarkan saja default
  7. Setelah ke 6 langkah tadi selesai kita buat DataHelper.java , DataHelper.java ini adalah proses pembuatan Database SQLiteSimpan dengan Nama DataHelper.java
    import android.content.Context;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;
    import android.util.Log;
    
    public class DataHelper extends SQLiteOpenHelper {
    
        private static final String DATABASE_NAME = "biodatadiri.db";
        private static final int DATABASE_VERSION = 1;
        public DataHelper(Context context) {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
            // TODO Auto-generated constructor stub
        }
        @Override
        public void onCreate(SQLiteDatabase db) {
            // TODO Auto-generated method stub
            String sql = "create table biodata(no integer primary key, nama text null, tgl text null, jk text null, alamat text null);";
            Log.d("Data", "onCreate: " + sql);
            db.execSQL(sql);
            sql = "INSERT INTO biodata (no, nama, tgl, jk, alamat) VALUES ('1', 'Darsiwan', '1996-07-12', 'Laki-laki','Indramayu');";
            db.execSQL(sql);
        }
        @Override
        public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
            // TODO Auto-generated method stub
        }
    }
  8. Kita buat layout xml pada activity_main.xml activity_main.xml
  9. kita tuliskan source di bawah pada MainActivity.java  
    import android.app.AlertDialog;
    import android.content.DialogInterface;
    import android.content.Intent;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.view.Menu;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemClickListener;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.ListView;
    
    public class MainActivity extends AppCompatActivity {
        String[] daftar;
        ListView ListView01;
        Menu menu;
        protected Cursor cursor;
        DataHelper dbcenter;
        public static MainActivity ma;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            Button btn=(Button)findViewById(R.id.button2);
    
            btn.setOnClickListener(new View.OnClickListener() {
    
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    Intent inte = new Intent(MainActivity.this, BuatBiodata.class);
                    startActivity(inte);
                }
            });
    
            ma = this;
            dbcenter = new DataHelper(this);
            RefreshList();
        }
    
        public void RefreshList(){
            SQLiteDatabase db = dbcenter.getReadableDatabase();
            cursor = db.rawQuery("SELECT * FROM biodata",null);
            daftar = new String[cursor.getCount()];
            cursor.moveToFirst();
            for (int cc=0; cc 
    
  10. Buat 3 Empty Activity baru screenshot (1) Berinama Layout Name sebagai berikut : 1.activity_buat_biodata.xml 2.activity_lihat_biodata.xml 3.activity_update_biodata.xml Dan Activity Name : 1.BuatBiodata.java 2.LihatBiodata.java 3.UpdateBiodata.java
  11. Setelah ke 3 Activity tadi di buat tuliskan pada layout xml dengan nama masing masing : 1.activity_buat_biodata.xml 2.activity_lihat_biodata.xml 3.activity_update_biodata.xml
  12. Tuliskan baris kode java class di bawah dengan nama masing-masing : 1.BuatBiodata.java
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
    
    public class BuatBiodata extends AppCompatActivity {
        protected Cursor cursor;
        DataHelper dbHelper;
        Button ton1, ton2;
        EditText text1, text2, text3, text4, text5;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_buat_biodata);
    
            dbHelper = new DataHelper(this);
            text1 = (EditText) findViewById(R.id.editText1);
            text2 = (EditText) findViewById(R.id.editText2);
            text3 = (EditText) findViewById(R.id.editText3);
            text4 = (EditText) findViewById(R.id.editText4);
            text5 = (EditText) findViewById(R.id.editText5);
            ton1 = (Button) findViewById(R.id.button1);
            ton2 = (Button) findViewById(R.id.button2);
    
            ton1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    SQLiteDatabase db = dbHelper.getWritableDatabase();
                    db.execSQL("insert into biodata(no, nama, tgl, jk, alamat) values('" +
                            text1.getText().toString() + "','" +
                            text2.getText().toString() + "','" +
                            text3.getText().toString() + "','" +
                            text4.getText().toString() + "','" +
                            text5.getText().toString() + "')");
                    Toast.makeText(getApplicationContext(), "Berhasil", Toast.LENGTH_LONG).show();
                    MainActivity.ma.RefreshList();
                    finish();
                }
            });
            ton2.setOnClickListener(new View.OnClickListener() {
    
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    finish();
                }
            });
        }
    
    }
    2.LihatBiodata.java
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
    
    public class LihatBiodata extends AppCompatActivity {
        protected Cursor cursor;
        DataHelper dbHelper;
        Button ton2;
        TextView text1, text2, text3, text4, text5;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_lihat_biodata);
    
            dbHelper = new DataHelper(this);
            text1 = (TextView) findViewById(R.id.textView1);
            text2 = (TextView) findViewById(R.id.textView2);
            text3 = (TextView) findViewById(R.id.textView3);
            text4 = (TextView) findViewById(R.id.textView4);
            text5 = (TextView) findViewById(R.id.textView5);
            SQLiteDatabase db = dbHelper.getReadableDatabase();
            cursor = db.rawQuery("SELECT * FROM biodata WHERE nama = '" +
                    getIntent().getStringExtra("nama") + "'",null);
            cursor.moveToFirst();
            if (cursor.getCount()>0)
            {
                cursor.moveToPosition(0);
                text1.setText(cursor.getString(0).toString());
                text2.setText(cursor.getString(1).toString());
                text3.setText(cursor.getString(2).toString());
                text4.setText(cursor.getString(3).toString());
                text5.setText(cursor.getString(4).toString());
            }
            ton2 = (Button) findViewById(R.id.button1);
            ton2.setOnClickListener(new View.OnClickListener() {
    
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    finish();
                }
            });
        }
    
    }
    3.UpdateBiodata.java
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
    
    public class UpdateBiodata extends AppCompatActivity {
        protected Cursor cursor;
        DataHelper dbHelper;
        Button ton1, ton2;
        EditText text1, text2, text3, text4, text5;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_update_biodata);
    
            dbHelper = new DataHelper(this);
            text1 = (EditText) findViewById(R.id.editText1);
            text2 = (EditText) findViewById(R.id.editText2);
            text3 = (EditText) findViewById(R.id.editText3);
            text4 = (EditText) findViewById(R.id.editText4);
            text5 = (EditText) findViewById(R.id.editText5);
            SQLiteDatabase db = dbHelper.getReadableDatabase();
            cursor = db.rawQuery("SELECT * FROM biodata WHERE nama = '" +
                    getIntent().getStringExtra("nama") + "'",null);
            cursor.moveToFirst();
            if (cursor.getCount()>0)
            {
                cursor.moveToPosition(0);
                text1.setText(cursor.getString(0).toString());
                text2.setText(cursor.getString(1).toString());
                text3.setText(cursor.getString(2).toString());
                text4.setText(cursor.getString(3).toString());
                text5.setText(cursor.getString(4).toString());
            }
            ton1 = (Button) findViewById(R.id.button1);
            ton2 = (Button) findViewById(R.id.button2);
            // daftarkan even onClick pada btnSimpan
            ton1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    SQLiteDatabase db = dbHelper.getWritableDatabase();
                    db.execSQL("update biodata set nama='"+
                            text2.getText().toString() +"', tgl='" +
                            text3.getText().toString()+"', jk='"+
                            text4.getText().toString() +"', alamat='" +
                            text5.getText().toString() + "' where no='" +
                            text1.getText().toString()+"'");
                    Toast.makeText(getApplicationContext(), "Berhasil", Toast.LENGTH_LONG).show();
                    MainActivity.ma.RefreshList();
                    finish();
                }
            });
            ton2.setOnClickListener(new View.OnClickListener() {
    
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    finish();
                }
            });
        }
    
    }

    Lanjutan..

  13. Tambahan : edit manifest/AndroidManifest.xml edit res/values/color.xml Terakhir edit res/values/styles.xml
  14. Jalankan aplikasinya ..gambar

Update

Untuk pembaca yang mengalami error :

Error:(13, 32) No resource found that matches the given name (at 'paddingBottom' with value '@dimen/activity_vertical_margin').`

Tambahkan kode berikut di /res/values/dimens.xml::


<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>

Penutup

Kurang lebihnya mohon maaf bila ada yang kurang jelas tanyakan pada kolom komentar . terima kasih semoga bermanfaat !
Aplikasi jadi, bisa di download di sini .


background

Gabung CodePolitan Membership

Ingin belajar coding secara online dengan lebih terarah? Gabung sekarang dalam program Premium Membership di CodePolitan. Dapatkan ratusan modul belajar pemrograman premium dalam beragam format dengan materi silabus lengkap dan tersusun rapi dari awal hingga mahir.

LIHAT MATERI BELAJAR GABUNG MEMBERSHIP