Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.pkl.aplikasilogin;
- import android.Manifest;
- import android.app.Activity;
- import android.content.ContentResolver;
- import android.content.Context;
- import android.content.Intent;
- import android.content.SharedPreferences;
- import android.content.pm.PackageManager;
- import android.graphics.Bitmap;
- import android.graphics.BitmapFactory;
- import android.graphics.BitmapShader;
- import android.graphics.ImageDecoder;
- import android.net.Uri;
- import android.os.AsyncTask;
- import android.os.Build;
- import android.os.Bundle;
- import androidx.annotation.NonNull;
- import androidx.annotation.Nullable;
- import androidx.annotation.RequiresApi;
- import androidx.appcompat.app.AppCompatActivity;
- import androidx.fragment.app.Fragment;
- import androidx.fragment.app.FragmentManager;
- import androidx.fragment.app.FragmentTransaction;
- import android.provider.MediaStore;
- import android.util.Base64;
- import android.util.Log;
- import android.view.LayoutInflater;
- import android.view.Menu;
- import android.view.MenuInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.view.WindowManager;
- import android.widget.Button;
- import android.widget.ImageButton;
- import android.widget.ImageView;
- import android.widget.ListView;
- import android.widget.ProgressBar;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.android.volley.AuthFailureError;
- import com.android.volley.Request;
- import com.android.volley.RequestQueue;
- import com.android.volley.Response;
- import com.android.volley.VolleyError;
- import com.android.volley.toolbox.ImageLoader;
- import com.android.volley.toolbox.NetworkImageView;
- import com.android.volley.toolbox.StringRequest;
- import com.android.volley.toolbox.Volley;
- import com.bumptech.glide.Glide;
- import com.pkl.aplikasilogin._api.ApiServices;
- import com.pkl.aplikasilogin._api.ApiUrl;
- import com.pkl.aplikasilogin._modul.ItemUser;
- import com.pkl.aplikasilogin._util.SessionManager;
- import com.theartofdev.edmodo.cropper.CropImage;
- import com.theartofdev.edmodo.cropper.CropImageView;
- import org.json.JSONArray;
- import org.json.JSONException;
- import org.json.JSONObject;
- import java.io.ByteArrayOutputStream;
- import java.io.IOException;
- import java.net.MalformedURLException;
- import java.net.URI;
- import java.net.URL;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import butterknife.BindView;
- import butterknife.ButterKnife;
- import de.hdodenhof.circleimageview.CircleImageView;
- import okhttp3.ResponseBody;
- import retrofit2.Call;
- import retrofit2.Callback;
- import retrofit2.Retrofit;
- import retrofit2.converter.gson.GsonConverterFactory;
- import static android.app.Activity.RESULT_OK;
- import static android.content.Intent.getIntent;
- import static com.pkl.aplikasilogin._api.ApiUrl.URL_HEAD;
- public class AccountFragment extends Fragment {
- private TextView idUser, name, username, email, phone, gender, date;
- Button btnLogout;
- ImageButton btnEdit, btnPickImage;
- SessionManager sessionManager;
- String getId;
- String ID_USER;
- private Bitmap bitmap;
- public Context context;
- NetworkImageView photoProfile;
- String url = null;
- ImageLoader imageLoader;
- Activity mActivity;
- private static final String TAG = MainActivity.class.getSimpleName();
- private static String URL_READ = "http://192.168.1.9/login/read_detail.php";
- private static String URL_UPLOAD = "http://192.168.1.9/login/upload_photo.php";
- public AccountFragment() {
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- View view = inflater.inflate(R.layout.fragment_account, container, false);
- getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
- imageLoader = CustomVolleyRequest.getInstance(getActivity().getApplicationContext())
- .getImageLoader();
- photoProfile = view.findViewById(R.id.userPhoto);
- idUser = (TextView) view.findViewById(R.id.listID1);
- btnEdit = (ImageButton) view.findViewById(R.id.btn_edit);
- btnLogout = view.findViewById(R.id.btn_logout);
- btnPickImage = view.findViewById(R.id.btn_editPhoto);
- sessionManager = new SessionManager(getActivity());
- ID_USER = getActivity().getIntent().getStringExtra(ItemUser.id_user);
- HashMap<String, String> user = sessionManager.getUserDetail();
- getId = user.get(sessionManager.ID);
- name = (TextView) view.findViewById(R.id.txtName);
- username = (TextView) view.findViewById(R.id.txtUsername);
- email = (TextView) view.findViewById(R.id.txtEmail);
- phone = (TextView) view.findViewById(R.id.txtPhone);
- gender = (TextView) view.findViewById(R.id.txtGender);
- date = (TextView) view.findViewById(R.id.txtDate);
- btnLogout.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- sessionManager.logout();
- }
- });
- btnEdit.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(getActivity(), EditActivity.class);
- startActivity(intent);
- }
- });
- btnPickImage.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- chooseFile();
- }
- });
- return view;
- }
- @Override
- public void onAttach(@NonNull Activity activity) {
- super.onAttach(activity);
- mActivity = activity;
- }
- private void chooseFile(){
- Intent intent = new Intent();
- intent.setType("image/*");
- intent.setAction(Intent.ACTION_GET_CONTENT);
- startActivityForResult(Intent.createChooser(intent, "Select Picture"), 1);
- }
- @Override
- public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- if (requestCode == 1 && resultCode == RESULT_OK && data != null && data.getData() !=null){
- Uri filePath = data.getData();
- try {
- ImageDecoder.Source source = ImageDecoder.createSource(getActivity().getContentResolver(), filePath);
- bitmap= ImageDecoder.decodeBitmap(source);
- photoProfile.setImageBitmap(bitmap);
- } catch (IOException e){
- e.printStackTrace();
- }
- UploadPicture(getId,getStringImage(bitmap));
- }
- }
- private void UploadPicture(final String id, final String photo){
- StringRequest stringRequest = new StringRequest(Request.Method.POST, URL_UPLOAD,
- new Response.Listener<String>() {
- @Override
- public void onResponse(String response) {
- Log.i(TAG, response.toString());
- try {
- JSONObject jsonObject = new JSONObject(response);
- String status = jsonObject.getString("status");
- if (status.equals("1")) {
- Toast.makeText(getActivity(), "Berhasil Update!", Toast.LENGTH_SHORT).show();
- }
- } catch (Exception e) {
- e.printStackTrace();
- Toast.makeText(getActivity(), "Coba Lagi!" + e.toString(), Toast.LENGTH_SHORT).show();
- }
- }
- },
- new Response.ErrorListener() {
- @Override
- public void onErrorResponse(VolleyError error) {
- Toast.makeText(getActivity(), "Coba Lagi!"+error.toString(), Toast.LENGTH_SHORT).show();
- }
- })
- {
- @Override
- protected Map<String, String> getParams() throws AuthFailureError {
- Map<String, String> params = new HashMap<>();
- params.put("id", id);
- params.put("photo", photo);
- return params;
- }
- };
- RequestQueue requestQueue = Volley.newRequestQueue(getActivity());
- requestQueue.add(stringRequest);
- }
- public String getStringImage(Bitmap bitmap){
- ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
- bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
- byte[] imageByteArray = byteArrayOutputStream.toByteArray();
- String encodedImage = Base64.encodeToString(imageByteArray, Base64.DEFAULT);
- return encodedImage;
- }
- private void getUserDetail() {
- StringRequest stringRequest = new StringRequest(Request.Method.POST, URL_READ,
- response -> {
- Log.i(TAG, response.toString());
- try {
- JSONObject jsonObject = new JSONObject(response);
- String status = jsonObject.getString("status");
- JSONArray jsonArray = jsonObject.getJSONArray("read");
- if (status.equals("1")) {
- for (int i = 0; i < jsonArray.length(); i++) {
- JSONObject object = jsonArray.getJSONObject(i);
- String strId = object.getString("id").trim();
- String strName = object.getString("name").trim();
- String strUsername = object.getString("username").trim();
- String strEmail = object.getString("email").trim();
- String strPhone = object.getString("phone").trim();
- String strGender = object.getString("gender").trim();
- String strDate = object.getString("date").trim();
- idUser.setText(strId);
- name.setText(strName);
- username.setText(strUsername);
- email.setText(strEmail);
- phone.setText(strPhone);
- gender.setText(strGender);
- date.setText(strDate);
- }
- }
- } catch (JSONException e) {
- e.printStackTrace();
- Log.e(TAG, "getUserDetail: " + response);
- Toast.makeText(getActivity(), "Error Reading Detail " + e.toString(), Toast.LENGTH_SHORT).show();
- }
- },
- new Response.ErrorListener() {
- @Override
- public void onErrorResponse(VolleyError error) {
- Toast.makeText(getActivity(), "Error Reading Detail..." + error.toString(), Toast.LENGTH_SHORT).show();
- }
- }) {
- @Override
- protected Map<String, String> getParams() throws AuthFailureError {
- Map<String, String> params = new HashMap<>();
- params.put("id", getId);
- return params;
- }
- };
- RequestQueue requestQueue = Volley.newRequestQueue(getActivity());
- requestQueue.add(stringRequest);
- }
- public void FetchImage() {
- {
- StringRequest stringRequest = new StringRequest(Request.Method.POST,"http://192.168.1.9/get_image.php",
- new Response.Listener<String>() {
- @Override
- public void onResponse(String response) {
- try {
- JSONObject res = new JSONObject(response);
- JSONArray thread = res.getJSONArray("image");
- for (int i = 0; i < thread.length(); i++) {
- JSONObject obj = thread.getJSONObject(i);
- url = obj.getString("photo");
- }
- imageLoader.get(url, ImageLoader.getImageListener(photoProfile
- ,0,android.R.drawable
- .ic_dialog_alert));
- photoProfile.setImageUrl(url, imageLoader);
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
- },
- new Response.ErrorListener() {
- @Override
- public void onErrorResponse(VolleyError error) {
- }
- }) {
- @Override
- protected Map<String, String> getParams() throws AuthFailureError {
- Map<String, String> params = new HashMap<>();
- params.put("id",getId);
- return params;
- }
- };
- RequestQueue requestQueue = Volley.newRequestQueue(mActivity);
- //Adding request to the queue
- requestQueue.add(stringRequest);
- }
- }
- @Override
- public void onResume() {
- super.onResume();
- getUserDetail();
- FetchImage();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement