Professional Documents
Culture Documents
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import android.Manifest;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.ContextWrapper;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.provider.Settings;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.Toast;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.PrintWriter;
text_nim = (EditText)findViewById(R.id.textNIM);
text_nama = (EditText)findViewById(R.id.textNama);
text_alamat = (EditText)findViewById(R.id.textAlamat);
text_telepon = (EditText)findViewById(R.id.textTelepon);
text_tempatlahir = (EditText)findViewById(R.id.textTempatlahir);
text_tanggallahir = (EditText)findViewById(R.id.textTanggallahir);
button_daftar = (Button)findViewById(R.id.buttonDaftar);
button_view = (Button)findViewById(R.id.buttonView);
button_search = (Button)findViewById(R.id.buttonSearch);
button_edit = (Button)findViewById(R.id.buttonEdit);
button_hapus = (Button)findViewById(R.id.buttonDelete);
radio_lakilaki = (RadioButton)findViewById(R.id.radioLakilaki);
radio_perempuan = (RadioButton)findViewById(R.id.radioPerempuan);
cb_membaca = (CheckBox)findViewById(R.id.cbMembaca);
cb_maingame = (CheckBox)findViewById(R.id.cbMaingame);
cb_bersepeda = (CheckBox)findViewById(R.id.cbBersepada);
cb_berkumpul = (CheckBox)findViewById(R.id.cbBrkumpul);
cb_mendaki = (CheckBox)findViewById(R.id.cbMendaki);
cb_sepakbola = (CheckBox)findViewById(R.id.cbSepakbola);
imagecamera = findViewById(R.id.imagecamera);
btncapture = findViewById(R.id.btncamera);
btngaleri = findViewById(R.id.btngaleri);
button_daftar.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (radio_lakilaki.isChecked()){
jk = "Laki-Laki";
radio_perempuan.setChecked(false);
}
if (radio_perempuan.isChecked()){
jk = "Perempuan";
radio_perempuan.setChecked(false);
}
button_view.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
}
});
button_search.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(text_nim.getText().toString().trim().length()==0)
{
Toast.makeText(getApplicationContext(), "Masukkan NIS",
Toast.LENGTH_SHORT).show();
return;
}
button_edit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(text_nim.getText().toString().trim().length()==0)
{
Toast.makeText(getApplicationContext(), "Masukkan NIS",
Toast.LENGTH_SHORT).show();
return;
}
if (radio_lakilaki.isChecked()){
jk = "Laki-Laki";
radio_perempuan.setChecked(false);
}
if (radio_perempuan.isChecked()){
jk = "Perempuan";
radio_perempuan.setChecked(false);
}
}
});
button_hapus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(text_nim.getText().toString().trim().length()==0)
{
Toast.makeText(getApplicationContext(), "Masukkan NIS",
Toast.LENGTH_SHORT).show();
return;
}
btncapture.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//intent khusus untuk menangkap foto lewat kamera
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, MY_PERMISSIONS_REQUEST_CAMERA);
}
});
btngaleri.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//intent khusus untuk menangkap dari galery
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent,
MY_PERMISSIONS_REQUEST_GALERI);
}
});
//Izin Mengakses Camera
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) !=
PackageManager.PERMISSION_GRANTED) {
if (getFromPref(this, ALLOW_KEY)) {
showSettingsAlert();
} else if
(ContextCompat.checkSelfPermission(this,Manifest.permission.CAMERA)
!= PackageManager.PERMISSION_GRANTED) {
if
(ActivityCompat.shouldShowRequestPermissionRationale(this,Manifest.permission.CAM
ERA)) {
showAlert();
} else {
// No explanation needed, we can request the permission.
ActivityCompat.requestPermissions(this,new
String[]
{Manifest.permission.CAMERA},MY_PERMISSIONS_REQUEST_CAMERA);
}
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case(MY_PERMISSIONS_REQUEST_CAMERA) :
if(resultCode == Activity.RESULT_OK)
{
// result code sama, save gambar ke bitmap
Bitmap bitmap;
bitmap = (Bitmap) data.getExtras().get("data");
imagecamera.setImageBitmap(bitmap);
}
break;
case(MY_PERMISSIONS_REQUEST_GALERI) :
if(resultCode == Activity.RESULT_OK)
{
try {
final Uri imageUri = data.getData();
final InputStream imageStream =
getContentResolver().openInputStream(imageUri);
final Bitmap selectedImage =
BitmapFactory.decodeStream(imageStream);
imagecamera.setImageBitmap(selectedImage);
} catch (FileNotFoundException e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), "Something went
wrong", Toast.LENGTH_LONG).show();
}
}
break;
}
}
public static void saveToPreferences(Context context, String key, Boolean
allowed) {
SharedPreferences myPrefs = context.getSharedPreferences(CAMERA_PREF,
Context.MODE_PRIVATE);
SharedPreferences.Editor prefsEditor = myPrefs.edit();
prefsEditor.putBoolean(key, allowed);
prefsEditor.commit();
}
public static Boolean getFromPref(Context context, String key) {
SharedPreferences myPrefs = context.getSharedPreferences(CAMERA_PREF,
Context.MODE_PRIVATE);
return (myPrefs.getBoolean(key, false));
}
private void showAlert() {
android.app.AlertDialog alertDialog = new
android.app.AlertDialog.Builder(nurhaerunnisa_192421_i.this).create();
alertDialog.setTitle("Alert");
alertDialog.setMessage("App needs to access the Camera.");
alertDialog.setButton(android.app.AlertDialog.BUTTON_NEGATIVE, "DONT
ALLOW",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
finish();
}
});
alertDialog.setButton(android.app.AlertDialog.BUTTON_POSITIVE, "ALLOW",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
ActivityCompat.requestPermissions(nurhaerunnisa_192421_i.this,
new String[]{Manifest.permission.CAMERA},
MY_PERMISSIONS_REQUEST_CAMERA);
}
});
alertDialog.show();
}
private void showSettingsAlert() {
android.app.AlertDialog alertDialog = new
android.app.AlertDialog.Builder(nurhaerunnisa_192421_i.this).create();
alertDialog.setTitle("Alert");
alertDialog.setMessage("App needs to access the Camera.");
alertDialog.setButton(android.app.AlertDialog.BUTTON_NEGATIVE, "DONT
ALLOW",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
//finish();
}
});
alertDialog.setButton(AlertDialog.BUTTON_POSITIVE, "SETTINGS",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
startInstalledAppDetailsActivity(nurhaerunnisa_192421_i.this);
}
});
alertDialog.show();
}
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[],
int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case MY_PERMISSIONS_REQUEST_CAMERA: {
for (int i = 0, len = permissions.length; i < len; i++) {
String permission = permissions[i];
if (grantResults[i] == PackageManager.PERMISSION_DENIED) {
boolean showRationale =
ActivityCompat.shouldShowRequestPermissionRationale(this, permission);
if (showRationale) {
showAlert();
} else if (!showRationale) {
saveToPreferences(nurhaerunnisa_192421_i.this,
ALLOW_KEY, true);
}
}
}
}
}
}
@Override
protected void onResume() {
super.onResume();
}
public static void startInstalledAppDetailsActivity(final
nurhaerunnisa_192421_i
context) {
if (context == null) {
return;
}
final Intent i = new Intent();
i.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
i.addCategory(Intent.CATEGORY_DEFAULT);
i.setData(Uri.parse("package:" + context.getPackageName()));
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
i.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
context.startActivity(i);
}
}
xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".nurhaerunnisa_192421_i">
<EditText
android:id="@+id/textAlamat"
android:layout_width="350dp"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Alamat"
android:inputType="text"
android:textSize="10sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.262"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textNama" />
<EditText
android:id="@+id/textTelepon"
android:layout_width="350dp"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Telepon"
android:inputType="text"
android:textSize="10sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.262"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/textAlamat" />
<EditText
android:id="@+id/textTempatlahir"
android:layout_width="350dp"
android:layout_height="wrap_content"
android:layout_marginTop="236dp"
android:ems="10"
android:hint="Tempat Lahir"
android:inputType="text"
android:textSize="10sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.262"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/textTanggallahir"
android:layout_width="314dp"
android:layout_height="wrap_content"
android:layout_marginTop="268dp"
android:ems="10"
android:hint="Tanggal Lahir"
android:inputType="text"
android:textSize="10sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.164"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="156dp"
android:layout_marginTop="16dp"
android:text="Form Registrasi"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/textNIM"
android:layout_width="280dp"
android:layout_height="wrap_content"
android:layout_marginTop="48dp"
android:ems="10"
android:hint="NIM"
android:inputType="text"
android:textSize="10sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.122"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/textNama"
android:layout_width="350dp"
android:layout_height="wrap_content"
android:layout_marginTop="84dp"
android:ems="10"
android:inputType="text"
android:hint="Nama"
android:textSize="10sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.262"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView2"
android:layout_width="150dp"
android:layout_height="25dp"
android:layout_marginTop="188dp"
android:text="Jenis Kelamin : "
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.061"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<RadioButton
android:id="@+id/radioLakilaki"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="188dp"
android:text="Laki-laki"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.545"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<RadioButton
android:id="@+id/radioPerempuan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="188dp"
android:text="Perempuan"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.853"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="316dp"
android:text="Hobby :"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.044"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/buttonView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="60dp"
android:backgroundTint="#888585"
android:text="View"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/buttonDaftar"
app:layout_constraintHorizontal_bias="0.134"
app:layout_constraintStart_toEndOf="@id/buttonEdit"
app:strokeColor="#FFFFFF" />
<Button
android:id="@+id/buttonDaftar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="60dp"
android:backgroundTint="#888585"
android:text="Simpan"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toEndOf="@id/buttonView"
app:strokeColor="#FFFFFF" />
<Button
android:id="@+id/buttonDelete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="60dp"
android:backgroundTint="#888585"
android:text="Hapus"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/buttonEdit"
app:layout_constraintHorizontal_bias="0.372"
app:layout_constraintStart_toStartOf="parent"
app:strokeColor="#FFFFFF" />
<Button
android:id="@+id/buttonEdit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="60dp"
android:backgroundTint="#888585"
android:text="Edit"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/buttonView"
app:layout_constraintHorizontal_bias="0.321"
app:layout_constraintStart_toEndOf="@id/buttonDelete"
app:strokeColor="#FFFFFF" />
<Button
android:id="@+id/buttonSearch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="#888585"
android:text="Cari"
app:layout_constraintBottom_toTopOf="@+id/textNama"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toEndOf="@id/textNIM"
app:strokeColor="#FFFFFF" />
<ImageButton
android:id="@+id/buttonTgl"
android:layout_width="36dp"
android:layout_height="36dp"
android:layout_marginTop="268dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.88"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@android:drawable/ic_menu_my_calendar" />
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="56dp"
android:orientation="vertical"
app:layout_constraintEnd_toStartOf="@+id/radioGroup2"
app:layout_constraintHorizontal_bias="0.266"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textTanggallahir">
<CheckBox
android:id="@+id/cbBersepada"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bersepeda" />
<CheckBox
android:id="@+id/cbMembaca"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Membaca" />
<CheckBox
android:id="@+id/cbMaingame"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Main Games" />
</RadioGroup>
<RadioGroup
android:id="@+id/radioGroup2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="56dp"
android:layout_marginEnd="44dp"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textTanggallahir">
<CheckBox
android:id="@+id/cbSepakbola"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sepakbola" />
<CheckBox
android:id="@+id/cbBrkumpul"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Berkumpul Dengan Teman" />
<CheckBox
android:id="@+id/cbMendaki"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Mendaki Gunung" />
</RadioGroup>
<ImageView
android:id="@+id/imagecamera"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_marginStart="8dp"
android:layout_marginTop="25dp"
app:layout_constraintBottom_toTopOf="@+id/buttonDelete"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/radioGroup1"
app:layout_constraintVertical_bias="0.0"
app:srcCompat="@android:drawable/ic_menu_camera" />
<Button
android:id="@+id/btncamera"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="15dp"
android:backgroundTint="#888585"
android:text="Capture"
app:layout_constraintBottom_toTopOf="@id/btngaleri"
app:layout_constraintStart_toEndOf="@id/imagecamera"
app:layout_constraintTop_toBottomOf="@id/radioGroup2"
app:strokeColor="#FFFFFF" />
<Button
android:id="@+id/btngaleri"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginEnd="24dp"
android:backgroundTint="#888585"
android:text="Galeri"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/btncamera"
app:strokeColor="#FFFFFF" />
</androidx.constraintlayout.widget.ConstraintLayout>