2014-12-03 19 views
5

Android geliştirme konusunda yeniyim. Şu anda, bir String Array'i dahili bir depoya yazmak ve okumak için basit bir uygulama geliştiriyorum.Okuma/Okuma Dize Dizisi dahili depolama alanı android

Önce Bir dizi daha sonra depolama kaydetmek zorunda, bir sonraki etkinlik onlara yük ve bunları diziye atar B. sizi

+0

Etkinliğiniz kapalı olsa bile dizininizin kaydedilmesini istiyorsunuz? – Darpan

+0

Evet. İnternetten indirdiğiniz gibi bir şey kaydedin ve bir dahaki sefere sadece dahili depolama biriminden yükleyin –

cevap

4

sen dizini önbelleğe almak yourObject saklamak isterseniz, bu bunu nasıl olduğunu ederiz -

String[] yourObject = {"a","b"}; 
    FileOutputStream stream = null; 

    /* you should declare private and final FILENAME_CITY */ 
    stream = ctx.openFileOutput(YourActivity.this.getCacheDir()+YOUR_CACHE_FILE_NAME, Context.MODE_PRIVATE); 
    ObjectOutputStream dout = new ObjectOutputStream(stream); 
    dout.writeObject(yourObject); 

    dout.flush(); 
    stream.getFD().sync(); 
    stream.close(); 

geri okumak için -

String[] readBack = null; 

FileInputStream stream = null; 

    /* you should declare private and final FILENAME_CITY */ 
    inStream = ctx.openFileInput(YourActivity.this.getCacheDir()+YOUR_CACHE_FILE_NAME); 
    ObjectInputStream din = new ObjectInputStream(inStream); 
    readBack = (String[]) din.readObject(yourObject); 

    din.flush(); 

    stream.close(); 
10

bir dosyaya yazmak için:

try { 
     File myFile = new File(Environment.getExternalStorageDirectory().getPath()+"/textfile.txt"); 
     myFile.createNewFile(); 
     FileOutputStream fOut = new FileOutputStream(myFile); 
     OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut); 
     myOutWriter.write("replace this with your string"); 
     myOutWriter.close(); 
     fOut.close(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
dosyadan okumak için:

Böylece
String pathoffile; 
    String contents=""; 

    File myFile = new File(Environment.getExternalStorageDirectory().getPath()+"/textfile.txt"); 
    if(!myFile.exists()) 
    return ""; 
    try { 
     BufferedReader br = new BufferedReader(new FileReader(myFile)); 
     int c; 
     while ((c = br.read()) != -1) { 
      contents=contents+(char)c; 
     } 

    } 
    catch (IOException e) { 
     //You'll need to add proper error handling here 
     return ""; 
    } 

olacak dize "içindekiler" daki dosya içeriğini geri almak

Not: okumak ve manifest dosyasında

yazma izinleri sağlamalıdır
2

Android'de çeşitli storage options var. Bu post bir çözüm olabilir

: Bir dize dizisi saklamak istiyorsanız

, SharedPreferences kullanın.

İlgili konular