2014-12-03 11 views
5

Jestem nowy w rozwoju Androida. Obecnie pracuję nad prostą aplikacją do pisania i odczytywania tablicy String Array do pamięci wewnętrznej.Zapis/odczyt tablicy wyników do pamięci wewnętrznej Android

Najpierw musimy tablicą następnie zapisać je w pamięci, a następnie obok aktywność będzie je załadować i przypisać je do tablicy B. Dziękuję

+0

Chcesz, aby Twoja tablica była zapisywana nawet po zamknięciu aktywności? – Darpan

+0

Tak. Coś jak ty pobrać z Internetu, a następnie zapisać go, a następnym razem wystarczy załadować go z pamięci wewnętrznej –

Odpowiedz

4

Jeśli chcesz przechowywać yourObject buforować katalogu, to jak to zrobić -

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(); 

aby odczytać go z powrotem -

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

aby zapisać do pliku:

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(); 
    } 

odczytu z pliku:

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 ""; 
    } 

Zatem dostaniesz z powrotem swoje zawartość pliku w ciąg „treści”

Uwaga: należy podać odczytu i zapisu w swoim pliku manifestu

2

Na Androidzie masz kilka storage options.

Jeśli chcesz zapisać tablicę ciągów użyj SharedPreferences:

post ta może być rozwiązaniem.

Powiązane problemy