2010-07-15 5 views
0

Je veux stocker quelques valeurs sous la forme de scores élevés. Mais comme je ne vais pas stocker plus de 5 valeurs, l'utilisation de SQLite ne semble pas appropriée. Une autre option que je considérais était un fichier plat, mais je ne suis pas sûr de savoir comment s'y prendre ...Comment stocker des données dans un fichier plat sous Android?

Répondre

3

Voir here pour vos options de stockage de données. Je suppose que dans votre cas, le plus simple sera d'utiliser SharedPreferences.

Vous pouvez également utiliser le stockage interne pour enregistrer des données dans un fichier privé de votre application. Je ne recommanderais pas d'utiliser le stockage externe pour stocker des scores élevés.

2

Si c'est un tableau que vous pouvez utiliser ceci:

public void saveArray(String filename, String[] output_field) { 
     try { 
      FileOutputStream fos = new FileOutputStream(filename); 
      GZIPOutputStream gzos = new GZIPOutputStream(fos); 
      ObjectOutputStream out = new ObjectOutputStream(gzos); 
      out.writeObject(output_field); 
      out.flush(); 
      out.close(); 
     } 
     catch (IOException e) { 
      e.getStackTrace(); 
     } 
     } 

     @SuppressWarnings("unchecked") 
    public String[] loadArray(String filename) { 
      try { 
      FileInputStream fis = new FileInputStream(filename); 
      GZIPInputStream gzis = new GZIPInputStream(fis); 
      ObjectInputStream in = new ObjectInputStream(gzis); 
      String[] read_field = (String[])in.readObject(); 
      in.close(); 
      return read_field; 
      } 
      catch (Exception e) { 
       e.getStackTrace(); 
      } 
      return null; 
     } 

Vous appelez simplement comme ceci:

Save Array: saveArray("/sdcard/.mydata/data.dat", MyArray); 
Load Array: String[] MyArray = loadArray("/sdcard/.mydata/data.dat"); 

Vous pouvez voir un exemple à http://androidworkz.com/2010/07/06/source-code-imageview-flipper-sd-card-scanner/

Questions connexes