Bu dersimizde android persistent data kısmının ikinci kısmı olan android file system bölümüne başlıyoruz.
Bu derste öncelikle dosya sisteminin ne olduğundan ve de daha önce öğrendiğimiz sharedpreference’dan ne gibi farklılıkları olduğundan bahsediyoruz.
Özetlemek gerekirse;
Sharedpreferences dosyası xml formatında, key-value ilişkisine göre veri tutan yapıdır. Primitive tipleri saklayabilir, primitive olmayan veri tipleri için gson gibi kütüphaneler kullanılabilir. Kalıcı olmasını istediğiniz küçük verileri -kullanıcı adı, şifre, kullanıcı ayarları gibi – bu dosyada tutabilirsiniz. Ama büyük ve karmaşık veriler için tercih edilmez.
İşte bu durumda android internal ve external storage yapılarını kullanmanız gerekir. Bu kısımda resim, müzik, video ve data dosyalarınızı saklayabilirsiniz. Ayrıca sd card gibi yapılarla bu bölüm (external storage) büyütülebilir.
Internal Storage : Cihazın kendi iç hafıza birimidir. burada saklanılan dosyalar uygulamaya aittir. başka uygulamaların ve kullanıcının bu verilere ulaşması yasaktır. Kısıtlı olmasına rağmen sürekli erişilebilir durumdadır. Uygulama silindiğinde onun tüm verileri de silinir. Bu yüzden bu kısmı sadece uygulamanın kullanacağı veriler için kullanmalıyız.
External Storage : Paylaşılan hafıza birimidir. SD card olabileceği gibi cihazın kendi hafızası da olabilir. Internal storage’a göre daha büyük kapasiteye sahiptir ama her zaman erişilebilir olmayabilir. Bu yüzden herhangi bir dosya yazma/okuma işleminden önce erişilebilirliği kontrol etmek gerekir. Burada da public / private kavramları karşımıza çıkar. Public olarak oluşturulan dosyalar herkese açıktır ve de uygulama silinse dahai silinmez. Private ve Cache kısmına kaydedilen dosyalar ise uygulama kaldırıldığında silinir.
Eğer internal storage’a sığmayacak büyüklükte büyük dosyalarınız varsa ve de bu dosyalara kullanıcının veya başka uygulamaların erişmesini istemiyorsanız bu dosyaları şifrelereyerek güvenliğini sağlayabilirsiniz.
Bir sonraki derste internal storage ile ilgili tüm kavramlardan bahsedeceğiz. Yapacağımız demo uygulamanın kodlarını da bir sonraki yazı da bulabilirsiniz.