Witam, piszę właśnie widget z cytatami( około 2 tys. cytatów) i zastanawiam jak je przechowywać. Powinnam użyć SQLite ? Zwłaszcza jeśli wrzuce program do marketu i zajdzie potrzeba aktualizacji. Z góry dzięki za odpowiedź.
Wykorzystanie bazy danych SQLite jest najlepszym sposobem na przechowywanie danych tego typu. Szczególnie, że jest ona dobrze udokumentowana i wspierana przez Androida. Ewentualnie, aby nie robić aktualizacji aplikacji w markecie za każdym razem gdy dodasz nowe cytaty polecam zastanowić się nad jakimś mechanizmem synchronizacji, który pobierałby nowe cytaty z sieci.
Mój widget działa tak, że reaguje na kliknięcie powiązane PendingIntent z Service, który wybiera randomowo liczbę a następnie ta liczba powinna być id wpisu w bazie danych/indeksem tablicy Stringów. Nie wiem czy mogę zadeklarować w kodzie serwisu tak dużą tablicę stringów z cytatami, jeśli nie – to gdzie powinnam tworzyć baze danych SQLite z cytatami do wyboru. Moja aplikacja posiada tylko widget. Z góry dzięki za poradę.
Jeżeli korzystasz z usługi (Service) to bazę danych tworzysz hmm… normalnie. (przykładowy opis znajdziesz pod tym adresem: http://www.android4devs.pl/2011/07/sqlite-androidzie-kompletny-poradnik-dla-poczatkujacych/ )
Usługa ma dostęp do bazy, w związku z czym nie będzie problemów z wyciągnięciem danych.
Z drugiej strony możesz zastanowić się nad przechowywaniem danych gdzieś w sieci (aczkolwiek wtedy aplikacja będzie musiała mieć dostęp do internetu).
Zamiast bazy danych możesz również wykorzystać zasoby Androida (/res/values/) i tam stworzyć tablicę stringów, do których będziesz się odnosić. (chodzi mi o coś takiego: http://developer.android.com/guide/topics/resources/string-resource.html#StringArray ).
Rozumiem, tylko które z rozwiązań będzie najszybsze w przypadku 2 tys. cytatów i randomowego wybierania?
Wydaje mi się, że 2000 ciągów znakowych to nie jest na tyle ogromna liczba by zastanawiać się nad tym, które z rozwiązań będzie szybsze. Jeżeli jednak miałby wskazać to baza danych powinna działać szybciej.
Za bazą danych przemawia to, że w przyszłości możesz dorobić moduł zdalnej aktualizacji, natomiast tablice znaków zapisane w pliku xml trzeba aktualizować „ręcznie” (tj. poprzez aktualizację aplikacji).
Jeśli chcesz załączyć kod źródłowy przejdź do edytora HTML (ostatni przycisk – Show source) i swój kod umieść wewnątrz znaczników <pre class=”brush: język”></pre> (np. <pre class=”brush: java”>System.out.println(„Lorem ipsum”)</pre> ).
Listę dostępnych języków znajdziesz na tej stronie.
Tylko zarejestrowani użytkownicy mogą odpowiadać na pytania.
zaloguj się lub skorzystaj ze swojego profilu:
Student Informatyki Stosowanej na Uniwersytecie Jagiellońskim. Z zamiłowania Android developer, z doświadczenia programista webowy i producent muzyczny (Dreamlab Onet.pl, RMF FM, eLO RMF) . Uzależniony od podróży, dobrej kawy, i gier wideo. Pracoholik (tak mówią) i gadżetomaniak (tak sądzi).
Zaloguj się lub skorzystaj ze swojego profilu
Odpowiedzi: 9
Odpowiedzi: 5
Odpowiedzi: 4
Odpowiedzi: 3
Odpowiedzi: 2
Komentarzy: 9
Komentarzy: 4
Komentarzy: 4
Komentarzy: 3
Komentarzy: 2
© 2012 android4devs.pl
created by froger_mcs
Widget i przechowywanie danych
5 Odpowiedzi
Twoja odpowiedź
O autorze
Ostatnie oferty pracy
Najpopularniejsze pytania
Popularne artykuły
Kategorie
Archiwum
Tagi
O autorze
- Programista Android
Opublikowano 27.08.2011, Miejsce pracy: Białystok
- Stoper
- Widget i przechowywanie danych
- Sprawdzenie stanu połączenia
- Sterowanie inną aplikacją
- Problem z emulatorem
- AsyncTask – asynchroniczne wykonywanie czasochłonnych zadań
- Activity – podstawowe informacje, cykl życia
- Content Providers – dostęp do danych przy pomocy dostawców treści
- Wykorzystanie Map Google w naszej aplikacji
- Podstawowe elementy UI – Button, EditText, TextView, Toast, LinearLayout
- Biblioteki zewnętrzne
- Geolokalizacja
- Kompatybilność
- Narzędzia
- Pierwsze kroki
- Podstawowe komponenty
- Przechowywanie danych
- Środowisko pracy
- UI
- Wielowątkowość
- Listopad 2011 (1)
- Sierpień 2011 (21)
- Lipiec 2011 (17)
|
|
Mirosław StanekMirosław StanekwidgetlinkKasia LewszukMirosław StaneklinkKasia LewszuklinkMirosław StaneklinkKasia LewszuklinkMirosław StaneklinkActivityAlertDialogAndroidManifestAppWidgetAVDBindingBroadcastReceiverButtonDialogEditTextFiltry IntencjiGeolokalizacjaGoogle MapsGPSIDEIntentIntentFiltersksoap2ListViewMapViewMapyNinePatchNotificationPendingIntentPowiadomieniaPraca w tlePreferenceActivityProgressDialogprzechowywanie danychRotacjaSDKServicesSharedPreferencesSMSSOAPSQLiteTextViewTitlebarToastUIUstawieniaUsługiViewHolderWebViewWidget
0zadane 25 sierpnia 201100000