Hålla en app levande?

Diskussion i 'Frågor, support och diskussion' startad av Maxxan, 15 maj 2011.

  1. Maxxan

    Maxxan Youth Droid Medlem

    Blev medlem:
    22 mar 2010
    Inlägg:
    162
    Mottagna gillanden:
    4

    MINA ENHETER

    Jag testar lite och gör en app som i korthet startar tiden, tex när man kommer till jobbet, och sen när man väljer att stoppa så läggs arbetstiden ihop med föregående.

    Jag tänkte att man sparar ner tidpunkten man startade till fil (ifall ens app blir dödad pga minnesbrist) och sen när man stoppar så jämför man bara tiden där emellan.

    Men jag vill också ha i "Pågående händelser" att det står hur länge man jobbat, hh:mm, så jag har skapat en notification för det.

    Hur håller jag appen vid liv och uppdaterar detta? Ska jag skapa en Sticky service som uppdaterar en gång i minuten och som startar igen om den blir dödad?

    Vad är bästa sättet så man inte drar batteri i onödan? Appen gör ju egentligen ingen ting och inget behöver hända när skärmen inte är på.
     
  2. uncoloured

    uncoloured Teen Droid Medlem

    Blev medlem:
    21 feb 2010
    Inlägg:
    325
    Mottagna gillanden:
    16

    MINA ENHETER

    Kolla in AlarmManager, den kan trigga vid ett givet klockslag och du kan speca om den ska väcka telefonen eller vänta tills den vaknar.

    EDIT: AlarmManager menade jag..
     
  3. Maxxan

    Maxxan Youth Droid Medlem

    Blev medlem:
    22 mar 2010
    Inlägg:
    162
    Mottagna gillanden:
    4

    MINA ENHETER

    Aha, så då ska jag trigga varje minut, men inte väcka telefonen, och uppdatera min notification?

    Kan man sätta att den uppdaterar en gång direkt telefonen väcks? För man vill ju inte behöva vänta upp till en minut innan min notification visar rätt tid.
     
    Last edited: 15 maj 2011
  4. uncoloured

    uncoloured Teen Droid Medlem

    Blev medlem:
    21 feb 2010
    Inlägg:
    325
    Mottagna gillanden:
    16

    MINA ENHETER

    Något sånt, men du får fundera lite på hur man löser det på bästa sätt för användaren.. Att uppdatera saker varje minut känns ju lite batterislukande men du får testa. Finns många olika funktioner för att trigga en uppdatering, men prova med AM. Sätt ett alarm en minut i framtiden som inte får väcka enheten. Ett nytt larm sätter du inte förrän det första körts. Infaller tiden när enheten idlear så triggas larmet direkt när den väcks.
     
  5. Maxxan

    Maxxan Youth Droid Medlem

    Blev medlem:
    22 mar 2010
    Inlägg:
    162
    Mottagna gillanden:
    4

    MINA ENHETER

    Den ska ju bara uppdatera minuterna på klockan, och om det bara görs när telefonen inte är i vänteläge känns d som d inte skulle dra så mycket. Tack för idéerna!
     
  6. pirko

    pirko Infant Droid Medlem

    Blev medlem:
    8 apr 2011
    Inlägg:
    10
    Mottagna gillanden:
    1

    MINA ENHETER

    Ett annat tips är att skippa alarm manager och bara jämföra tiden när du startar appen. "Pågående händelser" är kanske inte så intressant hela tiden utan bara vid vissa tillfällen.

    D.v.s: Användaren klickar på "Starta händelse", appen sparar ner tiden i en fil (eller en sharedpreferences). Användaren hoppar ur appen. Nästa gång användaren vill se pågående händelser så startar han/hon appen och då görs en jämförelse med starttiden för att få fram nuvarande tid. Så länge användaren har appen i gång så skulle du kunna köra en timer eller liknande för att uppdatera den visade tiden.

    Notifikationen skulle du kunna lösa med ett alarm. Dock så kanske den inte körs så ofta.