2013-10-28 33 views
0
文件

有人能解釋這是怎麼回事錯在這裏我使用下面的函數如何JSON數據寫入到Android的

public void WriteSettings(Context context, String data){ 
    FileOutputStream fOut = null; 
    OutputStreamWriter osw = null; 

    try{ 
    fOut = context.openFileOutput("schemas.json",Context.MODE_APPEND);  
    osw = new OutputStreamWriter(fOut); 
    osw.write(data); 
    osw.flush(); 
    Toast.makeText(context, data+"Data",Toast.LENGTH_SHORT).show(); 
    Toast.makeText(context, "Settings saved",Toast.LENGTH_SHORT).show(); 
    } 
    catch (Exception e) {  
    e.printStackTrace(); 
    Toast.makeText(context, "Settings not saved",Toast.LENGTH_SHORT).show(); 
    } 
    finally { 
     try { 
       osw.close(); 
       fOut.close(); 
       } catch (IOException e) { 
       e.printStackTrace(); 
       } 
    } 
} 

而且隨着一次我的HTTP請求完成

的JSONObject json_res =調用currentDFD.getJSONObject( 「結果」); WriteSettings(getBaseContext(),json_res.toString());

結果在祝酒然而,不是寫入文件位於資源文件夾中的文件 由於事先

+0

請提供您收到的錯誤日誌消息。 – Vigbyor

+0

我沒有收到任何錯誤信息數據顯示在烤麪包中,第二個烤麪包設置保存也顯示,但我的文件schemas.json仍然是空的:( – androidBeckhamania

+0

之前,驗證您可以存儲任何數據,如:'WriteSettings( getBaseContext(),「blablabla」);' –

回答

2

驚動AFAIK你不能。資產文件夾在運行時是隻讀的。

選擇另一個位置來保存您的數據,請參閱Data Storage in Android瞭解更多信息。

資產文件夾就像文件夾res,src,gen等。這些都是有用的提供不同的文件作爲輸入來構建系統來爲您的應用程序生成APK文件。

所有這些在您的應用運行時都是隻讀的。在運行時,您只能寫入SD卡。