2 hcg 21 hcg_21 于 2012.11.01 17:00 提问

Android中SD card存储图片问题

我有一个小问题,我用下面的代码在SD card中保存图片:

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");

然后显示俩个错误,第一个是在public String SDSave( )

错误 This method must return a result of type String
第二个是String sdSave = SDSave(extStorageDirectory + "/qr11.PNG");

错误 The method SDSave() in the type WhereAmI is not applicable for the arguments (String)
请求大牛帮忙改正,好困惑。谢谢!

3个回答

nana4ever
nana4ever   2012.11.01 17:32
已采纳

在manifest文件中写入:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

就不用那么麻烦了。

sasuke38
sasuke38   2012.11.02 09:53
public void SDSave(String file){
    File f=new File(file);
    ...
}
hcg_21
hcg_21 谢谢你的答案,给我启发~~
5 年多之前 回复
hxn_217
hxn_217   2012.11.02 11:00

要调用你的方法返回一个字符串

 public String SDSave()

在代码的结尾返回:

return "someString"; 

如果你不想返回一个字符串,使用这个方法:

public void SDSave()

对于程序中的第二个错误,你应该给方法中传递一个字符串,但是在你的方法中没有设置任何变量。应该加上:

public void SDSave(String myInputStringVariable)
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!