안드로이드를 공부하고 있는 학생입니다.

앱 종료 후에도 데이타를 유지하기 위한 방법으로 sharedpreference를 사용하였습니다.

인터넷보고 따라서 만들어 보았는데 앱 종류후에 데이터가 유지가 되지 않는데 어느부분이 잘못되었는지 모르겠습니다.

한수 알려주세요^^


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();

    }

    

    

    

}