Hírdetések listázása - gergelysz/SapientiaAdvertiserProject GitHub Wiki

Hírdetések listázása

Algoritmus

A hírdetések listázása funkcionalitást a HomeFragment nevezetű fragmentben kezdjük. Lekérdjük az adatbázisban levő összes documents-et az Ads collection-ból. Ezeken a lekért hirdetéseken végig megyünk és a számunkra megfelelőket betesszük egy listába. Ezt a listát adsList-nek nevezzük. Az adatbázisból lekért elemek jelenleg még DocumentSnapshot típusúak. Előszőr átalakítjuk Ad típussá. Az Ad típus egy általunk létrehozott típus, amelyet a következő képet láthatunk. adclass.

Miután átalakítottuk a számunkra megfelelő típussá, tesztelnünk kell, hogy az adott hirdetés meg kell-e jelenjen a felhasználó számára. Az adatbázisban eltárolunk egy visibilityRight_ nevű mezőt. Ez arra szolgál, hogy az adott hirdetést ki láthatja. Így megkülönböztethetünk különböző kódokat

  • null ezt a hirdetést bárki láthatja, nincsen beállítva rá korlátozás
  • 0 ezt a hirdetést is bárki láthatja
  • -1 ezzel a kóddal ellátott hirdetés el van rejtve. Ez azt jelenti, hogy csak a hirdetés tulajdonosa láthatja. Ha ilyen kódú hirdetéssel találkozunk, le kell teszteljük, hogy a hirdetés userId_-ja megegyezik e az éppen belépett felhasználó ID-val. Ha igen, ez a hirdetés látható lesz a felhasználó számára. Ha nem, akkor a hirdetés nem lesz látható
  • -2 törölt hirdetést jelent. Ezt a hirdetést senki se láthatja, ezeket a hirdetéseket nem tudja visszahozni egy felhasználó sem.
  • -3 jelentett hirdetés. Ezeket sem láthatja senki, ameddig a jelentés elbírálása meg nem történik.

listazas A képen látható a listához adás algoritmusa.

Megjelenítés

A következő képen látható a hirdetések listázásának a kinézete. 50289646_527854741041849_4017171371095228416_n

A listához RecyclerViewt használtunk, hogy gyorsítsuk az alkalmazást. Látható, hogy az applikációnk a felhasználó saját hirdetéseinél megjelenik az "Ez az ön hirdetése" üzenet. Ezt a funkcionalitást a Saját hirdetések listázása cím alatt részletezzük. Megvalosítottuk a jelentés funkcionalitást is, ahogy a képen látható, ezt a Hirdetés jelentése alatt fejtjük ki.