PDA

View Full Version : مشکل در ادامه شمارش با خروج از برنامه و ورود دوباره



spns33
یک شنبه 06 فروردین 1396, 16:18 عصر
سلام
من تویه برنامم شروع به شمارش می کنم و با رفتن به اکتیویتی دیگه و برگشتن دوباره به همون اکتیویتی و خارج شدن با کلید HOME و وارد شدن دوباره به برنامه شمارش ادامه پیدا میکنه ولی اگر با کلید BACK از برنامه خارج بشم و دوباره وارد برنامه بشم شمارش متوقف میشه ولی اگر زمانی که با کلید BACK خارج میشم برنامه را کامل ببندم و دوباره برنامه را باز کنم دوباره شمارش ادامه پیدا میکنه.
چکار باید بکنم تا شمارش با ورود دوباره به برنامه بعد از زدن کلید BACK ادامه پیدا کنه؟

کدjava:

package com.example.app1012.myapplication1012;

import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.ActionMode;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {


int m = 0;
String CC;
TextView TEXVV,TEXVV2;
TxtTimer TxtTimer1=new TxtTimer();
boolean d=true;
public static String FILE_NAME="etelaat";
SharedPreferences data;
public static int FILE_NAME2=0;
SharedPreferences data2;

public void TextUp(Integer inpu_t) {
CC = Integer.toString(inpu_t);
TEXVV.setText(CC);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button BUTJ1 = (Button) findViewById(R.id.BUT01);
Button BUTJ2 = (Button) findViewById(R.id.BUT02);
Button BUTJ3 = (Button) findViewById(R.id.BUT03);
TEXVV = (TextView) findViewById(R.id.TEV02);
TEXVV2=(TextView)findViewById(R.id.TEV03);
TxtTimer1.execute();



TEXVV2.setText(Integer.toString(m));
TEXVV.setText(CC);

BUTJ1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent otactiv = new Intent(MainActivity.this, Other_page.class);
startActivity(otactiv);

}
});

BUTJ2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent abactive = new Intent(Intent.ACTION_VIEW, Uri.parse("http://site.ir"));
startActivity(abactive);

}
});

BUTJ3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {


}
});

}



@Override
protected void onPause() {
super.onPause();
d=false;

SharedPreferences.Editor editor=data.edit();
editor.putString("Vorodi",CC);
editor.commit();
SharedPreferences.Editor editor2=data2.edit();
editor2.putInt("Vorodi2",m);
editor2.commit();

}


@Override
protected void onResume() {
super.onResume();
d=true;
data=getSharedPreferences(FILE_NAME,0);
CC=data.getString("Vorodi","0");
data2=getPreferences(FILE_NAME2);
m=data2.getInt("Vorodi2",0);

}

private class TxtTimer extends AsyncTask<Object, Integer, Boolean> {


@Override
protected Boolean doInBackground(Object... strings) {

while (m<=1000000) {
if (d == true) {

publishProgress(m, 1000000);
try {
m++;
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}


return null;
}

@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
// ma do meghdar be method emun dadim, yeki meghdar pishraft dovomi kole pishraft ke dar zir be tartib una ro estefade kardim
TextUp(values[0]);
}

@Override
protected void onPostExecute(Boolean s) {
super.onPostExecute(s);

}
}
}

hamid_hr
دوشنبه 07 فروردین 1396, 11:39 صبح
اگه اون شماره رو در یک فایل ذخیره کنید یا در SharedPreferences ذخیره بشه حتی اگه گوشی ریست بشه هم اطلاعات از بین نمیره