Promoting (Teil 5): Die Promoted Ansicht - Eine Android App für die Steem Blockchain - Teil #26

in #development6 years ago

Nachdem Schreiben und Lesen funktioniert, geht es jetzt weiter mit dem Erstellen der Ansicht, in der alle Promoted Posts angezeigt werden. Zunächst müssen wir Daten aus Cloud Firestore lesen und die dazugehörigen Posts abrufen. Um die Ladezeiten zu optimieren, passiert dies direkt beim Schreiben eines neuen PromotedPosts in die dafür vorgesehene Liste.

Schritt 1: Post beim hinzufügen laden

Um beim Aufruf der Promoted Posts Ansicht die Ladezeiten zu verkürzen, werden die Postinformationen direkt nachdem die Daten aus Cloud Firestore geladen wurden in die Liste heruntergeladen. Um dies umsetzten zu können, muss bei der Liste, in der die PromotedPost Objekte gespeichert werden, die add Methode überschrieben werden (siehe Screenshot). In dieser Methode wird dann mithilfe der jsonToPost Methode und der API-Methode getContent der Post heruntergeladen und überprüft. Diser Prozess sieht so aus:
overriden.PNG

Schritt 2: Die Activity erstellen

Da sich das Layout der PromotedActivity nicht von dem der Trending, Hot und New Activities unterscheidet, folgen hier einfach nur zwei Screenshots. Für genauere Informationen bitte die entsprechenden Posts durchlesen.
screenlayout1.PNG screenlayout2.PNG
Fehlt also nur noch der Quellcode. Die onCreate Methode sieht im Prinzip identisch aus, einziger Unterschied ist der Methodenaufruf am Ende. Aber zuvor binde ich die Activity noch ins Navigationsmenü ein. Dazu füge ich folgenden Block im NavigationItemListener hinzu:
navigationadd.PNG
Nun folgt die Methode zum Anzeigen der Posts. Diese heißt displayPromotedPosts und übernimmt eine Liste an Promoted Posts und ein LinearLayout als List Parent. Der Inhalt der Methode ist altbekannt: Über die Postliste iterieren und die einzelnen Elemente anzeigen. Die Methode sieht so aus:
method1.PNG
(Teil 1)
method2.PNG
(Teil 2)
Um die Methode aufrufen zu können, müssen noch die richtigen Posts anhand der PromotedPost Liste und der loadedPosts HashMap geladen und als Prameter übergeben werden. Dieser Aufruf sieht so aus:
call.PNG

Schritt 3: Der Test

Als letztes muss noch getestet werden, ob alles funktioniert. Dafür starte ich die App im Emulator, rufe die Ansicht auf und bekomme beide eingetragenen Posts zu sehen:
promotedinapp.PNG
Es hat also alles funktioniert.
Im nächsten Teil möchte ich dann die Vorbereitungen für die Promotefunktion in der App vorbereiten. Weiteres dazu dann im nächsten Teil.


Wenn dir dieser Post gefallen hat und du mich und dieses Projekt unterstützen möchtest, dann zeige mir das durch einen Upvote

Coin Marketplace

STEEM 0.28
TRX 0.13
JST 0.032
BTC 60725.43
ETH 2900.91
USDT 1.00
SBD 3.59