Android studio: Hoe sharedPreferences te gebruiken

Pagina: 1
Acties:
  • 527 views

Vraag


Acties:
  • 0 Henk 'm!

  • christiaantjuh
  • Registratie: Oktober 2019
  • Laatst online: 05-02-2021
Mijn vraag

Hallo,

Ik heb in een normale situatie (zonder navigation drawer dus fragments) de shared preferences weten te gebruiken op de manier hoe ik dat wil. Ik kon toen in de onCreate de volgende lijnen toevoegen zodat ik daarna optimaal gebruik kon maken van sharedpreferences:
code:
1
2
3
var PRIVATE_MODE = 0
        val PREF_NAME = "mindorks-welcome"
        val sharedPref = getSharedPreferences(PREF_NAME, PRIVATE_MODE) as SharedPreferences


maar als ik die zelfde 3 lijnen neerzet in mijn frament.kt file dan krijg ik een error unresolved reference op getSharedPreferences.
Ik voeg de 3 code lijnen toe in de functie onCreateView

Wie kan me helpen met de gouden tip om op de juiste manier dde sharedpreferences toe te voegen, of misschien iets anders om informatie tussen 6 fragments heen te gooien.

Je moet het zo zien dat als een bepaalde switch op pagina 1 is aangezet dat er dan bepaalde informatie op fragments 2,3 en 5 moeten worden getoond. Dit kon ik dus doen doormiddl van het ophalen van een key (vSwitch1) dis een 0 of een 1 kreeg van me, 0 van uit en 1 van aan.

Alle reacties


Acties:
  • +1 Henk 'm!

  • KoningsGap
  • Registratie: Augustus 2013
  • Laatst online: 15:42
getSharedPreferences is een methode vanuit het Context object. Context komt vanuit een applicatie of activity, dus niet vanuit een fragment. Je zal dus vanuit ofwel de applicatie, of de bovenliggende activity de context moeten aanroepen, om vandaaruit getSharedPreferences te kunnen aanroepen.

Voorbeeldje vanuit de documentatie:
code:
1
2
val sharedPref = activity?.getSharedPreferences(
        getString(R.string.preference_file_key), Context.MODE_PRIVATE)


https://developer.android...d-preferences.html#kotlin

[ Voor 3% gewijzigd door KoningsGap op 28-10-2019 14:07 ]


Acties:
  • 0 Henk 'm!

  • christiaantjuh
  • Registratie: Oktober 2019
  • Laatst online: 05-02-2021
Ik krijg het niet werkend

Met welke code kan ik de sharedpreferences initialiseren
Met welke code kan ik een waarde opslaan (onder de key: testTweakers bijvoorbeeld value textView1.text()
Met welke code kan ik een waarde terug halen (de key testTweakers)

Acties:
  • 0 Henk 'm!

  • YakuzA
  • Registratie: Maart 2001
  • Niet online

YakuzA

Wat denk je nou zelluf hey :X

Als je op Google dit opzoekt zijn er meerdere antwoorden voor je op stack overflow:
https://stackoverflow.com...gment-on-android/21720879
Of
https://stackoverflow.com...edpreferences-in-fragment

Verder is het antwoord hierboven van @KoningsGap met link exact wat je nodig hebt.

Death smiles at us all, all a man can do is smile back.
PSN


Acties:
  • 0 Henk 'm!

  • christiaantjuh
  • Registratie: Oktober 2019
  • Laatst online: 05-02-2021
krijg allemaal errors, zou iemand voor mij een opzetje kunnen maken wat functioneeert, want kom er nog niet uit...

Acties:
  • 0 Henk 'm!

  • christiaantjuh
  • Registratie: Oktober 2019
  • Laatst online: 05-02-2021
Oké, na 10 miljoen zoek pogingen en proberen en errors. heb ik eindelijk gevonden hoe het werkt.

code:
1
val pref = getActivity()?.getSharedPreferences("help",Context.MODE_PRIVATE) as SharedPreferences


Dit is de manier in android studio Kotlin.

daarna kan je gewoon met de gebruikelijke code's je spul doen.

Echter staat die vraagteken dus NIET in de linkjes vermeld van YakuzA... Dat was namelijk het gehele probleem, de code's die overal vermeld waren zijn dus incompleet.

Acties:
  • 0 Henk 'm!

  • Merethil
  • Registratie: December 2008
  • Laatst online: 15:27
christiaantjuh schreef op vrijdag 8 november 2019 @ 22:26:
Oké, na 10 miljoen zoek pogingen en proberen en errors. heb ik eindelijk gevonden hoe het werkt.

code:
1
val pref = getActivity()?.getSharedPreferences("help",Context.MODE_PRIVATE) as SharedPreferences


Dit is de manier in android studio Kotlin.

daarna kan je gewoon met de gebruikelijke code's je spul doen.

Echter staat die vraagteken dus NIET in de linkjes vermeld van YakuzA... Dat was namelijk het gehele probleem, de code's die overal vermeld waren zijn dus incompleet.
Waarschijnlijk als je had gekeken naar de errors zal het zijn omdat de Activity soms null kan zijn. ? is de null-safety-operator die null teruggeeft als iets in de keten null is (b.v. dus de Activity)
Probleem is dat je zei "ik krijg allerlei errors" maar die hier dan niet toont en dus kunnen we je dan niet helpen...

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

christiaantjuh schreef op zaterdag 2 november 2019 @ 19:11:
Ik krijg het niet werkend

Met welke code kan ik de sharedpreferences initialiseren
Met welke code kan ik een waarde opslaan (onder de key: testTweakers bijvoorbeeld value textView1.text()
Met welke code kan ik een waarde terug halen (de key testTweakers)
christiaantjuh schreef op vrijdag 8 november 2019 @ 20:39:
krijg allemaal errors, zou iemand voor mij een opzetje kunnen maken wat functioneeert, want kom er nog niet uit...
Je bent er intussen kennelijk uit maar dit is dus niet de manier waarop GoT werkt. Nog naast het feit dat het heel erg lui overkomt om te zeggen "het lukt me niet, doe het even voor me" helpt een melding als "ik krijg allemaal errors" echt niemand als je niet erbij vertelt welke errors en wat je precies gedaan hebt om die errors te krijgen. Hou even in het achterhoofd dat niemand hier op je scherm mee kan kijken.

Lees De Quickstart eventjes door voordat je nog een vraag stelt, dan heb jij meer plezier van ons en wij meer plezier van jou. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.