Wpis z mikrobloga

Czy jest tu ktoś kto umie #sqlite #bazydanych? Chcę zrobić tagi dla konkretnego obrazka (czyli relacja wiele do wielu) zatem mam:
1) Tabele ImagesPath (INT id, TEXT imagePath)
2) Tabele Tags (INT id, TEXT title)
3) Tabele ImageTag (i tutaj z tego co wyczytałem musze dać: int id, int Tags.id, int ImagesPath.id) tylko nie wiem totalnie jak to zrobić, wiem że muszę się jakoś odwołać do tego ale jak?

#androiddev #naukaprogramowania
  • 13
@MrFisherman: Jeżeli używasz room`a (nie idź w kursory plz), to użyj Foreign Keys https://developer.android.com/reference/android/arch/persistence/room/ForeignKey
Tylko rozumiem, że taki będą działały niezależnie od zdjęć (Tzn. można usunąć zdjęcie nie usuwając tagów i odwrotnie), także tak by to działało bez opcji cascade na onDelete i onUpdate. Generujesz bazę danych z 3 klasami i jest git. No i potem najważniejsze jak skonstruujesz opcję insert i swoje DAO. Podziel to sobie na mniejsze zadania najlepiej,
@CyfrowyD: w sensie ja potrzebuje tylko odczytywać (chcę zrobić tak żę jak ktoś użyje danego słowa kluczowego to mu pokaże obrazek) np ktoś używa słowa "kawa" to mu wyswietla obrazek coffee.png. Wiec w sumie to nie potrzebuje onUpdate i onDelete, potrzebuje to zrobic od strony sql
@MrFisherman: Ok, to po co Ci baza danych tak naprawdę ? Bo z tego co rozumiem apka ma brać słowo kluczowe i na jego podstawie przeszukiwać nazwy plików. Edit: Od razu drugie pytanie: Apka na zaliczenie czy coś komercyjnie/do portfolio ?
@CyfrowyD: no baza danych po to że jak bedzie ze 100 obrazkow to zeby to jakos wyszukiwać po słowach kluczowych, lub niezależnie kego czy ktos wpisze kawa czy kawusia żeby dało tą samą ikonkę dla produktu, można by było jeszcze zamiast tego zrobic algorytm i bawic sie z końcówkami ale nie wiem, a co do drugiego to pisze narazie dla siebie w sensie żeby się uczyć, chce zronic w tym roku
@MrFisherman: Jeżeli robisz to dla siebie możesz użyć MlKit`a albo czegoś podobnego do rozpoznawania rzeczy na obrazku (ze względu na małą ilość zapytań która prawie nic nie będzie kosztować). On sam wtedy wydziela tagi dla zdjęć, ale nie jest to łatwe do ogarnięcia (Tzn. model AI dostaniesz, ale musisz umieć zarządzać jego odpowiedzią). Tu masz Vision API: https://cloud.google.com/vision/
Baza danych by Ci się przydała, gdyby user sam nadawał tagi i zapisywał
niezależnie kego czy ktos wpisze kawa czy kawusia żeby dało tą samą ikonkę dla produktu


@MrFisherman: pytanie czy chcesz żeby apka sama rozpoznawała co wpisał user i dopasowywała obrazek czy sam zamierzasz wprowadzić dane (tj. z palca wpisać że do obrazka coffe.png pasują tagi "kawa" "kawusia" "kawunia" "kawka" ale jak ktoś wpisze "kaweczka" to mu nic nie pokaże bo akurat tego nie dodałeś)

Jeżeli to pierwsze - problem się komplikuje i
@Mithrindil: wydaje mi się że mi się nie spieszy wiec mogę porobić bazę, jednak chyba zrobię tak że przypisze do obrazka po prostu kategorie bo rozwiązanie gdzie mam np. 1700 produktów wymagało by 1700 różnych ikon + zabawa z tyloma tagami to woo a tak to zrobię ze 100 kategorii i pododaje do każdego obrazka 1,2 kategorie i styknie, dzięki za odpowiedź oraz za przykład z rozdzielaniem Stringa :)