Sabtu, 30 Desember 2017

Membuat Client server part 11

Setelah itu kita buat class baru dengan nama DBHelper dengan cara memilih package dari aplikasi kita lalu klik kanan => new  pilih class lalu  beri nama class tersebut dengan nama DBHelper Lalu ketikan koding berikut :

package dwifitriana.databaseandroid;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DBHelper extends SQLiteOpenHelper {

        /** deklarasi konstanta-konstanta yang digunakan pada database, seperti nama tabel,
           nama-nama kolom, nama database, dan versi dari database **/
     
       public static final String TABLE_NAME = "data_inventori";
       public static final String COLUMN_ID = "_id";
       public static final String COLUMN_NAME = "nama_barang";
       public static final String COLUMN_MERK = "merk_barang";
       public static final String COLUMN_HARGA = "harga_barang";
       private static final String db_name ="inventori.db";
       private static final int db_version=1;

       //Perintah SQL untuk membuat tabel database baru
     
       private static final String db_create = "create table "
           + TABLE_NAME + "("
           + COLUMN_ID +" integer primary key autoincrement, "
           + COLUMN_NAME+ " varchar(50) not null, "
           + COLUMN_MERK+ " varchar(50) not null, "
           + COLUMN_HARGA+ " varchar(50) not null);";

         public DBHelper(Context context) {
         super(context, db_name, null, db_version);
         // TODO Auto-generated constructor stub
        }
        //mengeksekusi perintah SQL di atas untuk membuat tabel database baru
        @Override
        public void onCreate(SQLiteDatabase db) {
         // TODO Auto-generated method stub
         db.execSQL(db_create);
       
        }
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
         // TODO Auto-generated method stub
         Log.w(DBHelper.class.getName(),
                       "Upgrading database from version " +
                                    oldVersion + " to "
                       + newVersion + ", which will destroy all old data");
               db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
               onCreate(db);
          }
}

Lalu kita buat class baru lagi dengan cara seperti diatas dan beri nama class tersebut dengan nama Barang. Sintaknya sebagai berikut :

package dwifitriana.databaseandroid;
public class Barang {
private long id;
    private String nama_barang;
    private String merk_barang;
    private String harga_barang;

    public Barang()
    {       
    }
  
    public long getId()
    {
       return id;
    }

    public void setId(long id)
    {
       this.id = id;
    }
    public String getNama_barang()
    {
       return nama_barang;
    }

    public void setNama_barang(String nama_barang)
    {
       this.nama_barang = nama_barang;
    }
    public String getMerk_barang()
    {
       return merk_barang;
    }

    public void setMerk_barang(String merk_barang)
    {
       this.merk_barang = merk_barang;
    }
    public String getHarga_barang()
    {
       return harga_barang;
    }

    public void setHarga_barang(String harga_barang)
    {
       this.harga_barang = harga_barang;
    }

     @Override
     public String toString()
     {
        return "Barang "+ nama_barang +" "+ merk_barang + " "+ harga_barang;
     }
}

Lalu buat class lagi dengan nama DBDataSource dengan sintak berikut :
package dwifitriana.databaseandroid;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import java.util.ArrayList;;

public class DBDataSource {
     
       //inisialiasi SQLite Database
       private SQLiteDatabase database;

       //inisialisasi kelas DBHelper
       private DBHelper dbHelper;

       //ambil semua nama kolom
       private String[] allColumns = { DBHelper.COLUMN_ID,
                     DBHelper.COLUMN_NAME, DBHelper.COLUMN_MERK,DBHelper.COLUMN_HARGA};

       //DBHelper diinstantiasi pada constructor
       public DBDataSource(Context context)
       {
              dbHelper = new DBHelper(context);
       }

       //membuka/membuat sambungan baru ke database
       public void open() throws SQLException
       {
              database = dbHelper.getWritableDatabase();
       }
     
       //menutup sambungan ke database
       public void close()
       {
              dbHelper.close();
       }
     
       //method untuk create/insert barang ke database
     
       public Barang createBarang(String nama, String merk, String harga) {
              // membuat sebuah ContentValues, yang berfungsi
              // untuk memasangkan data dengan nama-nama
              // kolom pada database
            
              ContentValues values = new ContentValues();
              values.put(DBHelper.COLUMN_NAME, nama);
              values.put(DBHelper.COLUMN_MERK, merk);
              values.put(DBHelper.COLUMN_HARGA, harga);
            
              // mengeksekusi perintah SQL insert data
              // yang akan mengembalikan sebuah insert ID
            
              long insertId = database.insert(DBHelper.TABLE_NAME, null,values);
            
              // setelah data dimasukkan, memanggil
              // perintah SQL Select menggunakan Cursor untuk
              // melihat apakah data tadi benar2 sudah masuk
              // dengan menyesuaikan ID = insertID
            
              Cursor cursor = database.query(DBHelper.TABLE_NAME,
                           allColumns, DBHelper.COLUMN_ID + " = " + insertId, null,
                           null, null, null);
            
              // pindah ke data paling pertama
            
              cursor.moveToFirst();
            
              // mengubah objek pada kursor pertama tadi
              // ke dalam objek barang
            
              Barang newBarang = cursorToBarang(cursor);
            
              // close cursor
            
              cursor.close();
            
              // mengembalikan barang baru
            
              return newBarang;
              }

       private Barang cursorToBarang(Cursor cursor) {
     
       // buat objek barang baru
     
       Barang barang = new Barang();
     
       // debug LOGCAT
     
       Log.v("info", "The getLONG "+cursor.getLong(0));
       Log.v("info", "The setLatLng "+cursor.getString(1)+
                     ","+cursor.getString(2));
     
       /* Set atribut pada objek barang dengan
        * * data kursor yang diambil dari database*/
     
       barang.setId(cursor.getLong(0));
       barang.setNama_barang(cursor.getString(1));
       barang.setMerk_barang(cursor.getString(2));
       barang.setHarga_barang(cursor.getString(3));


       //kembalikan sebagai objek barang

       return barang;
       }

       //mengambil semua data barang
       public ArrayList<Barang> getAllBarang() {
              ArrayList<Barang> daftarBarang = new ArrayList<Barang>();
              // select all SQL query
            
              Cursor cursor = database.query(DBHelper.TABLE_NAME,
                           allColumns, null, null, null, null, null);
            
       // pindah ke data paling pertama
              cursor.moveToFirst();
            
       // jika masih ada data, masukkan data barang ke
       // daftar barang
            
            
       while (!cursor.isAfterLast()) {
              Barang barang = cursorToBarang(cursor);
              daftarBarang.add(barang);
              cursor.moveToNext();
              }
     
       // Make sure to close the cursor
       cursor.close();
       return daftarBarang;
       }
}

Setelah itu kita buat file xml baru dengan cara klik pada project kita, lalu klik kanan => new  pilih android xml file lalu beri nama create data lalu ketikan koding berikut :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

<EditText
    android:id="@+id/nama_barang"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="15dp"
    android:inputType="text"
    android:hint="Nama Barang"
    android:ems="10" >
  
    <requestFocus />
    </EditText>
       <EditText
           android:id="@+id/merk_barang"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_marginTop="15dp"
           android:inputType="text"
           android:hint="Merk Barang"
           android:ems="10" >
    <requestFocus />
      
    </EditText>
              <EditText
                  android:id="@+id/harga_barang"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_marginTop="15dp"
                  android:inputType="number"
                  android:hint="Harga Barang"
                  android:ems="10" >

        <requestFocus />
    </EditText>
       <Button
           android:id="@+id/buttom_submit"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="Submit" />
</LinearLayout>

Setelah itu kita buat class baru lagi dengan nama CreateData dengan sintak berikut :
package dwifitriana.databaseandroid;

import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.os.Bundle;
import android.widget.Toast;


public class CreateData extends Activity implements OnClickListener {

                //inisilisasi elemen-elemen pada layout
    private Button buttonSubmit;
    private EditText edNama;
    private EditText edMerk;
    private EditText edHarga;
    //inisialisasi kontroller/Data Source
    private DBDataSource dataSource;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.createdata);

        buttonSubmit = (Button) findViewById(R.id.buttom_submit);
        buttonSubmit.setOnClickListener(this);
        edNama = (EditText) findViewById(R.id.nama_barang);
        edHarga = (EditText) findViewById(R.id.harga_barang);
        edMerk = (EditText) findViewById(R.id.merk_barang);

        // instanstiasi kelas DBDataSource
        dataSource = new DBDataSource(this);

        //membuat sambungan baru ke database
        dataSource.open();
    }
                @Override
                public void onClick(View v) {
                                // TODO Auto-generated method stub
                                // Inisialisasi data barang
        String nama = null;
        String merk = null;
        String harga = null;
        @SuppressWarnings("unused")

        //inisialisasi barang baru (masih kosong)
        Barang barang = null;
        if(edNama.getText()!=null && edMerk.getText()!=null && edHarga.getText()!=null)
        {
            /* jika field nama, merk, dan harga tidak kosong
             * maka masukkan ke dalam data barang*/
            nama = edNama.getText().toString();
            merk = edMerk.getText().toString();
            harga = edHarga.getText().toString();
        }

        switch(v.getId())
        {
            case R.id.buttom_submit:
                // insert data barang baru
                barang = dataSource.createBarang(nama, merk, harga);

                //konfirmasi kesuksesan
                Toast.makeText(this, "masuk Barang\n" +
                        "nama\n" + barang.getNama_barang() +
                        "merk\n" + barang.getMerk_barang() +
                        "harga\n" + barang.getHarga_barang(), Toast.LENGTH_LONG).show();
                break;
        }

                             
                }

}


Setelah itu kita buat xml baru dengan nama viewdata lalu ketkan koding berikut :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
  
    <ListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />

</LinearLayout>

Setelah itu kita buat class lagi dengan nama  ViewData dengan sintak berikut :
package dwifitriana.databaseandroid;

import java.util.ArrayList;

import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;

public class ViewData extends ListActivity {
  
    //inisialisasi kontroller
       private DBDataSource dataSource;
     
       //inisialisasi arraylist
       private ArrayList<Barang> values;
     
       //menampilkan data
    @Override
    public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
          setContentView(R.layout.viewdata);

          dataSource = new DBDataSource(this);
          // buka kontroller
          dataSource.open();

          // ambil semua data barang
          values = dataSource.getAllBarang();

          // masukkan data barang ke array adapter
          ArrayAdapter<Barang> adapter = new ArrayAdapter<Barang>(this,
                    android.R.layout.simple_list_item_1, values);

          // set adapter pada list
          setListAdapter(adapter);
       
    }

}

Lalu kita buat class dan xl dengan nama Menu lalu ketikan kodingnya :
Xml Menu :
<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/Button_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="62dp"
        android:text="@string/tombol_lihat" />

    <Button
        android:id="@+id/Button_tambah"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/Button_view"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="38dp"
        android:text="@string/tombol_tambah" />

    <TextView
        android:id="@+id/Nama_app"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/nama_app" />

</RelativeLayout>

Class Menu :
package dwifitriana.databaseandroid;


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;

public class Menu extends Activity implements OnClickListener {
     
    private Button bTambah;
    private Button bLihat;
  
    @Override
    public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.menu);

          bTambah = (Button) findViewById(R.id.Button_tambah);
          bTambah.setOnClickListener(this);
          bLihat = (Button) findViewById(R.id.Button_view);
          bLihat.setOnClickListener(this);

    }

       @Override
       public void onClick(View v) {
              // // TODO Auto-generated method stub
        switch(v.getId())
        {
              case R.id.Button_tambah :
                     Intent i = new Intent(this, CreateData.class);
                     startActivity(i);
                     break;
              case R.id.Button_view :
                     Intent i2 = new Intent(this, ViewData.class);
                     startActivity(i2);
                     break;
        }
       }
}

Setelah semua class dan xml jadi, langkah selanjutnya adalah memodifikasi file AndrodiManifest.xml.
Menjadi seperti berikut ini :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="megapuspita.databaseandroid"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
      
          
            <activity
                android:name="megapuspita.databaseandroid.CreateData"
                android:label="@string/app_name" >
            </activity>
          
            <activity
                android:name="megapuspita.databaseandroid.Menu"
                android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
      
        <activity
            android:name="megapuspita.databaseandroid.ViewData"
            android:label="@string/app_name" >
            </activity>
    </application>

</manifest>

0 komentar:

Posting Komentar

Diberdayakan oleh Blogger.

Followers