BAGIAN 3 SOURCE CODE
Bagian Dalam merancang aplikasi nomor antrian online, peneliti menggunakan bahasa pemrograman java dan postgreSql sebagai databasenya. Untuk aplikasi android di rancang menggunakan software Android Studio, aplikasi ini akan menampilkan source code pada Aplikasi nomor antrian online studi kasus Rumah sakit Mh.Thamrin Cileungsi mulai dari Admin menambahkan data-data master dokter,pasien,jadwal praktek dokter dipoliklinik dan pasien bisa register jadi member, daftar untuk mendapatkan nomer antrian online serta melihat jadwal dokter secara online kemudian untuk keluar dari aplikasi.
1. Source Code spashscreen untuk tampilan awal ketika buka aplikasi package id.developer.rs_thamrin.activity; import android.content.Context; import android.content.SharedPreferences; import android.graphics.Color; import android.os.Handler; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.ProgressBar; import org.json.JSONException; import org.json.JSONObject; import java.io.IOException; import id.developer.rs_thamrin.R; import id.developer.rs_thamrin.api.LoginApi; import id.developer.rs_thamrin.api.RetrofitBuilder; import id.developer.rs_thamrin.util.GlobalFunction; import okhttp3.ResponseBody; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response;
public class SplashScreen extends AppCompatActivity { private final int splash_display_length = 3000;
private ProgressBar progressBar; private SharedPreferences preference;
private String token; @Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getSupportActionBar().hide(); setContentView(R.layout.activity_splash_screen); progressBar = (ProgressBar)findViewById(R.id.progress_bar); progressBar.setVisibility(View.VISIBLE); progressBar.setIndeterminate(true); progressBar.getIndeterminateDrawable().setColorFilter(Color.parse Color("#455ede"),android.graphics.PorterDuff.Mode.MULTIPLY); preference = getSharedPreferences(getString(R.string.GET_CREDENTIAL), Context.MODE_PRIVATE); token = preference.getString(getString(R.string.GET_USER_TOKEN),"defa ult");
new Handler().postDelayed(new Runnable() { @Override
public void run() { getSession(token); }
},splash_display_length); }
@Override
public void onBackPressed() { //super.onBackPressed(); }
private void getSession(String token){ if (token.equals("default")){ GlobalFunction.moveActivity(SplashScreen.this, MainActivity.class); finish(); }else { LoginApi loginApi = RetrofitBuilder.getApiService().create(LoginApi.class); Call<ResponseBody> callSessionApi = loginApi.sessionCheck(token); callSessionApi.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
try {
JSONObject object = new JSONObject(response.body().string()); if (object.getInt("code") == 1){ progressBar.setVisibility(View.GONE); GlobalFunction.moveActivity(SplashScreen.this, HomeActivity.class); GlobalFunction.toast(SplashScreen.this, object.getString("info")); finish(); }else { progressBar.setVisibility(View.GONE); GlobalFunction.moveActivity(SplashScreen.this, MainActivity.class); GlobalFunction.toast(SplashScreen.this, object.getString("info")); finish(); } } catch (JSONException e) { progressBar.setVisibility(View.GONE); e.printStackTrace(); } catch (IOException e) { progressBar.setVisibility(View.GONE); e.printStackTrace(); } } @Override
public void onFailure(Call<ResponseBody> call, Throwable t) { GlobalFunction.moveActivity(SplashScreen.this, MainActivity.class); finish(); } }); } } }
2. Source Code untuk menampilkan halaman login package id.developer.rs_thamrin.activity; import android.support.v4.app.FragmentTransaction; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.MenuItem; import id.developer.rs_thamrin.Fragment.LoginFragment; import id.developer.rs_thamrin.R;
public class MainActivity extends AppCompatActivity { @Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //default fragment FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); fragmentTransaction.replace(R.id.fragment_layout, new LoginFragment()); fragmentTransaction.commit(); } @Override
public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); switch (id){ case android.R.id.home: onBackPressed(); } return super.onOptionsItemSelected(item); } }
3. Source Code homeactivity untuk tampilan menu aplikasi yang ada di fitur aplikasi user dalam hal ini pasien.
package id.developer.rs_thamrin.activity; import android.support.v4.app.FragmentTransaction; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import id.developer.rs_thamrin.Fragment.HomeFragment; import id.developer.rs_thamrin.R;
public class HomeActivity extends AppCompatActivity { @Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); if (savedInstanceState == null){ FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); fragmentTransaction.add(R.id.fragment_layout_home, new HomeFragment()); fragmentTransaction.commit(); } } @Override
public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); switch (id){ case android.R.id.home: onBackPressed(); } return super.onOptionsItemSelected(item); } @Override
public void onBackPressed() { super.onBackPressed(); }
4. Source Code trigger dialog yang digunakan untuk memanggil dataApi package id.developer.rs_thamrin.api; import id.developer.rs_thamrin.model.request.PoliklinikRequest; import okhttp3.ResponseBody; import retrofit2.Call; import retrofit2.http.Body; import retrofit2.http.Field; import retrofit2.http.GET; import retrofit2.http.Headers; import retrofit2.http.POST; import retrofit2.http.Query; public interface DataApi { @Headers({
"Content-Type:application/json" })
@POST("/data/input/poliklinik")
Call<ResponseBody> setPoliklinik(@Query("token") String token,
@Body PoliklinikRequest request); @GET("/data/userDetail")
Call<ResponseBody> getUserDetail(@Query("token") String token,
@Query("userId") String userId); @GET("/data/poliklinik") Call<ResponseBody> getPoliklinik(); @GET("/data/dokter") Call<ResponseBody> getDokter(); @GET("/data/schedule") Call<ResponseBody> getSchedule(); @GET("/data/specialization") Call<ResponseBody> getSpecialization(); @GET("/data/education") Call<ResponseBody> getEducation(); @GET("/data/family") Call<ResponseBody> getFamily(); @GET("/data/identityCard") Call<ResponseBody> getIndentityCard();
@GET("/data/job") Call<ResponseBody> getJob(); @GET("/data/mariedStatus") Call<ResponseBody> getMariedStatus(); @GET("/data/payment") Call<ResponseBody> getPayment(); @GET("/data/province") Call<ResponseBody> getProvince(); @GET("/data/regency")
Call<ResponseBody> getRegency(@Query("provinceId") long id,@Query("page") int page );
@GET("/data/district")
Call<ResponseBody> getDistrict(@Query("regencyId") long id,@Query("page") int page );
@GET("/data/village")
Call<ResponseBody> getVillage(@Query("districtId") long id,@Query("page") int page );
} Login.java package id.developer.rs_thamrin.api; import id.developer.rs_thamrin.model.request.LoginRequest; import okhttp3.ResponseBody; import retrofit2.Call; import retrofit2.http.Body; import retrofit2.http.Headers; import retrofit2.http.POST; import retrofit2.http.Query; public interface LoginApi { @Headers({
"Content-Type:application/json" })
@POST("/login/user")
Call<ResponseBody> setLogin(@Body LoginRequest loginRequest);
@POST("/login/session")
token);
@POST("/login/logout")
Call<ResponseBody> setLogout(@Query("token") String token); }
5. Source Code dialog Queue Api ke database package id.developer.rs_thamrin.api; import id.developer.rs_thamrin.model.request.LoginRequest; import id.developer.rs_thamrin.model.request.QueueRequest; import okhttp3.ResponseBody; import retrofit2.Call; import retrofit2.http.Body; import retrofit2.http.DELETE; import retrofit2.http.GET; import retrofit2.http.Headers; import retrofit2.http.POST; import retrofit2.http.Query; public interface QueueApi { @Headers({
"Content-Type:application/json" })
@POST("/queue/addQueue")
Call<ResponseBody> setQueue(@Query("token") String token,@Body QueueRequest loginRequest);
@GET("/queue/checkQueue")
Call<ResponseBody> checkQueue(@Query("token") String token);
@DELETE("/queue/cancelQueue")
Call<ResponseBody> cancelQueue(@Query("token") String token
6. Source Code untuk input data dokter
package id.developer.rs_thamrin.Fragment.admin; import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; import java.util.ArrayList; import java.util.List; import id.developer.rs_thamrin.R; import id.developer.rs_thamrin.activity.HomeActivity; import id.developer.rs_thamrin.model.response.DoctorDataResponse; import id.developer.rs_thamrin.model.response.UserApprovalResponse; public class DoctorInputResultFragment extends Fragment { private List<DoctorDataResponse> responses = new ArrayList<>();
private Button home;
private TextView info, name, userId, password, specialization, createdDate;
public DoctorInputResultFragment() { // Required empty public constructor }
@Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); responses = getArguments().getParcelableArrayList(getString(R.string.GET_SEL ECTED_ITEM)); } @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { // Inflate the layout for this fragment View view = inflater.inflate(R.layout.fragment_doctor_input_result, container, false); ((HomeActivity)getActivity()).getSupportActionBar().setTitle("Succ ess"); ((HomeActivity)getActivity()).getSupportActionBar().setDisplayHo meAsUpEnabled(false);
bindView(view);
home.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) { FragmentManager manager = getActivity().getSupportFragmentManager();
FragmentTransaction trans = manager.beginTransaction(); if (manager.getBackStackEntryCount() > 0) { FragmentManager.BackStackEntry first = manager.getBackStackEntryAt(1); manager.popBackStack(first.getId(), FragmentManager.POP_BACK_STACK_INCLUSIVE); } trans.remove(new MasterDataDoctorInputFragment()); trans.commit(); } }); return view; }
private void bindView(View view){ home = view.findViewById(R.id.home); info = view.findViewById(R.id.message); name = view.findViewById(R.id.name); userId = view.findViewById(R.id.user_id); password = view.findViewById(R.id.password); specialization = view.findViewById(R.id.specialization); createdDate = view.findViewById(R.id.created_date); info.setText(responses.get(0).getMessage()); name.setText(responses.get(0).getName()); userId.setText(responses.get(0).getDokterId()); password.setText(responses.get(0).getPassword()); specialization.setText(responses.get(0).getSpecialization()); createdDate.setText(responses.get(0).getCreatedDate()); }
public void clearStack() {
//Here we are clearing back stack fragment entries int backStackEntry =
getFragmentManager().getBackStackEntryCount(); if (backStackEntry > 0) {
for (int i = 0; i < backStackEntry; i++) {
getFragmentManager().popBackStackImmediate(); }
}
//Here we are removing all the fragment that are shown here if (getFragmentManager().getFragments() != null && getFragmentManager().getFragments().size() > 0) { for (int i = 0; i < getFragmentManager().getFragments().size(); i++) { Fragment mFragment = getFragmentManager().getFragments().get(i); if (mFragment != null) { getFragmentManager().beginTransaction().remove(mFragment).com mit(); } } } } }
7. Source Code input datamaster
package id.developer.rs_thamrin.Fragment.admin; import android.app.DatePickerDialog; import android.content.SharedPreferences; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v7.widget.AppCompatSpinner; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.DatePicker; import android.widget.EditText; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.io.IOException;
import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.List; import id.developer.rs_thamrin.R; import id.developer.rs_thamrin.activity.HomeActivity; import id.developer.rs_thamrin.api.DataApi; import id.developer.rs_thamrin.api.RegisterApi; import id.developer.rs_thamrin.api.RetrofitBuilder; import id.developer.rs_thamrin.model.master.DoctorData; import id.developer.rs_thamrin.model.master.TypeOfSpecialization; import id.developer.rs_thamrin.model.request.DoctorDataRequest; import id.developer.rs_thamrin.model.response.DoctorDataResponse; import id.developer.rs_thamrin.model.response.UserApprovalResponse; import okhttp3.ResponseBody; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response;
public class MasterDataDoctorInputFragment extends Fragment { private SharedPreferences preferences;
private String userRole, token; private String specializationCode; private EditText userId;
private EditText firstName; private EditText lastName; private EditText address;
private AppCompatSpinner specialization; private List<String> specializationName;
private List<TypeOfSpecialization> specializationList; private Calendar myCalendar = Calendar.getInstance(); private Button save;
public MasterDataDoctorInputFragment() { }
@Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
preferences = getActivity().getSharedPreferences(getString(R.string.GET_CREDE NTIAL), getContext().MODE_PRIVATE); userRole = preferences.getString(getString(R.string.GET_USER_ROLE),"defaul t"); token = preferences.getString(getString(R.string.GET_USER_TOKEN),"defa ult"); } @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { // Inflate the layout for this fragment View view = inflater.inflate(R.layout.fragment_master_data_doctor_input, container, false); ((HomeActivity)getActivity()).getSupportActionBar().setTitle("Input Dokter"); ((HomeActivity)getActivity()).getSupportActionBar().setDisplayHo meAsUpEnabled(true); bindView(view); getSpecialization(); save.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) { handleDoctorRegister(); }
});
return view; }
private void bindView(View view) {
userId = view.findViewById(R.id.user_id_dokter); firstName = view.findViewById(R.id.first_name_dokter); lastName = view.findViewById(R.id.last_name_dokter); address = view.findViewById(R.id.address_dokter); specialization = view.findViewById(R.id.specialization_dokter);
save = view.findViewById(R.id.dokter_input_save); }
private void getSpecialization(){
specializationName = new ArrayList<>(); specializationList = new ArrayList<>(); DataApi dataApi = RetrofitBuilder.getApiService().create(DataApi.class); Call<ResponseBody> callDataApi = dataApi.getSpecialization(); callDataApi.enqueue(new Callback<ResponseBody>() { @Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
try {
JSONObject object = new JSONObject(response.body().string()); if (object.getInt("code") == 0){ JSONArray jsonArray = object.getJSONArray("data");
for (int i = 0; i < jsonArray.length(); i++){ JSONObject jsonObject =
jsonArray.getJSONObject(i);
TypeOfSpecialization specialization = new TypeOfSpecialization(); specialization.setName(jsonObject.getString("name")); specialization.setCode(jsonObject.getString("code")); specializationName.add(specialization.getName()); specializationList.add(specialization); }
ArrayAdapter<String> adapter = new ArrayAdapter<String>( getActivity(),android.R.layout.simple_spinner_item, specializationName); adapter.setDropDownViewResource(android.R.layout.simple_spinne r_dropdown_item); specialization.setAdapter(adapter); }
} catch (JSONException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } @Override
public void onFailure(Call<ResponseBody> call, Throwable t) { } }); specialization.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
specializationCode =
specializationList.get(position).getCode(); }
@Override
public void onNothingSelected(AdapterView<?> parent) { }
}); }
private void handleDoctorRegister(){
DoctorDataRequest request = new DoctorDataRequest(); request.setDokterId(userId.getText().toString().trim()); request.setFirstName(firstName.getText().toString().trim()); request.setLastName(lastName.getText().toString().trim()); request.setAddress(address.getText().toString().trim()); request.setSpecialization(specializationCode); RegisterApi registerApi = RetrofitBuilder.getApiService().create(RegisterApi.class); Call<ResponseBody> callRegisterApi = registerApi.setDokter(token, request); callRegisterApi.enqueue(new Callback<ResponseBody>() { @Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
JSONObject object = new JSONObject(response.body().string()); if (object.getInt("code") == 2){ JSONObject jsonObject = object.getJSONObject("data");
DoctorDataResponse dataResponse = new DoctorDataResponse(); dataResponse.setCreatedDate(jsonObject.getString("createdDate")); dataResponse.setDokterId(jsonObject.getString("dokterId")); dataResponse.setPassword(jsonObject.getString("password")); dataResponse.setName(jsonObject.getString("name")); dataResponse.setSpecialization(jsonObject.getString("specialization" )); dataResponse.setMessage(object.getString("info")); sendResponseToAnotherFragment(dataResponse); } } catch (JSONException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } @Override
public void onFailure(Call<ResponseBody> call, Throwable t) { } }); } private void sendResponseToAnotherFragment(DoctorDataResponse response){ Bundle bundle = new Bundle();
ArrayList<DoctorDataResponse> doctorResponseList = new ArrayList<>();
bundle.putParcelableArrayList(getString(R.string.GET_SELECTED_
ITEM), doctorResponseList);
DoctorInputResultFragment fragment = new DoctorInputResultFragment(); fragment.setArguments(bundle); getFragmentManager().beginTransaction() .replace(R.id.fragment_layout_home, fragment, "doctor_register_result_fragment") .addToBackStack(null) .commit(); } }
8. Source Code untuk menambah jadwal praktek dokter package id.developer.rs_thamrin.Fragment.admin; import android.content.SharedPreferences; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.support.v4.app.ListFragment; import android.support.v7.widget.AppCompatSpinner; import android.support.v7.widget.ScrollingTabContainerView; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.io.IOException; import java.util.ArrayList; import java.util.List;
import id.developer.rs_thamrin.Fragment.HomeFragment; import id.developer.rs_thamrin.Fragment.user.PoliklinikListFragment; import id.developer.rs_thamrin.Fragment.user.PoliklinikRegisterFragment; import id.developer.rs_thamrin.R; import id.developer.rs_thamrin.activity.HomeActivity; import id.developer.rs_thamrin.api.DataApi; import id.developer.rs_thamrin.api.RetrofitBuilder; import id.developer.rs_thamrin.model.master.DoctorData; import id.developer.rs_thamrin.model.master.TypeOfSchedule; import id.developer.rs_thamrin.model.master.TypeOfSpecialization; import id.developer.rs_thamrin.model.request.PoliklinikRequest; import okhttp3.ResponseBody; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response;
import static android.support.constraint.Constraints.TAG;
public class PoliklinikInputFragment extends Fragment { private SharedPreferences preferences;
private String token, userRole; private int doctorId;
private String specializationCode; private String scheduleCode;
private AppCompatSpinner scheduleSpinner; private AppCompatSpinner doctorSpinner;
private AppCompatSpinner specializationSpinner; private EditText kuota;
private Button savePoliklinik; private List<String> scheduleName;
private List<TypeOfSchedule> scheduleList; private List<String> specializationName;
private List<TypeOfSpecialization> specializationList; private List<String> doctorDataName;
private List<DoctorData> doctorDataList; @Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
preferences =
getActivity().getSharedPreferences(getString(R.string.GET_CRED
userRole = preferences.getString(getString(R.string.GET_USER_ROLE),"defau lt"); token = preferences.getString(getString(R.string.GET_USER_TOKEN),"def ault"); } @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { // Inflate the layout for this fragment View view =
inflater.inflate(R.layout.fragment_poliklinik_input, container, false); ((HomeActivity)getActivity()).getSupportActionBar().setTitle("Inp ut Poliklinik"); ((HomeActivity)getActivity()).getSupportActionBar().setDisplayHo meAsUpEnabled(true); bindView(view); getDoctor(); getSchedule(); getSpecialization(); savePoliklinik.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) {
PoliklinikRequest request = new PoliklinikRequest(); request.setDoctorId(doctorId); request.setKuota(Integer.parseInt(kuota.getText().toString().trim())) ; request.setSchedule(scheduleCode); request.setSpecialization(specializationCode); handlePoliklinikSave(request); } }); return view; }
private void bindView (View view){ scheduleSpinner = view.findViewById(R.id.schedule); doctorSpinner = view.findViewById(R.id.doctor); specializationSpinner = view.findViewById(R.id.specialization); kuota = view.findViewById(R.id.kuota_poliklinik); savePoliklinik = view.findViewById(R.id.poliklinik_input_save); }
private void handlePoliklinikSave(PoliklinikRequest request){ DataApi dataApi = RetrofitBuilder.getApiService().create(DataApi.class); Call<ResponseBody> callDataApi = dataApi.setPoliklinik(token,request); callDataApi.enqueue(new Callback<ResponseBody>() { @Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
try {
JSONObject object = new JSONObject(response.body().string()); if (object.getInt("code") == 2){ Toast.makeText(getActivity(), object.getString("info"), Toast.LENGTH_SHORT).show(); FragmentManager manager = getActivity().getSupportFragmentManager(); FragmentTransaction trans = manager.beginTransaction(); if (manager.getBackStackEntryCount() > 0) { FragmentManager.BackStackEntry first = manager.getBackStackEntryAt(1); manager.popBackStack(first.getId(), FragmentManager.POP_BACK_STACK_INCLUSIVE); } trans.remove(new PoliklinikInputFragment()); trans.commit(); } } catch (JSONException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
} }); }
private void getSchedule(){
scheduleName = new ArrayList<>(); scheduleList = new ArrayList<>(); DataApi dataApi =
RetrofitBuilder.getApiService().create(DataApi.class);
Call<ResponseBody> callDataApi = dataApi.getSchedule(); callDataApi.enqueue(new Callback<ResponseBody>() { @Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
try {
JSONObject object = new JSONObject(response.body().string()); if (object.getInt("code") == 0){ JSONArray jsonArray = object.getJSONArray("data");
for (int i = 0; i < jsonArray.length(); i++){ JSONObject jsonObject =
jsonArray.getJSONObject(i);
TypeOfSchedule schedule = new TypeOfSchedule(); schedule.setName(jsonObject.getString("name")); schedule.setTime(jsonObject.getString("time")); scheduleName.add(schedule.getName() + " : "+ schedule.getTime()); scheduleList.add(schedule); }
ArrayAdapter<String> adapter = new ArrayAdapter<String>( getActivity(),android.R.layout.simple_spinner_item, scheduleName); adapter.setDropDownViewResource(android.R.layout.simple_spinn er_dropdown_item);
scheduleSpinner.setAdapter(adapter); } } catch (JSONException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } @Override
public void onFailure(Call<ResponseBody> call, Throwable t) { } }); scheduleSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
scheduleCode = scheduleList.get(position).getName(); }
@Override
public void onNothingSelected(AdapterView<?> parent) { }
}); }
private void getDoctor(){
doctorDataName = new ArrayList<>(); doctorDataList = new ArrayList<>(); DataApi dataApi =
RetrofitBuilder.getApiService().create(DataApi.class);
Call<ResponseBody> callDataApi = dataApi.getDokter(); callDataApi.enqueue(new Callback<ResponseBody>() { @Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
try {
JSONObject object = new JSONObject(response.body().string()); if (object.getInt("code") == 0){ JSONArray jsonArray = object.getJSONArray("data");
for (int i = 0; i < jsonArray.length(); i++){ JSONObject jsonObject =
jsonArray.getJSONObject(i);
DoctorData doctorData = new DoctorData(); doctorData.setId(jsonObject.getInt("id")); doctorData.setName(jsonObject.getString("name")); doctorData.setSpecialization(jsonObject.getString("specialization")) ; doctorData.setSpecializationCode(jsonObject.getString("specializati onCode")); doctorData.setAddress(jsonObject.getString("address")); doctorDataName.add(doctorData.getName() + " : "+ doctorData.getSpecialization()); doctorDataList.add(doctorData); }
ArrayAdapter<String> adapter = new ArrayAdapter<String>( getActivity(),android.R.layout.simple_spinner_item, doctorDataName); adapter.setDropDownViewResource(android.R.layout.simple_spinn er_dropdown_item); doctorSpinner.setAdapter(adapter); } } catch (JSONException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } @Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
} });
AdapterView.OnItemSelectedListener() { @Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
doctorId = doctorDataList.get(position).getId(); }
@Override
public void onNothingSelected(AdapterView<?> parent) { }
}); }
private void getSpecialization(){
specializationName = new ArrayList<>(); specializationList = new ArrayList<>(); DataApi dataApi = RetrofitBuilder.getApiService().create(DataApi.class); Call<ResponseBody> callDataApi = dataApi.getSpecialization(); callDataApi.enqueue(new Callback<ResponseBody>() { @Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
try {
JSONObject object = new JSONObject(response.body().string()); if (object.getInt("code") == 0){ JSONArray jsonArray = object.getJSONArray("data");
for (int i = 0; i < jsonArray.length(); i++){ JSONObject jsonObject =
jsonArray.getJSONObject(i);
TypeOfSpecialization specialization = new TypeOfSpecialization(); specialization.setName(jsonObject.getString("name")); specialization.setCode(jsonObject.getString("code")); specializationName.add(specialization.getName()); specializationList.add(specialization);
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>( getActivity(),android.R.layout.simple_spinner_item, specializationName); adapter.setDropDownViewResource(android.R.layout.simple_spinn er_dropdown_item); specializationSpinner.setAdapter(adapter); } } catch (JSONException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } @Override
public void onFailure(Call<ResponseBody> call, Throwable t) { } }); specializationSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
specializationCode =
specializationList.get(position).getCode(); }
@Override
public void onNothingSelected(AdapterView<?> parent) { }
}); } }
9. Source Code untuk membuat datafragment admin package id.developer.rs_thamrin.Fragment.admin; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import id.developer.rs_thamrin.R; import id.developer.rs_thamrin.activity.HomeActivity; public class MasterDataAdminFragment extends Fragment { public MasterDataAdminFragment() {
// Required empty public constructor }
@Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { // Inflate the layout for this fragment View view = inflater.inflate(R.layout.fragment_master_data_admin, container, false); setHasOptionsMenu(false); ((HomeActivity)getActivity()).getSupportActionBar().setTitle("List Admin"); ((HomeActivity)getActivity()).getSupportActionBar().setDisplayHo meAsUpEnabled(true); return view; } }