Problem: Visa information från variabel i annan activity?

Discussion in 'Frågor, support och diskussion' started by Telnet, Nov 17, 2020.

  1. Telnet

    Telnet Infant Droid Medlem

    Joined:
    Nov 17, 2020
    Messages:
    3
    Likes Received:
    2
    Hej,

    Väldigt ny när det kommer till apputveckling, eller programmering i största allmänhet för den delen, så om jag uttrycker mig märkligt eller rentav felaktigt välkomnar jag rättelser.

    Läser en kurs där jag fått i uppgift att skapa ett enkelt spel, vilket jag lyckats göra, med hjälp av diverse YouTube-videor, developer.android.com-sidor, stackoverflow-trådar, etc.

    En av kraven är dock att jag även ska skapa en separat activity, nåbar från menyn, där man kan se sin poäng.

    Problemet är att när jag försöker använda mig av den variabel jag skapat för poängen i min "ScoreActivity" får jag felmeddelandet "Cannot resolve symbol score."

    Jag har alltså redan en variabel för "score", som är deklarerad som "private int" i den activity som managerar själva spelet.
    Har både provat att ta bort "private", och byta ut det mot public, men det verkar inte ha någon effekt.

    Den rad där jag försöker "hänvisa tilll" variabeln är:
    scoreCounter.setText("Poäng: " + score);

    Misstänker att jag missförstått något här.
    Ser inte att detta är en fråga som ställts förut, men är det så vill jag gärna veta var jag kan hitta informationen.
    Har inte riktigt fått grepp om hur bäst jag söker upp svar på sådana här frågor ännu.

    Tacksam om någon kan ge mig något tips. :)
     
  2. N6290

    N6290 Android Apprentice Medlem

    Joined:
    Sep 12, 2012
    Messages:
    3 996
    Likes Received:
    2 042

    MINA ENHETER

    Jag kan absolut ingenting om programmering, men jag har hört att ibland kan fel uppstå i kod därför att man använder symbolen " istället för ' och tvärtom. Dvs fel slags fjuttar.
    Inget sånt enkelt som kan lösa det? :)
    Lycka till, hoppas någon mer svarar!
     
    Telnet likes this.
  3. Zooklubba

    Zooklubba Android Medlem

    Joined:
    Jul 10, 2010
    Messages:
    6 448
    Likes Received:
    2 199

    MINA ENHETER

    Du kan inte referera till en variabel på det sättet.

    Behöver du bara skicka informationen en gång så kan du skicka det som extras i ett bundle i Intentet du använder för att starta den andra aktiviteten.

    En annan möjlighet är att ha variabeln i application Singleton.

    En tredje är att spara ned den till tex Shared preferences
     
    RuffyMan, Telnet and Albin N7 like this.
  4. Telnet

    Telnet Infant Droid Medlem

    Joined:
    Nov 17, 2020
    Messages:
    3
    Likes Received:
    2
    Tack för svaren!
    Jag försökte få till det med både Shared preferences och skicka den som en en extra, men förstod inte riktigt hur jag skulle applicera det på min egen kod.

    Någonting jag dock fick det att funka med var genom att deklarera variabeln som
    public static int score;

    Sedan angav jag i ScoreActivity
    scoreCounter.setText("Poäng: " + Game.score);

    Nu visas poängen i rätt aktivitet efter ett avslutat spel.
    Sedan att det inte sparas mellan sessioner eller spel är en annan femma, men det var inget krav här heller.
     
    RuffyMan likes this.
  5. Zooklubba

    Zooklubba Android Medlem

    Joined:
    Jul 10, 2010
    Messages:
    6 448
    Likes Received:
    2 199

    MINA ENHETER

    Om der bara är för ditt egna nöjes skull så kör på. Men ska någon betygsätta eller liknande är det nog bäst att lägga den int:en i Application contextet. (Blabla extends Application och sedan en rad kod i manifestet)

    Finns möjlighet att din första aktivitet dödas så du inte har den variabeln när du vill om jag förstår ditt upplägg rätt.

    Men om det fungerar så kör på.
     
    Last edited: Nov 18, 2020
    Telnet likes this.
  6. Telnet

    Telnet Infant Droid Medlem

    Joined:
    Nov 17, 2020
    Messages:
    3
    Likes Received:
    2
    Tack för tipset, jag ska kolla upp Application context.

    Detta är dock på en rätt basic nivå, och kriterierna är specifika. Så länge jag visar poängen i rätt activity så uppfyller jag det kriteriet. När jag har testat nu har det sparats utan problem, vilket jag gissar beror på att det är en så pass liten app.

    Men jag ska ha det i åtanke för framtida appar! :)
     
    RuffyMan likes this.