DevTutorial 9 – OrmLite for Android: relaties tussen je objecten opslaan

DevTutorial 9 – OrmLite for Android: relaties tussen je objecten opslaan

Wat gaan we doen

TwitterUser class laten verwijzen naar meerdere Tweet-objecten

Je hoeft de method setTweets alleen maar te gebruiken als je net zelf een nieuw TwitterUser object hebt aangemaakt via de constructor met het woordje new. Als je een object ophaalt van de SQLite database met een Dao object dan heeft het Dao object automatisch al de de waarde van variabele mTweets veranderd van null naar een ForeignCollection<Tweet>object: ook als er helemaal geen gerelateerde Tweet objecten bestaan (dan heb je een ForeignCollection<Tweet> object waar verder geen elementen in zitten, maar waar je dus al wel onder andere de method addAll op kan aanroepen).In de code die we zo gaan schrijven halen we telkens opnieuw een TwitterUser object op van de database die we in de vorige Activity al hadden aangemaakt: dan kunnen we dus meteen de method addTweets gebruiken.
Je hebt nu twee keer tegelijkertijd de variabelen (inclusief de annotatie) en de daarbij horende methods toegevoegd. De code die je moest invoegen kan je wel één-op-één kopieren, maar je kan beter al je variabelen bovenin je class zetten, en alle get-methods en set-methods onderaan je class zetten. De andere methods zet je dan in het midden van je class. Hierdoor houd je je class overzichtelijk.

Tweet class laten verwijzen naar één TwitterUser object

DatabaseHelper class aanpassen

Tweets laden in de TweetsActivity class vanuit de SQLite database

De eerste twee methods van dit lijstje zijn identiek aan de methods uit de vorige DevTutorial.

  • Voeg de eerste twee methods toe en definieer ook de variabelen van het type DatabaseHelper die je hiervoor nodig hebt.

Binnenin het if block moet je de method getTweets gebruiken op de mTwitterUser variabele. Hierdoor krijg je de tweets die bij de Twitter-gebruiker horen. Deze zijn dan aanwezig in mTwitterUser omdat je net de annotaties @ForeignCollectionField en@DatabaseField (foreign = true) hebt toegevoegd aan beide classes. Hierdoor zoekt OrmLite namelijk automatisch de Tweets objecten op die bij dit TwitterUser object horen.

Sourcecode en Forum

Lees meer over:
DevTutorial

Plaats reactie

666

0 reacties

Meest gelezen

10 Weeks of Magic: 10 weken lang interessante Google-aanbiedingen

Google heeft '10 Weeks of Magic' aangekondigd. Tijdens deze 10 weken kun je achter 10 deuren, 10 magische momenten vinden. Go...

Google Assistent laat je nu plannen wanneer slimme lampen aangaan, zo werkt het

Je kan nu aan Google Assistent vragen om de slimme lampen in je huis op een specifiek tijdstip aan of uit te zetten. Daarnaas...

Black Friday 2020, dit zijn de beste deals!

Black Friday loopt dit jaar vol-le-dig uit de hand, het aantal deals is niet meer bij te houden. Wij gaan jullie helpen door...

'Samsung Galaxy S21, Z Folds 3 krijgen S Pen, Note verdwijnt'

Nieuwe geruchten spreken over S Pen-ondersteuning voor de aankomende Samsung Galaxy S21- en Z Fold 3-reeks. Tegelijk zou dat...

AW Hangout 217, niet zeuren en straks gewoon betalen voor Google Photos

We zijn er heel even een weekje tussenuit geweest vanwege de verhuizing, maar we zijn er weer. In aflevering 217 van de AW Ha...

OnePlus 8 en 8 Pro: Android 11-update in Nederland beschikbaar

Vers vanuit de bètafase heeft OnePlus de eerste stabiele updates van Android 11 klaargezet om uitgerold te worden naar de One...

Koopgids: 5 beste midrange smartphones (november)

In de Androidworld koopgids kiezen we elke maand de beste Android-telefoons. Van goedkope tot dure telefoons, er is voor iede...

“5G-beleid in Nederland volgt advies van Gezondheidsraad”

Het kabinet reageert op het advies van de Gezondheidsraad over 5G, en de ministers stellen dat het Nederlandse beleid conform...

Black Friday bij Epine.nl, Reolink Argus 2 met 16 GB Micro SD-kaart van €125 voor €89,- (ADV)

Bij Epine.nl kun je echt alles vinden wat je nodig hebt op het gebied van beveiligingscamera's en alarmsystemen. Natuurlijk h...

Black Friday bij nowinsure.com, verzeker je apparatuur 1 maand gratis! (ADV)

Heb je wel eens opgeteld voor hoeveel geld jij aan apparatuur in huis hebt? Denk aan je smartphone, tablet et cetera. Dit loo...

Lees meer

Net binnen

Nostalgie! Met deze widget waan je je weer in het HTC-tijdperk

Wil je weer eens terug in de tijd? Om precies te zijn, het HTC-tijdperk? Dat kan met deze iconische klok bekend van HTC's Sen...

Dit zijn de beste Black Friday Deals van Motorola (ADV)

Hello Moto! Ook Motorola doet mee aan Black Friday en heeft een flink aantal telefoons van een flinke korting voorzien. Wees...

OnePlus 8 en 8 Pro: Android 11-update in Nederland beschikbaar

Vers vanuit de bètafase heeft OnePlus de eerste stabiele updates van Android 11 klaargezet om uitgerold te worden naar de One...

Koopgids: 5 beste midrange smartphones (november)

In de Androidworld koopgids kiezen we elke maand de beste Android-telefoons. Van goedkope tot dure telefoons, er is voor iede...

Black Friday bij nowinsure.com, verzeker je apparatuur 1 maand gratis! (ADV)

Heb je wel eens opgeteld voor hoeveel geld jij aan apparatuur in huis hebt? Denk aan je smartphone, tablet et cetera. Dit loo...

Lees meer