Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android保存到SD卡_Android_Image_Save_Sd Card - Fatal编程技术网

android保存到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");

大家好我有个小问题

我有这个代码可以将图像保存到SD卡

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卡上
  • 图像缓存也存在