Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.andiarsipnaskahdigitalbengkayang;
- import androidx.annotation.NonNull;
- import androidx.appcompat.app.AppCompatActivity;
- import androidx.core.app.ActivityCompat;
- import androidx.core.content.ContextCompat;
- import android.Manifest;
- import android.content.Intent;
- import android.content.pm.PackageManager;
- import android.graphics.Bitmap;
- import android.net.Uri;
- import android.os.Bundle;
- import android.provider.MediaStore;
- import android.util.Base64;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.ImageView;
- import android.widget.Toast;
- import com.andiarsipnaskahdigitalbengkayang.service.Service_Connector;
- import org.json.JSONObject;
- import java.io.ByteArrayOutputStream;
- import java.io.IOException;
- import java.util.HashMap;
- import java.util.Map;
- public class ContohTambahActivity extends AppCompatActivity implements View.OnClickListener {
- Button btnAdd, btnUpload;
- ImageView imageView;
- String isi_file;
- private Bitmap bitmap, decode;
- private Uri filePath;
- private int PICK_IMAGE_REQUEST = 1;
- private static final int STORAGE_PERMISSION_CODE = 123;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_contoh_tambah);
- btnAdd = findViewById(R.id.btnAdd);
- btnUpload = findViewById(R.id.btnUpload);
- imageView = findViewById(R.id.imageView);
- btnAdd.setOnClickListener(this);
- btnUpload.setOnClickListener(this);
- }
- @Override
- public void onClick(View v) {
- if (v == btnAdd) {
- requestStoragePermission();
- showFileChooser();
- }
- if (v == btnUpload) {
- uploadImage(isi_file);
- Log.i("daaata", isi_file);
- }
- }
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
- filePath = data.getData();
- try {
- bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), filePath);
- bitmaptostring(bitmap);
- imageView.setImageBitmap(bitmap);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- private void showFileChooser() {
- Intent intent = new Intent();
- intent.setType("image/*");
- intent.setAction(Intent.ACTION_GET_CONTENT);
- startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE_REQUEST);
- }
- private void requestStoragePermission() {
- if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)
- return;
- if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_EXTERNAL_STORAGE)) {
- //If the user has denied the permission previously your code will come to this block
- //Here you can explain why you need this permission
- //Explain here why you need this permission
- }
- ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, STORAGE_PERMISSION_CODE);
- }
- @Override
- public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
- //Checking the request code of our request
- if (requestCode == STORAGE_PERMISSION_CODE) {
- //If permission is granted
- if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- //Displaying a toast
- Toast.makeText(this, "Permission granted now you can read the storage", Toast.LENGTH_LONG).show();
- } else {
- //Displaying another toast if permission is not granted
- Toast.makeText(this, "Oops you just denied the permission", Toast.LENGTH_LONG).show();
- }
- }
- }
- public void bitmaptostring(Bitmap bitmap){
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- bitmap.compress(Bitmap.CompressFormat.PNG,100,bos);
- byte[] bb = bos.toByteArray();
- isi_file = Base64.encodeToString(bb, Base64.DEFAULT);
- }
- private void uploadImage(String image){
- Map<String, String> map = new HashMap();
- map.put("image", image);
- //untuk send post session request
- Service_Connector.sendpostrequest(ContohTambahActivity.this, "upload.php", map, new Service_Connector.VolleyResponseListener_v3() {
- @Override
- public void onError(String message) {
- Toast.makeText(ContohTambahActivity.this, "Gagal menambahkan arsip", Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onResponese(String response) {
- try {
- JSONObject respon = new JSONObject(response);
- if (respon.getString("error").equals("false")) {
- Toast.makeText(ContohTambahActivity.this, "Data berhasil diperbaharui", Toast.LENGTH_SHORT).show();
- // Intent intent = new Intent(ContohTambahActivity.this, DetailArsipActivity.class);
- // startActivity(intent);
- // finish();
- } else if (respon.getString("error").equals("true")){
- Toast.makeText(ContohTambahActivity.this, respon.getString("message"), Toast.LENGTH_SHORT).show();
- }
- } catch (Exception e) {
- }
- }
- @Override
- public void onNoConnection(String message) {
- Toast.makeText(ContohTambahActivity.this, "Tidak ada koneksi internet", Toast.LENGTH_SHORT).show();
- }
- @Override
- public void OnServerError(String message) {
- Toast.makeText(ContohTambahActivity.this, "Gagal memperbaharui arsip", Toast.LENGTH_SHORT).show();
- }
- @Override
- public void OnTimeOut() {
- Toast.makeText(ContohTambahActivity.this, "Habis waktu, coba lagi", Toast.LENGTH_SHORT).show();
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement