Recently Added

6/recent/ticker-posts

How to Convert Image to PDF in Android Studio Part 2

In this video I am going to show you how to ask for multiples permission at one time and also we will open the camera and capture and show in imageview and also show the name of the image 

so let's start.


1.add this code in Your MainActivity.java


public class MainActivity extends AppCompatActivity {


private static final int REQUEST_CODE = 100;
String folderPath = Environment.getDataDirectory().getAbsolutePath()
+ "/storage/emulated/0/your_folder_name";
File directory = new File("/sdcard/your_folder_name/");

Button camera, upload, convert;
ImageView img;
TextView title;
ProgressBar progressBar;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
askPermission();

camera = findViewById(R.id.convertor_toll_camera);
upload = findViewById(R.id.convertor_toll_upload);
convert = findViewById(R.id.convertor_toll_convert);
img = findViewById(R.id.convertor_toll_imageView);
title = findViewById(R.id.convertor_toll_fileName);
progressBar = findViewById(R.id.progressBar);

camera.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (directory.exists()) {
progressBar.setVisibility(View.VISIBLE);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, REQUEST_CODE);
} else {
progressBar.setVisibility(View.GONE);
Toast.makeText(MainActivity.this, "try again",
Toast.LENGTH_SHORT).show();
createFolder();
}
}
});
upload.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (directory.exists()) {
progressBar.setVisibility(View.VISIBLE);
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(intent, REQUEST_CODE);
} else {
progressBar.setVisibility(View.GONE);
Toast.makeText(MainActivity.this, "try again",
Toast.LENGTH_SHORT).show();
createFolder();
}
}
});

}

@RequiresApi(api = Build.VERSION_CODES.O)
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
progressBar.setVisibility(View.GONE);
if (data != null) {
Uri selectedImage = data.getData();
String[] filePathColumn = {MediaStore.Images.Media.DATA, MediaStore.Images.Media.DISPLAY_NAME};
Cursor cursor = getContentResolver().query(selectedImage, filePathColumn,
null, null);
cursor.moveToFirst();
int filePath = cursor.getColumnIndex(filePathColumn[0]);
int fileName = cursor.getColumnIndex(filePathColumn[1]);
String path = cursor.getString(filePath);
String name = cursor.getString(fileName);
cursor.close();
img.setImageURI(Uri.parse(path));
title.setText(name);
} else {
Toast.makeText(this, "select a image",
Toast.LENGTH_SHORT).show();
}
}

private void askPermission() {
if (ContextCompat.checkSelfPermission(MainActivity.this,
Manifest.permission.WRITE_EXTERNAL_STORAGE)
+ ContextCompat.checkSelfPermission(MainActivity.this,
Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.CAMERA}, REQUEST_CODE);
}
}

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
@NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == REQUEST_CODE) {
createFolder();
}
}

private void createFolder() {
File folder = new File(folderPath);
if (!folder.exists()) {
folder.mkdir();
}
directory.mkdirs();

}
}

2.add permission in AndroidManifest.xml


<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>

3. I added some id in convertor_toll.xml you can check the video for a better explanation

Watch full Tutorials

Post a Comment

1 Comments