안드로이드 개발 질문/답변
(글 수 45,052)
package sk.fggdgg;
import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.widget.TextView;
public class Preference extends Activity {
/** Called when the activity is first created. */
public static final String KEY_MY_PREFERENCE = "my_preference";
Intent rankInt = new Intent();
private long time;
private String name;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ranking);
rankInt = getIntent();
TextView TXT1 = (TextView)findViewById(R.id.tv01);
name = rankInt.getStringExtra("name");
time = rankInt.getLongExtra("time",0);
TXT1.setText("결과는:"+ name + "," + time +" ");
SharedPreferences prefs =getSharedPreferences("PrefName", MODE_PRIVATE);
String text = prefs.getString(KEY_MY_PREFERENCE, "");
final TextView edit =(TextView)findViewById(R.id.tv02);
edit.setText(text);
}
protected void onStop() {
super.onStop();
SharedPreferences prefs =getSharedPreferences("PrefName", MODE_PRIVATE);
TextView edit =(TextView)findViewById(R.id.tv01);
SharedPreferences.Editor ed=prefs.edit();
String text = edit.getText().toString();
ed.putString(KEY_MY_PREFERENCE, text);
ed.commit();
}
}
안녕하세요 아직까지는 초보라서 언제나 질문만 던지는데요 ㅠ.ㅠ 정말 죄성합니다 그래도 여기밖에 의지할대가없어서요
이번에 제가 질문드리고싶은것은 다름이아니라 Preference 때문인데요 지금 코드를 보시면 자료가 일단 저장이 잘됩니다..
근데 두번째 자료를 입력하게되면 그 자료가 쌓이는게 아니고 계속 새값으로 값이 덮혀버려서요 이것을 어떻게 해결해야할까요?
그리고 정렬법을이용해서 순서대로 출력할수있을까요?
2010.06.29 10:18:04
Preference 에서 이전 데이터가 덮이는 것은 정상동작 입니다. xml에 해당 키, 값 의 형태로 자료를 저장하는 형태이기 때문입니다.
Preference 에서 새로 값을 쓰기 위해서는 editor 를 통해서 쓰실수 있습니다.
Preference 는 말그데로 해당 어플리케이션의 설정을 위한 class 입니다~ 자료가 10개 밖에 안된다고 해도 쌓이기를 원하신다면 Preference 보다 db 를 사용하는것을 추천합니다. 10개의 데이타가 10개만 쌓여도 100개의 데이타가 되니 그리 적은수의 데이타는 아니라고 생각합니다.
Preference 에서 새로 값을 쓰기 위해서는 editor 를 통해서 쓰실수 있습니다.
Preference 는 말그데로 해당 어플리케이션의 설정을 위한 class 입니다~ 자료가 10개 밖에 안된다고 해도 쌓이기를 원하신다면 Preference 보다 db 를 사용하는것을 추천합니다. 10개의 데이타가 10개만 쌓여도 100개의 데이타가 되니 그리 적은수의 데이타는 아니라고 생각합니다.




여러개의 데이터를 저장하고 싶으시면 sqlite 를 공부해보세요.