0

0

0

share


#Android#Android
0 Reaksi

0 Komentar

Aplikasi CRUD Sederhana Menggunakan Android Studio dengan Database SQLite

Profile
Darsiwan

20 Agustus 2016

Aplikasi CRUD Sederhana Menggunakan Android Studio dengan Database SQLite

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 < cursor.getCount(); cc++){
                cursor.moveToPosition(cc);
                daftar[cc] = cursor.getString(1).toString();
            }
            ListView01 = (ListView)findViewById(R.id.listView1);
            ListView01.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, daftar));
            ListView01.setSelected(true);
            ListView01.setOnItemClickListener(new OnItemClickListener() {
    
    
                public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) {
                    final String selection = daftar[arg2]; //.getItemAtPosition(arg2).toString();
                    final CharSequence[] dialogitem = {"Lihat Biodata", "Update Biodata", "Hapus Biodata"};
                    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                    builder.setTitle("Pilihan");
                    builder.setItems(dialogitem, new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int item) {
                            switch(item){
                                case 0 :
                                    Intent i = new Intent(getApplicationContext(), LihatBiodata.class);
                                    i.putExtra("nama", selection);
                                    startActivity(i);
                                    break;
                                case 1 :
                                    Intent in = new Intent(getApplicationContext(), UpdateBiodata.class);
                                    in.putExtra("nama", selection);
                                    startActivity(in);
                                    break;
                                case 2 :
                                    SQLiteDatabase db = dbcenter.getWritableDatabase();
                                    db.execSQL("delete from biodata where nama = '"+selection+"'");
                                    RefreshList();
                                    break;
                            }
                        }
                    });
                    builder.create().show();
                }});
            ((ArrayAdapter)ListView01.getAdapter()).notifyDataSetInvalidated();
        }
    
    }
  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. <li>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. <li>Jalankan aplikasinya ..<img src="https://www.codepolitan.com/uploads/image/source/14500/gambar.png?1471648390814" alt="gambar" /></li>
    

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 .

0

0

0

share