Widget i przechowywanie danych | android4devs

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

Kategorie

Archiwum

Tagi

O autorze



Mirosław StanekMirosław StaneklinkKasia LewszukMirosław StaneklinkKasia LewszuklinkMirosław StaneklinkKasia LewszuklinkMirosław StaneklinkActivityAlertDialogAndroidManifestAppWidgetAVDBindingBroadcastReceiverButtonDialogEditTextFiltry IntencjiGeolokalizacjaGoogle MapsGPSIDEIntentIntentFiltersksoap2ListViewMapViewMapyNinePatchNotificationPendingIntentPowiadomieniaPraca w tlePreferenceActivityProgressDialogprzechowywanie danychRotacjaSDKServicesSharedPreferencesSMSSOAPSQLiteTextViewTitlebarToastUIUstawieniaUsługiViewHolderWebViewWidget

0zadane 25 sierpnia 201100000

Przewijanie do góry