Selasa, 02 Januari 2018

Cara Membuat History Antrian untuk Aplikasi Anata Salon - Praktikum Lanjutan

Dibawah ini langkah-langkahnya

1. Buat class History_Antrian.java
package thefly.org.histori;

import go_antri.org.R;

import java.util.ArrayList;
import java.util.List;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import thefly.org.CustomHttpClient;
import android.os.Bundle;
import android.os.StrictMode;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.Toast;

public class HistoryAntrian  extends Fragment {

// inisialisasi variabel
int mCurrentPage;

//keperluan adapter untuk mengisi data dari masing2 list
private List<ModelHistory> listData = new ArrayList<ModelHistory>();
private HistoryAntrianListAdapter adapter;
HistoryAntrianListAdapter custum = new HistoryAntrianListAdapter(null, listData);
ListView listView;

//private ProgressDialog pDialog;


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);



//mengambil argument dari project Bundle
Bundle data = getArguments();

//ambil nilai INTEGER dari current page yang berasar dar bundle
mCurrentPage = data.getInt("current_page", 0);

}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.history_layout_fragment, container,false);
setHasOptionsMenu(true);

// set value2
listView = (ListView) v.findViewById(R.id.listView);
adapter = new HistoryAntrianListAdapter(getActivity(), listData);
listView.setAdapter(adapter);

// load data hstori berdasasrkan page.
//jadi jika jika mCurrentPage =1 maka data yang akan di ambil adalah dokter 1 dan seterusnya
loadDataHistori(mCurrentPage);

   System.out.println("mCurrentPage "+mCurrentPage);

return v;
}


private void loadDataHistori(int currentPage){

ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>();

// kirim parameter dengan key tipeDokter dengan value =DOKTER_1 atau seterusnya
        postParameters.add(new BasicNameValuePair("tipeDokter","DOKTER_"+String.valueOf(currentPage)));
        System.out.println("postParameters "+postParameters);
       
        String response = "";
        listData.clear();
       
        try {
           response = CustomHttpClient.executeHttpPost(CustomHttpClient.URL+"get_data_history_antrian.php", postParameters);
           System.out.println("response "+response);
            if(response.equals("nodata")){
            //hidePDialog();
            Toast.makeText(getActivity(), "Tidak Ada Data Histori Pelanggan Anata Saloon n Skincare", Toast.LENGTH_LONG).show();
}else{


try {
// define JSON objec
JSONObject jsonObyek = new JSONObject(response);
//ambil object "data" dan data di konversi menjadi JSONarray
JSONArray jsonArray = jsonObyek.getJSONArray("data");

int no=1;
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject obj =jsonArray.getJSONObject(i);

// define object baru dari ModelHistory.
// jadi jika ada 2 data maka data yang masuk ke model adalah 2 data
ModelHistory mdHistori = new ModelHistory();

// ambil data berdasarkan respon dari format JSON
mdHistori.setNamaPasien(obj.getString("nama_pasien"));
mdHistori.setNamaUser(obj.getString("nama_user"));
mdHistori.setStatusPasien(obj.getString("sts")); 
mdHistori.setNo(String.valueOf(no));

// tambahkan model tersebut ke variabel listData
  listData.add(mdHistori);
no++;


}


} catch (JSONException e) {
e.printStackTrace();
//hidePDialog();
}

adapter.notifyDataSetChanged();
}
         
         
         
        }
       
        catch (Exception e) {
         
        System.out.println("Exception "+e.toString());
         
        }
       
}


@Override
public void onDestroy() {
super.onDestroy();
//hidePDialog();
}

// private void hidePDialog() {
// if (pDialog != null) {
// pDialog.dismiss();
// pDialog = null;
// }
// }



}


2. Buat tampilannya

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/main"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent">
    <!-- Bagian atas yg ungu yah-->
    <LinearLayout android:id="@+id/bagian_atas"
        android:background="#C71585"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        >
        <TextView android:id="@+id/kotak1"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:text="No  "
            android:width="20dip"
            android:height="30dip"
        />
        <TextView android:id="@+id/kotak2"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:layout_marginLeft="10dip"
            android:text="Nama Lengkap"
            android:width="100dip"
            android:height="30dip"
        />
        <TextView android:id="@+id/kotak3"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:text="Jenis Kelamin"
            android:width="100dip"
            android:height="30dip"
        />
        <TextView android:id="@+id/kotak4"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:text="Status Pelanggan"
            android:width="100dip"
            android:height="30dip"
        />
    </LinearLayout>

    <!-- untuk garis perantara -->
    <View android:layout_width="fill_parent"
        android:layout_height="1dip"
        android:background="?android:attr/listDivider" />

    <!-- untuk tiap cell(kotak) -->
    <LinearLayout android:id="@+id/tampilan_nya"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent">
        <ListView android:id="@+id/warna_tampilan_nya"
            android:layout_height="fill_parent"
            android:layout_width="fill_parent">
        </ListView>
    </LinearLayout>
</LinearLayout>


0 komentar:

Posting Komentar