Я пытаюсь написать код для сжатия изображения, используя библиотеку Compressor: https://github.com/zetbaitsu/Compressor и использую эту строку для сжатия:
compressedImageFile = new Compressor(this).compressToFile(actualImageFile);
Однако при сборке приложения я получил следующее сообщение об ошибке:
ошибка: несовместимые типы: PictureOneFragment не может быть преобразован в контекст
Я изменил «this» на getActivity (). Я получил другое сообщение об ошибке:
ошибка: незарегистрированное исключение IOException; должен быть пойман или объявлен брошенным
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_PICTURE_CAPTURE && resultCode == Activity.RESULT_OK) {
File imgFile = new File(pictureFilePath);
if(imgFile.exists()) {
File compressedImageFile = new Compressor(getActivity()).compressToFile(imgFile);
try {
mPage.getData().putString(PictureOnePage.PICTURE_NAME + "_" + mPage.getTitle().trim(), pictureFilePath);
mPage.notifyDataChanged();
bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), Uri.fromFile(imgFile));
mImgView.setImageBitmap(bitmap);
} catch (IOException e) {
Log.i("eProject : ", e.toString());
e.printStackTrace();
}
}
}
}
Каков правильный контекст для библиотеки Compressor?