Jag försöker lyckas koda lite till Android, och hittills har jag lyckats ganska bra (relativt sett), med undantaget att jag inte lyckas spara inställningar som görs.
Man ska i programmet jag skriver kunna välja "Inställningar" och där ha tre (eller fler) kryssrutor (Checkboxes). Det jag vill göra är helt enkelt att spara det som valts, för att man ska slippa välja samma sak varje gång man startar programmet. Problemet som uppstår är däremot att jag får "Force Close" när jag försöker mig på detta. Jag är inte allt för sugen på att klistra in hela min kod, då den är oerhört ostrukturerad, men de raderna jag får problem med är just:
Kod:
private SharedPreferences mPrefs;
(... massa kod mellan, men kan vara bra att veta att jag definierat mPrefs tidigare)
private void finishUp() {
// TODO Auto-generated method stub
SharedPreferences.Editor SPed = mPrefs.edit();
SPed.putBoolean("mute", mute);
SPed.putBoolean("vibrate", vibrate);
SPed.putBoolean("flightmode", flightmode);
SPed.commit();
}
Jag har testat att sätta in try-catch, men har inte riktigt koll på hur den ska användas, så fångade allt när jag gjorde det. Det medförde inte mer än att jag inte fick något sparat, men heller inte fick force close (alltså kördes koden antagligen inte). Det verkar vara just den raden jag märkt ut med kommentar som är "problemet", men kommer inte på vad det är. finishUp() anropar jag när någon trycker på Avsluta-knapp, eftersom jag inte hunnit med att sätta mig in i onPause() och liknande saker.
Skulle vara mycket tacksam om någon kommer på vad jag (eller min dator) gör fel. Kör för övrigt Vista Home Premium (x32) + Eclipse + ADT + android-sdk-windows-1.5_r3, om det är av betydelse.