(21.11.2025 tarihinde oluşturuldu.)
Android'de güvenlik nedeni ile bir uygulama başka bir uygulamanın depolama alanına erişemez. Uygulamalar SandBox denilen yalıtılmış alanda çalışabilmektedir. Yazdığınız uygulama bu alanda çalışmakta, bu alanda dosya oluşturma, yazma ve okuma işlemlerini yapmaktadır. Bu sayede özel uygulamadaki özel verilere root yetkisi olmayan başka kullanıcı ya da uygulamalar erişemez.
Android'in native uygulama geliştirme dili olan Java'da uygulamanın depolama alanına erişmek için getFilesDir methodu kullanılmaktadır. Aşağıdaki kod size söz konusu alanın tam yolunu döndürecektir.
context.getFilesDir()Kivy'de python kodlarınızda tabiki pyjnius modülü ile bu kodu kullanabilirsiniz. Fakat bunun daha pratik yolu var. Kivy App sınıfının user_data_dir niteliği bize context.getFilesDir() metodunun sağladığı yolu vermektedir.
from kivy.app import App
class MyApp(App):
def build(self):
calisma_dizini = self.user_data_dir
print("Uygulamanın özel çalışma dizini")
if __name__ == "__main__":
MyApp().run()Bu sayede bir dosya ya da veritabanı oluştururken disk üzerinde elle yol yazmak yerine aşağıdaki gibi bir kod ile rahatça belirtebilirsiniz.
file(calisma_dizini+"/ayarlar.txt","w")Kaynaklar:
https://developer.android.com/training/data-storage?authuser=1&hl=tr
https://developer.android.com/training/data-storage/app-specific?authuser=1&hl=tr
https://kivy.org/doc/stable/api-kivy.app.html#kivy.app.App