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.
.
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.
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.
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.