Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // TambahDataPasienActivity.java
- package com.example.aplikasipasien.Activity;
- import androidx.annotation.NonNull;
- import androidx.annotation.Nullable;
- import androidx.appcompat.app.AppCompatActivity;
- import androidx.core.app.ActivityCompat;
- import androidx.room.Room;
- import android.Manifest;
- import android.app.Activity;
- import android.content.Intent;
- import android.content.pm.PackageManager;
- import android.graphics.Bitmap;
- import android.graphics.BitmapFactory;
- import android.graphics.drawable.BitmapDrawable;
- import android.net.Uri;
- import android.os.AsyncTask;
- import android.os.Bundle;
- import android.provider.MediaStore;
- import android.view.View;
- import android.widget.Button;
- import android.widget.ImageView;
- import android.widget.RadioButton;
- import android.widget.RadioGroup;
- import android.widget.Toast;
- import com.example.aplikasipasien.Database.DataConverter;
- import com.example.aplikasipasien.Database.Pasien;
- import com.example.aplikasipasien.Database.PasienDAO;
- import com.example.aplikasipasien.Database.PasienDatabase;
- import com.example.aplikasipasien.R;
- import com.google.android.material.textfield.TextInputLayout;
- import java.io.ByteArrayOutputStream;
- import java.io.FileNotFoundException;
- import java.io.InputStream;
- public class TambahDataPasienActivity extends AppCompatActivity {
- public static Pasien dataPasien;
- private Button btnSimpan, btnKeluar, btnUpload;
- private TextInputLayout edtNama, edtAlamat, edtRuangan, edtDokter;
- private ImageView imgFotoPasien;
- private RadioButton lakilaki, perempuan;
- private RadioGroup jenisKelamin;
- private String myJenisKelamin;
- private PasienDatabase db;
- private Bitmap bmpImage;
- private PasienDAO pasienDAO;
- final int CAMERA_INTENT = 51;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_tambah_data_pasien);
- getSupportActionBar().setTitle("Tambah Pasien");
- btnSimpan = findViewById(R.id.btn_simpan);
- btnKeluar = findViewById(R.id.btn_keluar);
- edtNama = findViewById(R.id.edt_nama);
- edtAlamat = findViewById(R.id.edt_alamat);
- edtRuangan = findViewById(R.id.edt_ruangan);
- edtDokter = findViewById(R.id.edt_dokter);
- btnUpload = findViewById(R.id.btn_upload_foto_pasien);
- imgFotoPasien = findViewById(R.id.img_foto_pasien);
- lakilaki = findViewById(R.id.laki);
- perempuan = findViewById(R.id.perempuan);
- jenisKelamin = findViewById(R.id.rg_enis_kelamin);
- bmpImage = null;
- pasienDAO = PasienDatabase.getDBInstance(this).pasienDAO();
- setData();
- btnSimpan.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- String nama = edtNama.getEditText().getText().toString().trim();
- String alamat = edtAlamat.getEditText().getText().toString().trim();
- String ruangan = edtRuangan.getEditText().getText().toString().trim();
- String dokter = edtDokter.getEditText().getText().toString().trim();
- if (dataPasien == null){
- insertPasien(nama, alamat, ruangan, dokter);
- }else {
- updatePasien(nama, alamat, ruangan, dokter);
- }
- }
- });
- btnKeluar.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- finish();
- }
- });
- btnUpload.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
- if (intent.resolveActivity(getPackageManager()) != null) {
- startActivityForResult(intent, CAMERA_INTENT);
- }
- }
- });
- }
- private void insertPasien(String nama, String alamat, String ruangan, String dokter) {
- final Pasien pasien = new Pasien();
- pasien.setNama_pasien(nama);
- pasien.setAlamat_pasien(alamat);
- pasien.setRuangan_pasien(ruangan);
- pasien.setDokter_pasien(dokter);
- if (lakilaki.isChecked()) {
- myJenisKelamin = "Laki-Laki";
- }else if (perempuan.isChecked()) {
- myJenisKelamin = "Perempuan";
- }
- pasien.setJenis_kelamin_pasien(myJenisKelamin);
- pasien.setFoto_pasien(imageViewToByte(imgFotoPasien));
- new AsyncTask<Void, Void, Long>() {
- @Override
- protected Long doInBackground(Void... voids) {
- // Long cek = db.pasienDAO().insertPasien(pasien);
- Long cek = pasienDAO.insertPasien(pasien);
- return cek;
- }
- @Override
- protected void onPostExecute(Long aLong) {
- Toast.makeText(TambahDataPasienActivity.this, "Data Berhasil Disimpan", Toast.LENGTH_SHORT).show();
- finish();
- }
- }.execute();
- Toast.makeText(this, "Data Berhasil di Simpan", Toast.LENGTH_SHORT).show();
- finish();
- }
- private void updatePasien(String nama, String alamat, String ruangan, String dokter) {
- final Pasien pasien = new Pasien();
- pasien.setId(dataPasien.getId());
- pasien.setNama_pasien(nama);
- pasien.setAlamat_pasien(alamat);
- pasien.setRuangan_pasien(ruangan);
- pasien.setDokter_pasien(dokter);
- if (lakilaki.isChecked()) {
- myJenisKelamin = "Laki-Laki";
- }else if (perempuan.isChecked()) {
- myJenisKelamin = "Perempuan";
- }
- pasien.setJenis_kelamin_pasien(myJenisKelamin);
- pasien.setFoto_pasien(imageViewToByte(imgFotoPasien));
- new AsyncTask<Void, Void, Integer>() {
- @Override
- protected Integer doInBackground(Void... voids) {
- Integer cek = pasienDAO.updateDataPasien(pasien);
- return cek;
- }
- @Override
- protected void onPostExecute(Integer aLong) {
- Toast.makeText(TambahDataPasienActivity.this, "Data Berhasil di update", Toast.LENGTH_SHORT).show();
- finish();
- }
- }.execute();
- }
- private byte[] imageViewToByte(ImageView imageView) {
- Bitmap bitmap = ((BitmapDrawable)imageView.getDrawable()).getBitmap();
- ByteArrayOutputStream stream = new ByteArrayOutputStream();
- bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
- byte[] byteArray = stream.toByteArray();
- return byteArray;
- }
- @Override
- protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- switch (requestCode) {
- case CAMERA_INTENT:
- // if (requestCode == Activity.RESULT_OK) {
- bmpImage = (Bitmap) data.getExtras().get("data");
- if (bmpImage != null) {
- imgFotoPasien.setImageBitmap(bmpImage);
- }
- break;
- }
- }
- private void setData() {
- if (dataPasien != null){
- edtNama.getEditText().setText(dataPasien.getNama_pasien());
- edtAlamat.getEditText().setText(dataPasien.getAlamat_pasien());
- edtRuangan.getEditText().setText(dataPasien.getRuangan_pasien());
- edtDokter.getEditText().setText(dataPasien.getDokter_pasien());
- switch (dataPasien.getJenis_kelamin_pasien()) {
- case "Laki-Laki":
- lakilaki.setChecked(true);
- break;
- case "Perempuan":
- perempuan.setChecked(true);
- break;
- }
- imgFotoPasien.setImageBitmap(DataConverter.converByteArray2Image(dataPasien.getFoto_pasien()));
- }
- }
- }
- // Adapter Pasien
- package com.example.aplikasipasien.Adapter;
- import android.app.AlertDialog;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.os.AsyncTask;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.ImageButton;
- import android.widget.ImageView;
- import android.widget.RelativeLayout;
- import android.widget.TextView;
- import android.widget.Toast;
- import androidx.annotation.NonNull;
- import androidx.recyclerview.widget.RecyclerView;
- import androidx.room.Room;
- import com.example.aplikasipasien.Activity.DetailPasienActivity;
- import com.example.aplikasipasien.Activity.TambahDataPasienActivity;
- import com.example.aplikasipasien.Database.DataConverter;
- import com.example.aplikasipasien.Database.Pasien;
- import com.example.aplikasipasien.Database.PasienDatabase;
- import com.example.aplikasipasien.R;
- import java.util.List;
- public class AdapterPasienActivity extends RecyclerView.Adapter<AdapterPasienActivity.MyViewHolder> {
- private Context context;
- private List<Pasien> listData;
- private PasienDatabase db;
- public AdapterPasienActivity() {
- }
- public AdapterPasienActivity(Context context, List<Pasien> listData) {
- this.context = context;
- this.listData = listData;
- }
- @NonNull
- @Override
- public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_row_pasien, parent, false);
- return new MyViewHolder(view);
- }
- @Override
- public void onBindViewHolder(@NonNull MyViewHolder holder, final int position) {
- final Pasien pasien = listData.get(position);
- holder.tvNamaPasien.setText(pasien.getNama_pasien());
- holder.tvRuanganPasien.setText(pasien.getRuangan_pasien());
- holder.tvJenisKelamin.setText(pasien.getJenis_kelamin_pasien());
- holder.imgFoto.setImageBitmap(DataConverter.converByteArray2Image(pasien.getFoto_pasien()));
- holder.imgBtnDelete.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- AlertDialog.Builder builder = new AlertDialog.Builder(context);
- builder.setTitle("Konfirmasi");
- builder.setMessage("Yakin ingin menghapus?");
- builder.setCancelable(true);
- builder.setPositiveButton("Ya", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- db = Room.databaseBuilder(context, PasienDatabase.class, "pasiendb").build();
- new AsyncTask<Void, Void, Integer>() {
- @Override
- protected Integer doInBackground(Void... voids) {
- Integer cek = db.pasienDAO().deleteDataPasien(pasien);
- return cek;
- }
- @Override
- protected void onPostExecute(Integer aLong) {
- Toast.makeText(context, "Data Berhasil Dihapus", Toast.LENGTH_SHORT).show();
- if (aLong == 1){
- listData.remove(position);
- notifyDataSetChanged();
- }
- }
- }.execute();
- }
- });
- builder.setNegativeButton("Tidak", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int i) {
- dialog.cancel();
- }
- });
- builder.show();
- }
- });
- holder.imgBtnEdit.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- TambahDataPasienActivity.dataPasien = listData.get(position);
- context.startActivity(new Intent(context, TambahDataPasienActivity.class));
- }
- });
- holder.item.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Pasien pasien = listData.get(position);
- // TambahDataPasienActivity.dataPasien = listData.get(position);
- context.startActivity(new Intent(context, DetailPasienActivity.class).putExtra("detail", pasien));
- }
- });
- }
- @Override
- public int getItemCount() {
- return listData.size();
- }
- public class MyViewHolder extends RecyclerView.ViewHolder {
- ImageView imgFoto;
- TextView tvNamaPasien, tvRuanganPasien, tvJenisKelamin;
- ImageButton imgBtnDelete, imgBtnEdit;
- RelativeLayout item;
- public MyViewHolder(@NonNull View itemView) {
- super(itemView);
- imgFoto = itemView.findViewById(R.id.img_foto);
- tvNamaPasien = itemView.findViewById(R.id.tv_nama_pasien);
- tvRuanganPasien = itemView.findViewById(R.id.tv_ruangan_pasien);
- imgBtnDelete = itemView.findViewById(R.id.img_btn_delete);
- imgBtnEdit = itemView.findViewById(R.id.img_btn_edit);
- tvJenisKelamin = itemView.findViewById(R.id.tv_jenis_kelamin_pasien);
- item = itemView.findViewById(R.id.item);
- }
- }
- }
- // Main Menu
- package com.example.aplikasipasien.Activity;
- import androidx.appcompat.app.AppCompatActivity;
- import androidx.appcompat.widget.Toolbar;
- import androidx.cardview.widget.CardView;
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.View;
- import com.example.aplikasipasien.R;
- public class MainActivity extends AppCompatActivity implements View.OnClickListener {
- CardView cvPasien, cvPengguna, cvTentang, cvKeluar;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- cvPasien = findViewById(R.id.cardview_pasien);
- cvPengguna = findViewById(R.id.cardview_input);
- cvTentang = findViewById(R.id.cardview_tentang);
- cvKeluar = findViewById(R.id.cardview_keluar);
- cvPasien.setOnClickListener(this);
- cvPengguna.setOnClickListener(this);
- cvTentang.setOnClickListener(this);
- cvKeluar.setOnClickListener(this);
- }
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.cardview_pasien:
- Intent intentPasien = new Intent(MainActivity.this, DaftarPasienActivity.class);
- startActivity(intentPasien);
- break;
- case R.id.cardview_input:
- Intent intentInput = new Intent(MainActivity.this, TambahDataPasienActivity.class);
- startActivity(intentInput);
- break;
- case R.id.cardview_tentang:
- Intent intentTentang = new Intent(MainActivity.this, TentangAplikasiActivity.class);
- startActivity(intentTentang);
- break;
- case R.id.cardview_keluar:
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement