2011-04-03 56 views
3

喜所有我有一個小問題機器人保存到SD卡

我有這樣的代碼,將圖像保存到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(); 
       } 

      } 

和IM這樣從另一個梅索德調用它:

String sdSave = SDSave(extStorageDirectory + "/qr11.PNG"); 

和IM表示2個錯誤,第一是在在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) 

就如何解決它一些幫助,請.....

謝謝

回答

1

你宣佈你的方法public String這意味着如果不希望函數返回任何內容,則必須從函數返回String對象(使用return關鍵字),請使用void關鍵字而不是String

第二個錯誤意味着某個地方您使用String作爲參數調用SDSave方法(SDSave(extStorageDirectory + "/qr11.PNG");),而此函數不帶參數(public String SDSave())。

我建議你試試Java tutorialtwo,因爲這些規則是Java(甚至許多編程語言)的基礎知識。

1

你問你的方法返回一個字符串

public String SDSave() 

你需要的路線,在你的代碼的末尾:

return "someString"; 

如果你不想返回一個字符串使用:

public void SDSave() 

第二個錯誤,你試圖傳遞一個字符串到你的方法,但你的方法不需要任何VA riables。你將需要:

public void SDSave(String myInputStringVariable) 

是這些都是Java的基本的,所以我會去Java和OO讀了,也檢查了這一點:

Top Ten Errors Java Programmers Make

1

試試這個: 清單中寫關於用戶許可的文件.....

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

希望它能幫助你。

0
public void SDSave(String file){ 
    File f=new File(file); 
    ... 
} 
0

嘿,你可以使用在Github上回購link此示例包含共享我的示例代碼:從網絡

  1. 下載圖像。
  2. 您還可以分享這個圖片。
  3. 您可以將此圖像保存到SD卡上。
  4. 圖片緩存也存在