안드로이드 개발 질문/답변
(글 수 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 를 공부해보세요.