Full tutorial is given below. Dear Viewer we are working hard to maintain this website. We doesn't want any think from you. Its just a humble request If you thinks that this posts helps you please share this post with your friends.
Pick an Image from the Gallery – Android Studio - Java
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.usmtip.myapplication"> <!--//Adding Read External Storage Permission--> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.MyApplication"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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" android:orientation="vertical" android:gravity="center_horizontal" tools:context=".MainActivity"> <!--ImageView on which image will be set--> <ImageView android:id="@+id/image_view" android:scaleType="centerCrop" android:layout_width="400dp" android:layout_height="400dp" /> <!--button to choose image--> <Button android:id="@+id/choose_image_btn" android:text="Choose Image" style="@style/Base.Widget.AppCompat.Button.Colored" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>
MainActivity.java
package com.usmtip.myapplication; import android.Manifest; import android.content.Intent; import android.content.pm.PackageManager; import android.os.Build; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.Toast; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { ImageView mImageView; Button mChooseBtn; private static final int IMAGE_PICK_CODE = 1000; private static final int PERMISSION_CODE = 1001; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //VIEWS mImageView = findViewById(R.id.image_view); mChooseBtn = findViewById(R.id.choose_image_btn); //handle button click mChooseBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //check runtime permission if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){ if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_DENIED){ //permission not granted, request it. String[] permissions = {Manifest.permission.READ_EXTERNAL_STORAGE}; //show popup for runtime permission requestPermissions(permissions, PERMISSION_CODE); } else { //permission already granted pickImageFromGallery(); } } else { //system os is less then marshmallow pickImageFromGallery(); } } }); } private void pickImageFromGallery() { //intent to pick image Intent intent = new Intent(Intent.ACTION_PICK); intent.setType("image/*"); startActivityForResult(intent, IMAGE_PICK_CODE); } //handle result of runtime permission @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); switch (requestCode) { case PERMISSION_CODE: { if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { //permission was granted pickImageFromGallery(); } else { //permission was denied Toast.makeText(this, "Permission denied...!", Toast.LENGTH_SHORT).show(); } } } } //handle result of picked image @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK && requestCode == IMAGE_PICK_CODE) { //set image to image view mImageView.setImageURI(data.getData()); } } }
0 Comments: