배열값을 받아서 앱이종료 후에도 저장된 배열값을 유지하게 하고 싶어서 SharedPreferences 을 사용해 보았는데
앱종료 후에도 저장이 않되는데 어떻게 해야 배열을 앱종료 후에도 저장되게 할 수 있을까요?
package arabiannight.tistory.com.sharedpreferences;
import android.app.Activity;
public class TestSharedPreferencesActivity extends Activity {
Button button1;
Button button2;
Button button3;
long[] pattern= new long[10];
String[] spattern=new String[10];
int i;
@Override
public void onCreate(Bundle savedInstanceState) {
i=0;
for(int i=0;i<10;i++){
pattern[i]=0;
}
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button1 = (Button)findViewById(R.id.button1);
button2 =(Button)findViewById(R.id.button2);
button3=(Button)findViewById(R.id.button5);
button1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
pattern[i]=1;
SharedPreferences pref = getSharedPreferences("pref", MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putLong(spattern[i], pattern[i]);
editor.commit();
i++;
Log.d("value of button1","pattern you selected button1");
Log.d("button1","pattern[0]"+pattern[0]);
Log.d("button1","pattern[1]"+pattern[1]);
Log.d("button1","pattern[2]"+pattern[2]);
}
});//end of button1
button2.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
SharedPreferences pref = getSharedPreferences("pref", MODE_PRIVATE);
for(int k=0;k<i;k++){
pattern[k]=pref.getLong(spattern[k], 1);
}
Log.d("value of button2","pattern you selected button2");
Log.d("value of pattern","pattern[0]"+pattern[0]);
Log.d("value of pattern","pattern[1]"+pattern[1]);
Log.d("value of pattern","pattern[2]"+pattern[2]);
}
});//end of button2
button3.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
SharedPreferences pref = getSharedPreferences("pref", MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.clear();
editor.commit();
for(int i=0;i<10;i++){
pattern[i]=0;
//spattern[i]="0";
}
Log.d("value of reset","pattern you selected reset button");
Log.d("value of reset","pattern[0]"+pattern[0]);
Log.d("value of reset","pattern[1]"+pattern[1]);
Log.d("value of reset","pattern[2]"+pattern[2]);
i=0;
}
});//end of button3
}//end of onCreate
//값 불러오기
private void getPreferences(){
SharedPreferences pref = getSharedPreferences("pref", MODE_PRIVATE);
pref.getString("hi", "");
}
// 값 저장
private void savePreferences(){
SharedPreferences pref = getSharedPreferences("pref", MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
//editor.putLong(pattern, pattern[i]);
editor.putString("hi", "인사");
editor.commit();
}
// 값 삭제
private void removePreferences(){
SharedPreferences pref = getSharedPreferences("pref", MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.remove("hi");
editor.commit();
}
// 값 모두 삭제
private void removeAllPreferences(){
SharedPreferences pref = getSharedPreferences("pref", MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.clear();
editor.commit();
}
}