J'ai un problème avec l'état actuel de la sauvegarde dans la barre de progression dans SharedPreferences. c'est mon code. Problème quand aller avec cette activité et ensuite sortir avec l'activité agian, la barre de progression ne compte pas l'état avec le séjour perméable.Impossible de sauvegarder la barre de progression de l'état actuel dans la préférence Préférence partagée
private UpdateQrCode updateQrCode;
SharedPreferences sharedpreferences;
private static final String TIME = "Time";
méthode
onCreate sorcière ont
@Override
protected void onCreate(Bundle savedInstanceState) {
...
sharedpreferences = getSharedPreferences(mypreference, Context.MODE_PRIVATE);
if (sharedpreferences.contains(Time)) {
int currentInterval = sharedpreferences.getInt(TIME, 0);
progressBar.setMax(currentInterval);
progressBar.setProgress(currentInterval);
} else {
interval = Integer.parseInt(intervalTotpDecrypt);
}
}
@Override
public void onBackPressed() {
super.onBackPressed();
if (updateQrCode != null) {
updateQrCode.cancel(true);
}
}
// cette AsyncTask de classe avec la mise à jour barre de progression
private class UpdateQrCode extends AsyncTask<Void, Integer, Integer> {
@Override
protected void onPreExecute() {
super.onPreExecute();
progressBar.setMax(interval);
}
@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
progressBar.setProgress(values[0]);
secondTimeTextView.setText(String.valueOf(values[0]));
}
@Override
protected Integer doInBackground(Void... params) {
for (int i = interval; i >= 0; i--) {
publishProgress(i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
return null;
}
@Override
protected void onPostExecute(Integer integer) {
super.onPostExecute(integer);
try {
NewXorString = generateQrCodeString(otpDecrypt, path3Decrypt, intervalTotpDecrypt);
} catch (InvalidKeyException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
generateNewString = Cryptography.xorHex(NewXorString);
UpdateQrCodeString(generateNewString);
updateQrCode.execute();
}
@Override
protected void onCancelled() {
super.onCancelled();
updateQrCode.cancel(true);
}
}
//method with save to sharedPreference
public void saveStateProgressBar() {
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putInt(TIME, interval);
editor.commit();
}
oui j'utilise SharedPreferences.Editor –