2011-10-09 3 views
2

공유 환경 설정을 읽고 쓸 수 있으며 결과 XML 파일이 올바른지 확인했습니다. 그러나 단순한 목록 대신 기본 설정 계층을 만들 수 있습니까?Android 기본 설정 - 계층 적 일 수 있습니까?

내 코드에서 직접 환경 설정에 액세스하므로 환경 설정 화면이 앱에 있다고 가정해서는 안됩니다. PreferenceGroup, PreferenceCategory 및 PreferenceManager 클래스를 찾았지만 환경 설정 화면이 있다고 가정하는 것 같습니다.

+0

"계층 적"이 의미하는 것을 정의하십시오 if PreferenceScreen에 대해 말하는 게 아닙니다. 특정 환경 설정 (http://developer.android.com/reference/android/preference/Preference.html#attr_android:dependency)에 의존하는 환경 설정을 원하는 개수만큼 선언 할 수 있습니다. – Turnsole

+0

@Hydrangea : 계층 구조 란 항목이 하위 항목을 가질 수있는 구조를 의미합니다. 환경 설정은 SharedPreferences.Editor를 사용하여 저장되며 XML 파일에 있습니다. 계층 적 구조가 XML에서 가능하기 때문에 필자는 선호 데이터의 구조 표현을 만드는 방법을 찾고자했습니다. – Dabbler

답변

1

그러나 단순한 목록 대신 기본 설정 계층을 만들 수 있습니까?

아니요, 죄송합니다. 질문의 나머지 부분에서 다른 영구 데이터 모델 (데이터베이스, XML 파일, JSON 파일 등) 대신에 SharedPreferences을 사용하는 이유가 명확하지 않습니다.

+0

답변 해 주셔서 감사합니다. 내가 잘못된 접근법을 시도하고있는 것이 가능합니다. 기본적으로 Windows 레지스트리에 설정을 저장하는 Windows 응용 프로그램을 포팅합니다. 응용 프로그램은 추상 인터페이스를 통해 영구 저장소 (레지스트리 또는 다른 것)에 액세스하므로이 객체의 범위에서해야 할 일은 Android 용 레지스트리와 같은 것을 구현하는 새로운 클래스를 파생시킵니다. 예 : 키 삭제는 모든 하위 키 삭제를 의미합니다. 공유 속성은 XML 파일에 있기 때문에 이는 유망한 접근 방법으로 보입니다. API를 플랫 목록 이상으로 찾을 수 없습니다. – Dabbler

+0

Java는 XML 읽기/쓰기에 꽤 좋은 기능을 제공하는 것 같기 때문에 내 자신의 별도 XML 파일이 더 나은 접근 방법 일 수 있습니다. Thanks and +1 :-) – Dabbler

+0

@Dabbler : 일반적으로 SharedPreferences는 레지스트리를 훌륭하게 대체하지만 키 - 값 쌍의 플랫 목록에 대해서만 사용됩니다. 하지만 레지스트리를 복잡하게 사용하면 다른 데이터 저장소를 사용하는 것이 더 효율적입니다. – CommonsWare