Piszę aplikację, która pozwala ludziom ustawić alarmy dla różnych zadań, które muszą wykonać. Mój obecny plan to przechowywanie wszystkich istotnych danych w bazie danych SQLite. W tym celu stworzyłem klasę, która rozszerza SQLiteOpenHelper i wypełnia ją metodami radzenia sobie ze wszystkimi CRUD, których oczekiwałbym musiał przyjąć. Wiedząc, że generalnie nie jest dobrym pomysłem wykonywanie całego przetwarzania w jednym wątku, sprawdził sposoby rozdzielenia pracy między wątkami i znalazł CursorLoader i LoaderManager, które wydawały się idealne, ponieważ były dostępne w Bibliotece zgodności Androida. Jednak LoaderManager wydaje się wymagać ContentProvider od tutorial in the documentation i naprawdę nie widziałem potrzeby robienia czegokolwiek z dostawcami treści, ponieważ nie planowałem zezwalania innym aplikacjom na dostęp do danych. Bez ContentProvider, nie wiem, w jaki sposób mam uzyskać Uri dla moich baz danych, które mają zostać wprowadzone do CursorLoader. Czy istnieje sposób, aby nadal używać mojej klasy, która rozszerza SQLiteOpenHelper i nadal implementować LoaderManager, aby umożliwić mi zachować wszystkie wypełniające ListFragmenty z moim kursor poza wątku interfejsu użytkownika?Mylić o CursorLoaders i używać ich z niestandardowym SQLiteOpenHelper
Odpowiedz
Czy istnieje sposób dla mnie, aby zachować przy moim klasy, która rozciąga SQLiteOpenHelper i nadal realizować LoaderManager aby pozwolić mi zachować wszystkie zapełnianych ListFragments z moim kursorem off wątku UI?
Po prostu potrzebna jest inna implementacja Loader
, która nie wymaga ContentProvider
. Tak się składa, że I wrote one of those.
Wydaje się być solidne. Chociaż importowanie projektu z git spowodowało, że Eclipse zwrócił błąd kompilatora dotyczący adnotacji @Override w onSharedPreferenceChanged(). Mimo to wypróbuję to. – MowDownJoe
@MowDownJoe: Musisz ustawić poziom zgodności Java na 1.6, zamiast 1.5, który jest teraz włączony. – CommonsWare
- 1. Mylić o Węzeł, NPM, Bower i używać go do Bootstrap
- 2. Mylić o umów rakietowych
- 3. Mylić o togglesoftinput funkcji
- 4. mylić o hashmap # resize
- 5. Mylić o skrypcie konfiguracyjnym i Makefile.in
- 6. mylić o MFC/.net/WPF
- 7. Mylić o tym, jak zainstalować wtyczki Railsowe
- 8. Mylić, jak używać CouchDB na Androidzie
- 9. Mylić o `` ql: quickload`` i wykonywalnych skryptach w SBCL
- 10. Mylić o generatorach dla Entity Framework 4.1
- 11. Maven mylić o JRE został użyty
- 12. Mylić o pętli while w javascript
- 13. Mylić o zagnieżdżonych zasobach i uwierzytelnianiu w Railsach
- 14. Efektywnie używając MapDB (mylić o zatwierdzeniach)
- 15. Confused dotyczące SQLiteOpenHelper i tworzenia wielu tabel
- 16. mylić o różnych implementacji GetHashCode() w przypadku krótkiego i ushort
- 17. Reaktor początkujący mylić o różnicy między JavaScript i JSX
- 18. Mylić o niestandardowych typach danych w Haskell
- 19. Mylić o błędzie wypożyczenia w metodzie struct
- 20. Mylić o wyrównaniu danych dla podwójnych zmiennych
- 21. RecyclerView z elementami o niestandardowym kształcie
- 22. mylić z "prototypem" (rozszerzenie Firefoksa)
- 23. Android 2-way DataBinding z niestandardowym wyświetlaniem i niestandardowym Attr
- 24. Co robi klasa SQLiteOpenHelper z parametrem kontekstu?
- 25. powinienem zadzwonić .close() po obu SQLiteDatabase i SQLiteOpenHelper
- 26. SearchView In ListView o niestandardowym adapterze
- 27. Jak to działa Kontekst SQLiteOpenHelper
- 28. Domena vs DTO a ViewModel - jak i kiedy ich używać?
- 29. Mylić o szyfrowaniu z kluczami publicznymi i prywatnymi (które mają być używane do szyfrowania)
- 30. Mylić o synchronizowaniu wielu tabel z adapterem synchronizacji i dostawcą zawartości
Dziękuję za to pytanie. Wszystkie ich przykłady w dokumentacji pokazują tylko, jak używać kursorów z kontaktami, tak jakbyśmy wszyscy potrzebowali bazy danych tylko do tego ... – lenooh