Przechowywanie danych na telefonie - najlepszy sposób

Odpowiedz Nowy wątek
2019-04-23 22:47
0

Hej,

Wracam do programowania pod androidem po jakichś 6 latach :)
Piszę sobie aplikację treningową. Mam pytanie w jaki najlepszy sposób wg was zapisać dane na telefonie.
Pierwsze co mi się nasuwa to SQLite , ewentualnie przy pomocy ROOM , czyli w sumie to samo :D
Jakiś plik XML pewnie by się dłużej wczytywał no i nie koniecznie chyba mi się chce bawić plikami.

Macie jakieś inne ciekawe pomysły ??

Dane te chciałbym później przedstawić w postaci jakiegoś wykresu. Czego tutaj najlepiej użyć ??

Kolejnym krokiem będzie zapis tych danych w eter. Myślałem nad firebase googla. Może jakiś inny ciekawszy pomysł ?
Dane będą przypisane do danego usera i tylko on powinien mieć do nich dostęp.

Pozostało 580 znaków

2019-04-23 23:22
1

Było kilka podobnych tematów - Baza danych w Androidzie, SQLite czy Room lub jakaś inna baza danych w Androidzie. Osobiście najlepszą abstrakcją jest dla mnie SQLDelight. JOOQ też jest ciekawy, ale ma problemy specyficzne dla Androida i nie ma takiego wsparcia jak większość popularnych bibliotek na Androida. Z tego wszystkiego na Twoim miejscu pewnie wybrałbym Room, ale radzę spojrzeć przynajmniej na SQLDelight.

Co do backendu, to Firebase powinien być ok. Sam nie przepadam za nim. Wolałbym napisać jakąś własną aplikację. Możesz popatrzeć np. na Ktor. Fajna biblioteka do pisania serwerów. Dodatkowa zaleta to możliwość współdzielenia kodu z Androidem jeśli pisałbyś w Kotlinie.

nie wiem jak przegapiłem info SQLDelight, a wygląda bardzo fajnie! Muszę sobie przetestować - viader 2019-04-27 12:42
@Michał Sikora: a wiesz może czy da radę użyć SQLDelighta bez ciągłego używania Kapta/Apta? Generując pliki raz na każdą zmianę w schemie (jak w Swaggerze). - viader 2019-04-27 12:48
SQLDelight nie korzysta z procesora adonatycjnego do generowanie kodu. Jest dla niego napisany plugin do Gradle i do IntelliJ. Zazwyczaj po prostu plugin do IDE generuje na bieżąco modele, zapytania i migracje na podstawie plików .sq i .sqm. Jeśli ktoś z wyjątkowych przyczyn nie korzysta z IntelliJ/AS, to może zawsze odpalić taska w Gradle. A jeśli ktoś nie korzysta z IntelliJ i Gradle, to musi napisać własny moduł albo jest w zupie. - Michał Sikora 2019-04-27 13:15
Dzięki za info, tyle właśnie potrzebuję :) - viader 2019-04-27 13:21

Pozostało 580 znaków

2019-04-24 18:36
1

Jak masz jakieś proste dane to możesz je przechowywać w Shared Preferences. Z tego co poczytałem to właśnie jakieś proste dane, flagi, ustawienia użytkownika można trzymać w SP. Ja na przykład w moim projekcie używam sqlite z roomem plus shared preferences. Takie podejście też chyba jest okej (2 różne miejsca trzymania danych w zależności od potrzeb), kiedy potrzebuję mogę coś wrzucić w transakcję, a ustawienia usera trzymam w SP

Pozostało 580 znaków

2019-04-26 19:32
0

Dzięki za odpowiedź.
Decyzja padła na Room. Przyjemne i proste więc powinno być spoko.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0