2015-02-21 18 views
7

android dahili depolamaya bir json verilerini okumaYaz ve ben bir json dizi php alınan var

[ 
    { 
     "name":"Daniel Bryan", 
     "img":"pictures\/smallest\/dierdrepic.jpg", 
     "username":"@dbryan", 
     "user_id":"4" 
    }, 
    { 
     "name":"Devil Hacker", 
     "img":"pictures\/smallest\/belitapic.jpg", 
     "username":"@dvHack", 
     "user_id":"1" 
    } 
] 
  • İstediğim şey yazma bir file_name.anyextension benim uygulamalar veri klasöründe bu veri veya etmektir güvenli bir yer.
  • Ayrıca bu verileri file_name.anyextension'dan okuyun ve daha sonra düzenlenebilir bir geçerli json array'a dönüştürün.

Bana bu şekilde nasıl bir şey yapabilirim?

+0

dönüştürmek okumak? – beresfordt

+0

'PrintWriter yazıcı = new PrintWriter (" FileName.txt "," UTF-8 "); writer.println (myjsonstring); writer.close(); '@beresfordt –

+0

Sorularınızı şimdiye kadar soru gövdesine koyabilir ve nasıl çalıştığını açıklar – beresfordt

cevap

15
private void writeToFile(String data) { 
    try { 
     OutputStreamWriter outputStreamWriter = new OutputStreamWriter(openFileOutput("config.txt", Context.MODE_PRIVATE)); 
     outputStreamWriter.write(data); 
     outputStreamWriter.close(); 
    } 
    catch (IOException e) { 
     Log.e("Exception", "File write failed: " + e.toString()); 
    } 
} 


private String readFromFile() { 

    String ret = ""; 

    try { 
     InputStream inputStream = context.openFileInput("config.txt"); 

     if (inputStream != null) { 
      InputStreamReader inputStreamReader = new InputStreamReader(inputStream); 
      BufferedReader bufferedReader = new BufferedReader(inputStreamReader); 
      String receiveString = ""; 
      StringBuilder stringBuilder = new StringBuilder(); 

      while ((receiveString = bufferedReader.readLine()) != null) { 
       stringBuilder.append(receiveString); 
      } 

      inputStream.close(); 
      ret = stringBuilder.toString(); 
     } 
    } 
    catch (FileNotFoundException e) { 
     Log.e("login activity", "File not found: " + e.toString()); 
    } catch (IOException e) { 
     Log.e("login activity", "Can not read file: " + e.toString()); 
    } 

    return ret; 
} 

zaman dosyadan dize böylece denedi neler şimdiye kadar 'dosyasına java okuma/yazma veri' Sana googled var varsayalım JSONObject nesnesi veya JsonArray

JSONArray jarray = new JSONArray(str); 
+0

'openFileInput (String), '& ' türü için tanımlanmamıştır. OpenFileOutput (String, int) yöntemi, –

+0

türü için undefined'dir. Sınıf, Activity'dan genişletilmemişse, "openFileInput()" yönteminin kullanılması Bu gibi olmalı: context.openFileInput() –

+0

Bir "JSONArray" var ve bir dosyaya yazmak için bir 'String' değil de sabit var mı? Bir dosyaya yazmak için mortezasoeimani –