gpt4 book ai didi

java - getApplicationContext() 无法解析

转载 作者:搜寻专家 更新时间:2023-11-01 08:35:47 24 4
gpt4 key购买 nike

我正在尝试使用一种方法从布局生成位图并将位图保存到内存中的文件中。但是,getApplicationContext() 未解析。

方法代码如下

    private void generateAndSaveBitmap(View layout) {
//Generate bitmap
layout.setDrawingCacheEnabled(true);
layout.buildDrawingCache();
Bitmap imageToSave = layout.getDrawingCache();

//Create a file and path
ContextWrapper cw = new ContextWrapper(getApplicationContext());
File directory = cw.getDir("imageDir", Context.MODE_PRIVATE);
File fileName = new File(directory, "sharableImage.jpg");
if (fileName.exists())
fileName.delete();

//Compress and save bitmap under the mentioned fileName
FileOutputStream fos = null;
try {
fos = new FileOutputStream(fileName);
imageToSave.compress(Bitmap.CompressFormat.JPEG, 100, fos);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fos != null) {
try {
fos.flush();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
// return directory.getAbsolutePath();
}

使用 StackOverFlow 代码的一些帮助来生成此方法。即使阅读了有关 getApplicationContext() 的相关查询,我也无法找到问题所在。任何帮助将不胜感激

编辑:忘记提及,方法 generateAndSaveBitmap(View layout) 是在一个单独的类中定义的

问候

最佳答案

第 1 步:删除 ContextWrapper cw = new ContextWrapper(getApplicationContext());,因为您不需要它。

第 2 步:将 cw.getDir("imageDir", Context.MODE_PRIVATE); 替换为 layout.getContext().getDir("imageDir", Context.MODE_PRIVATE);

此外,请将此磁盘 I/O 移至后台线程。

关于java - getApplicationContext() 无法解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36800694/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com