SORU
22 Mart 2010, PAZARTESİ


Android SQLite için en iyi uygulamalar nelerdir?

Android uygulaması içinde bir SQLite db üzerinde sorgu yürütülürken en iyi uygulamalar olarak kabul edilir ne olurdu?

Güvenli bir AsyncTask. doİnBackground gelen ekler, siler ve select sorgularını çalıştırmak için mi ? Ya UI iş Parçacığı kullanmalıyım ? Db sorgular "" ve uygulama - bir ANR kaynaklanan bir arıza olabilir. UI iş parçacığı kullanmamalıdır ağır olabilir sanırım

Eğer birkaç AsyncTasks varsa, bir bağlantı paylaşmalı mı yoksa bir bağlantı açmak her gerekir?

Bu senaryolar için en iyi yöntemler var mı?

CEVAP
11 EYLÜL 2010, CUMARTESİ


Ekler, güncelleştirmeler, siler ve okur birden çok iş parçacığı genellikle TAMAM, ama answer Brad doğru değil. Size bağlantıları oluşturmak ve onları kullanmak ne kadar dikkatli olmak zorunda. Güncelleme ararsa veritabanı bozuk değilse bile, başarısız olur durumlar vardır.

Temel cevap.

SqliteOpenHelper nesne bir veritabanı bağlantısı için tutar. Sana bir teklif okuma ve yazma bağlantısı görünüyor, ama gerçekten değil. Bu salt okunur çağrı ve veritabanı bağlantısı ne olursa olsun yazmak alacaksın.

Yani, bir yardımcı örnek, bir bağlantı db. Eğer birden çok iş parçacığı kullandığınız olsa bile, bir defada bir bağlantı. SqliteDatabase nesnesi java kilitleri erişim seri hale getirilmiş tutmak için kullanır. Eğer 100 iş parçacığı bir db örneği varsa, disk üzerinde veritabanı gerçek çağrıları seri hale getirilmiş.

Java kod sıralanmış olan, bir yardımcısı, bir db bağlantısı. Eğer varsa bir yardımcı örnek aralarında paylaştı kullanırsanız bir iş parçacığı, iş parçacığı 1000, db erişim kodu tüm seri. Ve hayat güzel (ish).

Aynı zamanda eğer gerçek farklı bağlantıları veritabanına yazmak için çalışırsanız, başarısız olur. İlk iş bitene kadar bekle ve sonra yaz. Sadece değiştirmek yazacak değil. Eğer Ekle/sağ sürüm SQLiteDatabase update aramıyorsun bile daha kötü bir durum alamazsın. Sadece LogCat bir mesaj alacaksın, o kadar.

Yani, birden çok iş parçacığı? Bir yardımcı kullanın. Dönem. Eğer tek bir konu yazma olacak biliyorsanız, birden çok bağlantı kullanmak mümkün OLABİLİR, ve daha hızlı olacak okur, ama alıcı sakının. O kadar test etmedim.

Burada çok daha detaylı bir blog yazısı ve örnek bir uygulama.

Gri ve aslında, yerel bir Android veritabanı uygulamaları ile çalışan bir ORM aracı, onun Ormlite dayanarak, bitmek üzere, ve blog yazısı olarak tarif güvende yaratma/arama yapısı aşağıdaki gibidir. Bu çok kısa bir süre içinde olmalıdır. Bir göz atın.


Bu arada, takip bir blog yazısı var:

Ayrıca kasada çatal tarafından2point0daha önce de belirttiğim kilitleme örnek:

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Sam Kear

    Sam Kear

    14 Temmuz 2007
  • TopOfTheTech

    TopOfTheTech

    5 NİSAN 2010
  • Viktorija A.

    Viktorija A.

    28 Mart 2009