Int Wert in SharedPrefs speichern

  • Antworten:4
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 3

29.04.2018, 11:26:34 via Website

Ich habe eine Frage, und zwar wie kann man im Android Studio eine Int speichern. Also so das sie auch nach einem Appneustart noch den selben Wert hat.

Hier ist mein Code
import android.content.SharedPreferences;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ProgressBar;
import android.view.View;
import android.widget.ImageButton;
import android.widget.TextView;

public class Activity22 extends AppCompatActivity implements View.OnClickListener {
ProgressBar prg;
ImageButton bt25;
int i = 1;
int h = 0;
TextView textView;
SharedPreferences prefs;
SharedPreferences.Editor prefseditor;
String KEY = "KEY";
int ausgelesen;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_22);
prg = (ProgressBar) findViewById(R.id.progressBar2);
bt25 = (ImageButton) findViewById(R.id.bt25);
bt25.setOnClickListener(this);

    prefs = this.getSharedPreferences("preference", MODE_PRIVATE);
    prefseditor = prefs.edit();


}


public void onClick(View e) {
    if( e == bt25){
    i += 1;


    if(i >= 1){
        AlertDialog ad = new AlertDialog.Builder(this).create();
        ad.setMessage("test");
        ad.show();
        h =0;
        h += ausgelesen += 1;

        prefseditor.putInt(KEY, h);
        prefseditor.commit();


        ausgelesen= prefs.getInt(KEY,90);
        prefseditor.commit();

        textView = (TextView)findViewById(R.id.textView4);
        textView.setText(""+ausgelesen);
        i = 0;
    }
    prg.setProgress(i);

}

}

}

Für Antworten schon mal im Vorraus Danke.
Mit freundlichen Grüßen Lukas

— geändert am 29.04.2018, 12:26:22 durch Moderator

Diskutiere mit!
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.168

29.04.2018, 12:23:24 via App

Was ist die Konkrete Frage?
Der Code sollte eigentlich gehen.

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 3

29.04.2018, 13:54:19 via Website

Ja der funktioniert, aber ich wolllte das bei jedem Klick die Zahl im Text erhöt wird und gespeichert wird. Das mit dem Speichern hat allerdings nicht funktioniert. Und ich weis nicht warum.
Mit freundlichen Grüßen Lukas

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 3

29.04.2018, 18:19:11 via Website

Vllt. Habt ihr ja noch andere Ideen?

Mit freundlichen Grüßen Lukas

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 483

30.04.2018, 05:55:59 via Website

Hallo ich bin noch recht neu hier.

Der Code für das Speichern sieht gut aus. Das zweite commit nach den zurücklesen braucht man zwar nicht sollte aber auch nicht schaden.
Für mich sieht dein Alertdialog nicht gut aus denke der Fehler ligt dort.
Auch ist es sinnvoll den int Wert schon in der onCreate auszulesen und anzuzeigen und nicht erst nach einen Button klick.

Denke auch das diese Zeile if( e == bt25) so aussehen müßte
if( e. getid() ==R. Id. bt25)

LG j

— geändert am 30.04.2018, 06:14:41

Hilfreich?
Diskutiere mit!

Empfohlene Artikel