大家好,我有个小问题
我有这个代码把图像保存到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");

im显示两个错误,第一个是在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)

请帮忙修理它…..
谢谢您

最佳答案

您将方法声明为public String这意味着它必须从函数返回一个字符串对象(使用return关键字)如果您不希望函数返回任何内容,请使用void关键字而不是String
第二个错误意味着您在调用SDSave方法时使用字符串作为参数(SDSave(extStorageDirectory + "/qr11.PNG");),而此函数不接受参数(public String SDSave( ))。
我建议你试试Java tutorialtwo,因为这些规则是Java的基础知识(实际上是许多编程语言)。

10-08 09:47