Τι γνωρίζετε για την ιστορία αποθήκευσης αρχείων στο Android;
sobes.tech AI
Απάντηση από AI
Η ιστορία της αποθήκευσης αρχείων στο Android έχει περάσει από διάφορα βασικά στάδια, αντικατοπτρίζοντας την προσπάθεια για βελτίωση της ασφάλειας, της ιδιωτικότητας και της ευκολίας διαχείρισης δεδομένων.
Αρχικά, στις πρώιμες εκδόσεις του Android, η πρόσβαση στο σύστημα αρχείων ήταν σχετικά ελεύθερη. Οι εφαρμογές μπορούσαν να διαβάζουν και να γράφουν αρχεία σχεδόν οπουδήποτε στην εξωτερική αποθήκευση (κάρτα SD), χρησιμοποιώντας τα δικαιώματα WRITE_EXTERNAL_STORAGE και READ_EXTERNAL_STORAGE. Αυτό προκαλούσε προβλήματα με την οργάνωση των δεδομένων, συγκρούσεις μεταξύ εφαρμογών και ζητήματα ασφαλείας, καθώς μια εφαρμογή μπορούσε να έχει πρόσβαση στα δεδομένα μιας άλλης.
Η κατάσταση άρχισε να αλλάζει με την εισαγωγή της έννοιας του sandbox για κάθε εφαρμογή. Κάθε εφαρμογή έλαβε έναν ιδιωτικό χώρο για την αποθήκευση των δεδομένων της (Context.getFilesDir(), Context.getCacheDir()), στον οποίο άλλες εφαρμογές δεν είχαν άμεση πρόσβαση.
Με το Android 4.4 (KitKat), παρουσιάστηκε το Storage Access Framework (SAF), μια API για τη διαχείριση πρόσβασης σε έγγραφα και άλλα αρχεία μέσω μιας ειδικής διεπαφής χρήστη του συστήματος. Αυτό επέτρεψε στους χρήστες να επιλέγουν αρχεία και καταλόγους στους οποίους η εφαρμογή μπορούσε να έχει προσωρινή πρόσβαση, χωρίς να χρειάζεται να παραχωρούν ευρείες άδειες READ_EXTERNAL_STORAGE.
Σημαντικές αλλαγές συνέβησαν με το Android 6.0 (Marshmallow), με την εισαγωγή των δικαιωμάτων σε πραγματικό χρόνο. Τα δικαιώματα ανάγνωσης και εγγραφής στην εξωτερική αποθήκευση ζητούνταν από τον χρήστη κατά την εκτέλεση της εφαρμογής, αυξάνοντας τη διαφάνεια και τον έλεγχο.
Το Android 10 (Q) εισήγαγε το Scoped Storage, μια απομονωμένη αποθήκευση. Αυτή ήταν η πιο σημαντική αλλαγή εδώ και χρόνια. Αντί για ευρύ πρόσβαση σε ολόκληρη την εξωτερική αποθήκευση, οι εφαρμογές έχουν προεπιλογή μόνο πρόσβαση:
- Στους δικούς τους ιδιωτικούς καταλόγους (
getExternalFilesDir()). - Σε κοινές συλλογές μέσων (φωτογραφίες, βίντεο, ήχος) μέσω του API MediaStore.
- Σε άλλα αρχεία που επιλέγονται από τον χρήστη μέσω του SAF.
Η ευρεία πρόσβαση στην εξωτερική αποθήκευση για ορισμένους τύπους αρχείων (π.χ. αρχεία εγγράφων) είναι δυνατή μόνο μέσω του SAF. Για εφαρμογές που χρειάζονται πρόσβαση σε όλα τα αρχεία (π.χ. διαχειριστές αρχείων), εισήχθη μια νέα άδεια MANAGE_EXTERNAL_STORAGE, που απαιτεί ειδική αναθεώρηση και δεν παρέχεται στις περισσότερες εφαρμογές.
Μερικά σημαντικά σημεία:
- Εσωτερική αποθήκευση: Πάντα ήταν ιδιωτική για κάθε εφαρμογή.
- Εξωτερική αποθήκευση: Μετατράπηκε από ελεύθερη πρόσβαση σε αυστηρά ελεγχόμενη και απομονωμένη αποθήκευση για κάθε εφαρμογή.
- MediaStore: Είναι η προτιμώμενη μέθοδος για εργασία με αρχεία πολυμέσων σε κοινές συλλογές.
- SAF: Παρέχει έναν ασφαλή και βολικό τρόπο για τον χρήστη να παρέχει πρόσβαση σε αρχεία εκτός του ιδιωτικού του χώρου.
Η εξέλιξη του συστήματος αποθήκευσης αντικατοπτρίζει την προσπάθεια της Google να αυξήσει την ασφάλεια των δεδομένων των χρηστών και να απλοποιήσει τη διαχείριση αρχείων για τους προγραμματιστές.