提问人:Danny Salim 提问时间:5/10/2019 最后编辑:DhaiyurDanny Salim 更新时间:5/10/2019 访问量:796
如何在 Android Studio 的 Compressor 库中填充“this”上下文
How to Fill the 'this' Context in Compressor Library in Android Studio
问:
我正在尝试编写一个代码来使用 Compressor 库压缩图像:https://github.com/zetbaitsu/Compressor 并使用以下行进行压缩:
compressedImageFile = new Compressor(this).compressToFile(actualImageFile);
但是,在构建我的应用程序时,我收到了以下错误消息:
错误:不兼容的类型:无法将 PictureOneFragment 转换为上下文
我将“this”更改为getActivity()。我收到另一条错误消息:
error:未报告的异常 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 资源库的正确上下文是什么?
答:
0赞
Dharmendra Jagodana
5/10/2019
#1
只是几乎没有变化,您必须创建文件实例和裁剪图像实例
在尝试{
....
}
catch(IOException e){
...
} ,因为两者都可以在运行时抛出 IOException。
0赞
Gourav
5/10/2019
#2
只需插队:
File compressedImageFile = new Compressor(getActivity()).compressToFile(imgFile);
并将其放在其下方的 try 块中。
就这么简单,因为它也可能导致 .IOException
评论