Sobes.tech
Junior — Middle

Πώς μπορεί κανείς να αποθηκεύσει δεδομένα σε μια εφαρμογή Android χωρίς να χρησιμοποιεί τις βιβλιοθήκες Room και SharedPreferences;

sobes.tech AI

Απάντηση από AI

Χωρίς τη χρήση του Room και των SharedPreferences στο Android, τα δεδομένα μπορούν να αποθηκευτούν με τους εξής τρόπους:

  • Αρχεία σε εσωτερική ή εξωτερική αποθήκευση:

    • Στην εσωτερική αποθήκευση (getFilesDir()) μπορείτε να γράψετε ιδιωτικά αρχεία της εφαρμογής.
    • Στην εξωτερική αποθήκευση (getExternalFilesDir()) — για αρχεία προσβάσιμα στον χρήστη.
  • Άμεσα SQLite:

    • Χρησιμοποιήστε την κλάση SQLiteOpenHelper για δημιουργία και διαχείριση βάσης δεδομένων χωρίς το Room.
  • Serialization σε αρχείο:

    • Αποθήκευση αντικειμένων σε αρχείο σε μορφή JSON, XML ή άλλη, με μετέπειτα απο-σειριοποίηση.

Παράδειγμα εγγραφής μιας συμβολοσειράς σε εσωτερικό αρχείο:

String filename = "myfile.txt";
String fileContents = "Hello World";
try (FileOutputStream fos = openFileOutput(filename, Context.MODE_PRIVATE)) {
    fos.write(fileContents.getBytes());
} catch (IOException e) {
    e.printStackTrace();
}

Έτσι, μπορείτε να αποθηκεύσετε δεδομένα χωρίς τη χρήση του Room και SharedPreferences, επιλέγοντας την κατάλληλη μέθοδο ανάλογα με την εργασία.