2016-09-27 2 views
0

내 앱에 점수를 저장하는 메소드를 만들려고합니다. 그것은 이전에 onCreate 메서드에 있었고, 나는 사용자가 점수를 0으로 설정했을 때마다 앱을 시작할 때마다 그런 이유라고 생각했습니다. 그때부터는 onStart 메서드 (14-19 행)로 변경했습니다. 맡은 일. 다른 방법을 사용해야합니까? 성공적으로 점수를 저장했지만 onStart 메소드에서 다시 호출해야합니까?내 게임에서 점수를 저장하고 읽는 데 어떤 방법을 사용 하시겠습니까?

public class MainActivity extends Activity implements OnClickListener { 

    TextView textView1; 
    EditText editText1; 
    Button button1; 
    int counter = 0; 

    @Override 
    protected void onCreate(Bundle savedInstanceState){ 
     super.onCreate(savedInstanceState); 
     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
     setContentView(R.layout.main);} 

    public void onStart(){ 
     super.onStart(); 
     SharedPreferences score = this.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE); 
     SharedPreferences.Editor editor = score.edit(); 
     editor.putInt("key", counter); 
     editor.commit(); 


     textView1 = (TextView)findViewById(R.id.textView1); 
     editText1 = (EditText)findViewById(R.id.editText1); 
     button1 = (Button)findViewById(R.id.button1); 
     button1.setOnClickListener(this);} 

    public void onClick(View v){ 
     if (v == button1){ 
      counter++; 
      editText1.setText(Integer.toString(counter)); 

      } 

     } 

    } 
+0

액티비티 콜백에서 변경할 필요가 없습니다. 데이터가 변경되었을 때 데이터를 저장하십시오. – Shaishav

+0

Ok. 나는 그것을 시도 할 것이다. – Bugagull

답변

0

당신은 사용할 수 있습니다 1. 된 SharedPreferences 또는 저장 최고 기록을 저장에서 파일에. 2. 또는 firbase를 사용하여 최고 기록을 온라인으로 저장할 수 있습니다. 3. 인터넷 사용 가능성을 염두에두고 두 가지를 모두 사용하십시오.

+0

옵션을 제공해 주셔서 감사합니다. 점수를 저장 공간에 파일로 저장하려고 시도합니다. – Bugagull

+0

당신을 진심으로 환영합니다. –

관련 문제