SQLite - DBHelper

0

Dzień dobry, mam pytanie odnośnie klasy DBHelper bo nie znalazłem żadnych dobrych tutoriali na yt, a mianowicie czy nie powinna ona być jakoś podzielona? W sensie tam robią że wszystkie inserty updaty delety etc. są w tej klasie. Ale jak się ma kilka różnych typów, kilka różnych tabeli itp. to ciężko żeby to wszystko było w jednej klasie bo jak dawniej tak robiłem (i było źle ) ty wychodziło że taka klasa ma 1000 linijek lub więcej.
Także, tu dwa pytania:

  1. jak wygląda podział aplikacji na bazę danych (Widziałem gdzieś że na kursie ktoś robił np. klasa Book to jest do niej BookModel, BookDao, BookFX model (ten akurat był z JavyFX do komunikacji z widgetami ui ale tutaj piszę w androidzie)
  2. czy ta klasa DBHelper ma rzeczywiście tak wyglądać(wsztstkie querrowania w jednej klasie)?
1

To że piszesz aplikację na androida IHMO nie jest żadnym usprawiedliwienem żeby pisać wielkie klasy i nie dzielić tego na DAO

0
Kamil Żabiński napisał(a):

To że piszesz aplikację na androida IHMO nie jest żadnym usprawiedliwienem żeby pisać wielkie klasy i nie dzielić tego na DAO

Nie o to chodzi, chodzi właśnie o to że chcę żeby nie była taka duża, tylko jakbyś mógł mi to jakoś nakreślić jak się dzieli te bazy danych bo np. czytałem o JDBC ale to chyba nie wpasuje się w SQLite.? W sensie jak mam np klasę book to jakie klasy do niej powinienem dopisać i co ma w nich być?

1

JDBC to standardowy interfejs klienta bazodanowego. Dla SQLite też jest używany. Przynajmniej dla Javy SE.

Co do podziału DAO na mniejsze klasy to zasady jest tu takie same jak dla wszystkich klas, czyl głownie SOLID i inne dobre rady których nie da się wykuć a trzeba robić na wyczucie.

0
Kamil Żabiński napisał(a):

JDBC to standardowy interfejs klienta bazodanowego. Dla SQLite też jest używany. Przynajmniej dla Javy SE.

No ale takie skoro

Android SQLite native API is not JDBC, as JDBC might be too much overhead for a memory-limited smartphone.

to nie jest przez JDBC tylko przez querry zwykłe sqlita idzie?

0

Mam jeszcze pytanie, czy użycie klasy Room jest lepsze niż operacje na rawQuery i czy klasę Room stosuje się w komercyjnych projektach?

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