File yang dibutuhkan
Untuk membuat applikasi ini kita membutuhkan 6 file, 3 file XML dan 3 File java. Dalam tutorial, aplikasi baru bisa menampilkan dan menambah data kampus.File java
- DBController.java , Semua operasi CRUD ada disini
- MainActivity.java, menampilkan data kampus ke listview
- NewKampusActivity.java, Form tambah data kampus
- view_kampus_entry.xml, template untuk menampilkan data kampus per item
- activity_main.xml, xml layou tuntuk menampilkan seluruh data kampus dan tombol tambah
- add_new_kampus.xml, file xml untuk form data tambah kampus
DBController.java
package com.candra.sqlite; import java.util.ArrayList; import java.util.HashMap; import android.util.Log; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class DBController extends SQLiteOpenHelper { private static final String LOGCAT = null; public DBController(Context applicationcontext) { super(applicationcontext, "kampus.db", null, 1); Log.d(LOGCAT,"Created"); } @Override /* kbuat tabel kampus */ public void onCreate(SQLiteDatabase database) { String query; query = "CREATE TABLE kampus ( kampusId INTEGER PRIMARY KEY," + " kampusName TEXT,alamat TEXT)"; database.execSQL(query); Log.d(LOGCAT,"kampus Created"); } @Override /*upgrade tabelkampus */ public void onUpgrade(SQLiteDatabase database, int version_old, int current_version) { String query; query = "DROP TABLE IF EXISTS kampus"; database.execSQL(query); onCreate(database); } /* kode untuk insert data ke tabel kampus * */ public void addKampus(HashMap<String, String> queryValues) { SQLiteDatabase database = this.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("kampusName", queryValues.get("kampusName")); values.put("alamat", queryValues.get("alamat")); database.insert("kampus", null, values); database.close(); } /* getAllKampus * menampilkan data seluruh kamus ke listview * */ public ArrayList<HashMap<String, String>> getAllkampus() { ArrayList<HashMap<String, String>> kampusList; kampusList = new ArrayList<HashMap<String, String>>(); String selectQuery = "SELECT * FROM kampus"; SQLiteDatabase database = this.getWritableDatabase(); Cursor cursor = database.rawQuery(selectQuery, null); if (cursor.moveToFirst()) { do { HashMap<String, String> map = new HashMap<String, String>(); map.put("kampusId", cursor.getString(0)); map.put("kampusName", cursor.getString(1)); map.put("alamat", cursor.getString(2)); kampusList.add(map); } while (cursor.moveToNext()); } // return contact list return kampusList; } }
Kode MainActivity
package com.candra.sqlite; import java.util.ArrayList; import java.util.HashMap; import android.app.ListActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ListAdapter; import android.widget.SimpleAdapter; import android.widget.TextView; public class MainActivity extends ListActivity { Intent intent; TextView kampusId; DBController controller = new DBController(this); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /*ambil data kampus dari DBController.getAllKampus */ ArrayList<HashMap<String, String>> kampusList = controller .getAllkampus(); /* jikta tidak kosong, tampilkan data kampus ke ListView * */ if (kampusList.size() != 0) { ListAdapter adapter = new SimpleAdapter(MainActivity.this, kampusList, R.layout.view_kampus_entry, new String[] { "kampusId", "kampusName", "alamat" }, new int[] { R.id.kampusId, R.id.kampusName, R.id.alamat }); setListAdapter(adapter); } } /* jika user mengklik tombol Add, maka buka halaman * NewKampusActivity.java */ public void showAddForm(View view) { Intent objIntent = new Intent(getApplicationContext(), NewKampusActivity.class); startActivity(objIntent); } }
Kode untuk Form tambah kampus
package com.candra.sqlite; import java.util.HashMap; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.EditText; public class NewKampusActivity extends Activity{ EditText kampusName,alamat; DBController controller = new DBController(this); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.add_new_kampus); kampusName = (EditText) findViewById(R.id.txtKampusName); alamat = (EditText) findViewById(R.id.txtAlamat); } /* kode untuk menambah data kampus*/ public void addNewKampus(View view) { HashMap<String, String> queryValues = new HashMap<String, String>(); queryValues.put("kampusName", kampusName.getText().toString()); queryValues.put("alamat", alamat.getText().toString()); controller.addKampus(queryValues); this.callHomeActivity(view); } /* panggil MainActivity */ public void callHomeActivity(View view) { Intent objIntent = new Intent(getApplicationContext(), MainActivity.class); startActivity(objIntent); } }
Tidak ada komentar:
Posting Komentar