안드로이드를 공부하고 있는 학생입니다.
앱 종료 후에도 데이타를 유지하기 위한 방법으로 sharedpreference를 사용하였습니다.
인터넷보고 따라서 만들어 보았는데 앱 종류후에 데이터가 유지가 되지 않는데 어느부분이 잘못되었는지 모르겠습니다.
한수 알려주세요^^
package arabiannight.tistory.com.sharedpreferences;
import android.app.Activity;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.widget.Button;
import android.widget.Toast;
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();
}
}