gpt4 book ai didi

java - 为什么我的方法返回空值?

转载 作者:行者123 更新时间:2023-12-01 09:52:55 25 4
gpt4 key购买 nike

我已将变量目录声明为全局变量,并在下面的 returnData 方法中使用该变量,但它返回 null 值。

public void SaveImage(String FileName, Bitmap mBitmap) {

if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
String root = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).toString();

File directory = new File(root + File.separator + "HMS_BARCODE");
directory.mkdirs();
//create a file to write bitmap data
File f = new File(directory, FileName + ".png");
Log.e("dir", "" + directory);
try {
f.createNewFile();
} catch (IOException e) {
e.printStackTrace();
Log.e("IOException", "IOException");
}

//Convert bitmap to byte array
ByteArrayOutputStream bos = new ByteArrayOutputStream();
mBitmap.compress(Bitmap.CompressFormat.PNG, 0, bos);
byte[] bytearray = bos.toByteArray();

//Write bytes in file
FileOutputStream fos = null;
try {
fos = new FileOutputStream(f);
fos.write(bytearray);
fos.flush();
fos.close();
} catch (Exception e) {
e.printStackTrace();
Log.e("Exception", "" + e);
}

} else {

String root = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).toString();
directory = new File(root + File.separator + "HMS_BARCODE");
if (!directory.exists()) {
directory.mkdirs();
}

File f = new File(directory, FileName + ".png");
Log.e("dir1", "" + directory);



try {
f.createNewFile();
} catch (IOException e) {
e.printStackTrace();
Log.e("IOException", "IOException");
}
Log.e("dir1", "" + directory);

//Convert bitmap to byte array
ByteArrayOutputStream bos = new ByteArrayOutputStream();
mBitmap.compress(Bitmap.CompressFormat.PNG, 0, bos);
byte[] bytearray = bos.toByteArray();

//Write bytes in file
FileOutputStream fos = null;
try {
fos = new FileOutputStream(f);
fos.write(bytearray);
fos.flush();
fos.close();
} catch (Exception e) {
e.printStackTrace();
Log.e("Exception", "" + e);
}

}


}

// this is method returning null value I want want that directory
// value to pass to another class
public File returnData() {
Log.e("Exception", "" + directory);
return directory;
}

最佳答案

请正确格式化您的问题,这很难阅读。据我所知,您的目录变量不是全局的,它是 saveImage 方法的本地变量。

如果您想从同一类实例的不同方法访问目录变量,则需要将其声明为类变量。例如:

public class MyClass {

private File directory;

public void saveImage(...) {....}

public File returnData(...) {...}
}

关于java - 为什么我的方法返回空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37495411/

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