android保存到SD卡
大家好我有个小问题 我有这个代码可以将图像保存到SD卡android保存到SD卡,android,image,save,sd-card,Android,Image,Save,Sd Card,大家好我有个小问题 我有这个代码可以将图像保存到SD卡 public String SDSave( ) { //View arg0 // TODO Auto-generated method stub OutputStream outStream = null; File file = new File( extStorageDirectory , AdName + ".PNG");
public String SDSave( ) { //View arg0
// TODO Auto-generated method stub
OutputStream outStream = null;
File file = new File( extStorageDirectory , AdName + ".PNG");
try {
outStream = new FileOutputStream(file);
bm.compress(Bitmap.CompressFormat.PNG, 100, outStream);
outStream.flush();
outStream.close();
Toast.makeText(WhereAmI.this, "Saved", Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Toast.makeText(WhereAmI.this, e.toString(), Toast.LENGTH_LONG).show();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Toast.makeText(WhereAmI.this, e.toString(), Toast.LENGTH_LONG).show();
}
}
我用另一种方法来称呼它,就像这样:
String sdSave = SDSave(extStorageDirectory + "/qr11.PNG");
我显示了两个错误第一个是在publicstringsdsave()
的方法中,它说:
This method must return a result of type String
第二个是在stringsdsave=sdSave(extStorageDirectory+“/qr11.PNG”)代码>上面写着:
The method SDSave() in the type WhereAmI is not applicable for the arguments (String)
请提供一些关于如何修复它的帮助
谢谢您将方法声明为公共字符串
,这意味着它必须从函数返回字符串对象(使用返回
关键字)。如果您不希望函数返回任何内容,请使用无效
关键字而不是字符串
第二个错误意味着在某个地方调用了SDSave
方法,使用字符串作为参数(SDSave(extStorageDirectory+“/qr11.PNG”);
),而此函数不接受任何参数(publicstringsdsave()
)
我建议您尝试使用or,因为这些规则是Java的基础(实际上也是许多编程语言的基础)。您要求方法返回字符串
public String SDSave()
您需要在代码末尾的行:
return "someString";
如果不想返回字符串,请使用:
public void SDSave()
第二个错误是,您试图将字符串传递到方法中,但方法不接受任何变量。您需要:
public void SDSave(String myInputStringVariable)
是的,这些都是Java basic的,所以我会去阅读Java和OO,也看看这个:
尝试在清单中写入这一行:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
希望它能对你有所帮助。嘿,你可以使用我在Github repo上共享的示例代码。此示例包含:
public void SDSave(String file){
File f=new File(file);
...
}
从网上下载图片
您也可以共享此图像
您可以将此图像保存在Sd卡上
图像缓存也存在