baza danych dobra praktyka… | android4devs

Witam, pracoholika

Mam kilka pytan dotyczacych sqlite na androidzie.

Pisze aplikacje, ktora bedzie korzystac z max 3,4 tabel na bazie oraz powiedzmy 6 roznych Activities.

I tak, czy raz stworzona baza jest pamietana czy musze odtwarzac stan tabel za kazdym razem przy uruchamianiu programu. Zakladam ze nie…jezeli nie wowczas w ktorym momencie programu powinienem stworzyc schemat bazy i jak blokowac aplikacje przed proba kolejnego jej tworzenia przy kolejnym uruchamianiu. 

Dodatkowo tabele maja byc uzupelnione wartosciami domyslnymi, ktore bedzie mozna rozszerzac w programie. Czy dobra praktyka jest trzymanie tych wartosci w pliku w zasobach aplikacji res/raw oraz podczas instalowania bazy pobranie tych wartosci i wstrzykniecie do bazy?

I na koniec jezeli mam kilka Activieties powiedzmy ze na jednej chce wyswietlic cos z jednej tabeli na kolejnym Activieties dane z drugiej tabeli. W jaki sposob odwolywac sie do DatabaseHelper? Singletonem? dodatkowo kiedy powinienem zamykac polaczenie z baza? Przy kazdym wyjsciu z Activity ? 

Masz moze jakis przyklad rozwiazujacy moje zagadki ?

Pozdrawiam!!

1) Baza tworzona jest tylko raz – wtedy gdy jej nie ma (ewentualnie podczas aktualizacji, kiedy zmienia się struktura tabel, możesz ją usunąć i stworzyć na nowo). Wszystko masz opisane pod tym adresem: http://www.android4devs.pl/2011/07/sqlite-androidzie-kompletny-poradnik-dla-poczatkujacych/ . Tam też jest implementacja własnego SQLiteOpenHelpera, gdzie jest metoda onCreate(). I to właśnie ona wywoływana jest tylko w momencie gdy baza danych fizycznie jeszcze nigdzie nie istnieje.

2) Zależy jakie to mają być wartości. Można przecież wypełnić bazę już podczas jej tworzenia, gdzieś w kodzie (skoro tworzona jest tylko raz, tak jak opisałem to powyżej).

3) Każdą aktywność mimo wszystko traktowałby osobno i łączył się z bazą po jej (Aktywności) utworzeniu (onCreate()), natomiast rozłączał po jej zniszczeniu (onDestroy()). Czy wtedy singleton byłby potrzebny? Nie sądzę (pod warunkiem, że poprawnie będziesz się łączył/rozłączał z bazą w Aktywnościach).

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: 3

Komentarzy: 2

Komentarzy: 2

© 2011 android4devs.pl

created by froger_mcs

baza danych dobra praktyka…

1 Odpowiedź

Twoja odpowiedź

O autorze

Ostatnie oferty pracy

Najpopularniejsze pytania

Kategorie

Archiwum

Tagi

O autorze



Mirosław StanekMirosław StaneklinklapserdaqMirosław StaneklinkActivityAlertDialogAndroidManifestAppWidgetAVDBindingBroadcastReceiverButtonDialogEditTextFiltry IntencjiGeolokalizacjaGoogle MapsGPSIDEIntentIntentFiltersksoap2ListViewMapViewMapyNinePatchNotificationPendingIntentPowiadomieniaPraca w tlePreferenceActivityProgressDialogprzechowywanie danychRotacjaSDKServicesSharedPreferencesSMSSOAPSQLiteTextViewTitlebarToastUIUstawieniaUsługiViewHolderWebViewWidget

0zadane 29 października 20110

Przewijanie do góry