안드로이드 개발 질문/답변
(글 수 45,052)
TimePickerDialog 우선 구해서 나온 값을 preference에서 넣었습니다 DDMS에서 UserPerference를 뽑아서
정상적으로 preference에 넣는지 확인했습니다.
문제는 이 데이터를 이제 읽어서 시간설정 후 저장이 되었는지 확인해야하는데 잘안되네요 ...
우선 제가 의문점이 UserPerference.xml을 보면 <string name="timeSet">Dec 21, 2010 3:15:40 AM</string> 요렇게 나오고있습니다
제가 자바코드에 아래처럼했습니다
mAlarmSettings = getSharedPreferences(time, Context.MODE_PRIVATE);
//Preferences 설정되어있으면 설정값가져오고 아니면 새로 설정하기
if (mAlarmSettings.contains(time)) {
SharedPreferences prefs = getSharedPreferences("PrefName",MODE_PRIVATE);
String timeSet = prefs.getString(time);
이제 여기서 time 에서 나온시간을 세팅해야하는데 이부분을 모르겠네요...
원래 TimePickerDialog에서는
calendar.set(Calendar.HOUR_OF_DAY),
calendar.set(Calendar.MINUTE), 이렇게 구했는데 지금 제가 생성시킨 UserPerference.xml 보면
Dec 21, 2010 3:15:40 AM 이렇게 나와있네요
이걸 어터케 넣어야할까요? 앞에 년도랑 월 나오는것도 이상하고요...
어떤방식으로 editor.putstirng을 써야할까요?
}else{
//시간설정로직
}
아무리 고민을해봐도 답이 안나와서 이렇게 여쭈어봅니다
밑에 코드도 올려봅니다




public class UserPreferences extends PreferenceActivity { Calendar calendar = Calendar.getInstance(); SharedPreferences mAlarmSettings; TimePickerDialog.OnTimeSetListener time = new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { calendar.set(Calendar.HOUR_OF_DAY,hourOfDay); calendar.set(Calendar.MINUTE,minute); updateDateTime(); } }; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("START","77777"); addPreferencesFromResource(R.xml.preference); PreferenceScreen screen = (PreferenceScreen)findPreference("time"); //시간설정 screen.setOnPreferenceClickListener(new OnPreferenceClickListener() { // 이부분에서 if분을 사용해서 Preference 저장되었는지 안되었는지 나누려고합니다 @Override public boolean onPreferenceClick(Preference preference) { new TimePickerDialog(UserPreferences.this, time, calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), false).show(); return true; } }); updateDateTime(); } protected void updateDateTime() { Date date = calendar.getTime(); DateFormat mDateFormat = DateFormat.getDateTimeInstance(); String strDateTime = mDateFormat.format(date); SharedPreferences.Editor editor = getPreferences(Context.MODE_PRIVATE).edit(); editor.putString("timeSet", strDateTime); editor.commit();} }