Soru & Cevap

Sqlite ve AutoCompleteTextView ...

09.10.2013 - 01:24

Sqlite ile oluşturduğum tablada 100bine yakın kayıt var ve  programın açılışında sqlite ile bu kayıtlar bir listeye dolduruluyor fakat bu süre yaklaşık 15-20 sn yi buluyor. Bu süreyi azaltmak için nasıl bir yol izlemem gerekir ?

14 Görüntülenme

3 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user yunusemre
yunusemre
12.10.2013 - 02:06

Merhaba hocam 

hocam sorunu dediğiniz gibi  textwatcher kullanarak gelen değere göre listview'de gösterdim hız olarak etkisini gördüm.Fakat ilk değeri aldığında anlık bir takılma hisseddiriyor program  bu süre yaklaşık  0,2ms ile 0,4ms arasında değişiyor sizce bu değeri azaltabilecek ne yapabilirim ?

  

Profile picture for user mehmetaca
mehmetaca
09.10.2013 - 01:05

Merhaba Yunus

yüzbin kaydı tek seferde çekip autocompletetextview e yüklemek yerine lazy-load yöntemi ile textbox'a girilen değerleri dinleyip dinamik sorgulamak ve listeyi çekmek daha performanslı olacaktır.

TextBox ve ListView kullanarak AutoCompletetextview'e benzer bir çözüm oluşturabilirsin.
TextBox'ta girilen karekterleri dinlemek için TextWatcher interface'ini implemente edebilirsin. Karekter girildikten sonra veritabanına gidip örneğin o kritere uyan ilk 100 kaydı alıp ListView'de listeleyebilirsin.

 

picture-4271-1380316299.jpg
MuratSisman
09.10.2013 - 03:57

Dispatch kullanmayı denedin mi?

Eğer ilk açılışta veya ilk ekranda sqlite bilgilerine ihtiyacın yoksa Background işlemi olarak kayıtları okuyabilirsin. Bu sırada ana ekranlar açılmış ve kullanıcı beklememiş olur.