01-08-2018, Saat: 20:48
(01-08-2018, Saat: 19:17)gecemor Nickli Kullanıcıdan Alıntı: Root dizini derken işte uygulamanın kendi dosyalarının olduğu dizinden bahsetmiştim, main.py ile aynı dizin yani. Oraya belki yeni android sürümlerinde sıfırdan dosya açmak belki root yetkisi isteyebilir, ama önceden veritabanı oluşturup uygulamayı buildozer ile baraberinde paketlenirse sorun oluşturmaması gerek, tabi bir de buildozer.spec dosyasından gereksinimlere sqlite3 eklenmesi gerek. Ben daha önce yaptığım bi uygulamada sqlite3 kullandım dediğim şekilde sıkıntı olmadı, verinin korunması için gayet ideal bir yöntem. Gerçi şimdi dediklerim yabancı gelebilir ama sqlite3 kullanımını öğrendikten sonra uygulamayı paketleme aşamasında sorun olursa beraber halletmeye çalışırız
@Ethnic sqlite3 kullanımı aslında zor değil, biraz araştırınca senden kaçmaz ama isterseniz yine de boş bi zamanımda örnek verebilirim, ama dediğim gibi çok zor değil.
Not: Bu arada eğer kullanıcı verisi genel olarak uygulama ayarı ile ilgiliyse yani kullanıcı sürekli uygulamayı kullanırken veri işlemiyosa ve sürekli yeni bilgiler kaydetmeyi gerektirmiyosa "Json" kullanabilirsiniz. Geçenlerde kivy de keşfettiğim JsonStore kütüphanesi var kullanımı da çok daha basit
elimizde "ayarlar.json" adında bir dosya olsun içeriği de
PHP Kod:
{
"nick":"gecemor",
"site":"qpython.club",
"dil":"python"
}
olsun...
>>>from kivy.storage.jsonstore import JsonStore
>>>veriler = JsonStore("ayarlar.json")
>>>print veriler["nick"]
'gecemor'
>>>
Yapılan değişiklikler otomatik olarak dosyaya kaydediliyor, bu da belki işinize yarayabilir.
Hımm, bu json aslında çok iş görür. peki benim anladığım bu mesela uygulamaya başlangıçta işlenmesini istediğimiz verileri bu şekilde saklayabiliriz ama gücell değerleri işlemiyoruz, doğru mu?
Bu arada uygulamanın root yani kendi dizinine dosya yazıp, okuyabiliyoruz, bunun için uygulamanın root yetkisine sahip olması gerekmiyor. Neredeyse tüm ugulamalarımda denedim ve kullandım.
işlem çok basit, yapmamız gereken tek şey, uygulama klasörü yolunu manuel olarak değil "os" modülü ile alıp dosya işlemleri yapmak.
Misal
PHP Kod:
import os
uygulama_yolu = os.path.dirname(os.path.abspath(__file__))