(전부 보기 힘드시다면 프리퍼런스 사용부분은 맨 위에 세팅부분과, 맨 밑에 save버튼,load버튼에 있습니다)
package com.example.lee.simulating;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Resources;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import java.util.Scanner;
public class MainActivity extends AppCompatActivity {
public static int level = 1;
public static int gold;
public static int exp = 0;
SharedPreferences setting;
SharedPreferences.Editor editor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setting = getSharedPreferences("setting", 0);
editor= setting.edit();
Button gohunting = (Button) findViewById(R.id.huntbutton);
Button goshop = (Button)findViewById(R.id.shopbotton);
gohunting.setOnClickListener(listener);
goshop.setOnClickListener(listener);
TextView howgold = (TextView)findViewById(R.id.gold);
howgold.setText(String.format(getString(R.string.gold),gold));
TextView name = (TextView)findViewById(R.id.name);
name.setText(String.format(getString(R.string.name), naming.username));
}
Button.OnClickListener listener = new Button.OnClickListener() {
public void onClick(View v) {
switch (v.getId()) {
case R.id.huntbutton:
Intent gohunt = new Intent(MainActivity.this, Battle.class);
startActivity(gohunt);
break;
case R.id.shopbotton:
Intent intent = new Intent(MainActivity.this, Shop.class);
startActivity(intent);
break;
case R.id.save:
editor.putInt("골드", gold);
editor.commit();
break;
case R.id.load:
setting.getInt("골드", 0);
break;
}
}
};
소스는 대충 이런데요, gold값을 다른 액티비티에서 MainActivity.gold++ 이렇게 증가시켜서 쓰고 있는데,
앱을 껏다켜도 저장이 안되서 고민입니다...ㅜ.ㅜ
어디가 잘못된걸까요?