2014-02-18 2 views
-1

아이디어는 Buttons/EditTexts/TextViews/Classes/등의 인스턴스를 전달하고자하는 것입니다. 안드로이드에있는 파일에 저장 한 다음 압축을 풀고 다음에 방문한 활동을 다시 실행하십시오.복잡한 객체를 android에 파일로 전달

할 수 있습니까?

나는

  • 직렬화 시도하지만 직렬화
  • Parcelable, 또한 같은 문제의 영향을받지 않습니다 과도로 해당 개체를 선언하지 않고 할 수 없습니다 실현
  • JSONObject에서 Button/Layout/등으로 가져온 객체를 다시 캐스팅 할 수 없습니다.
  • GSon에 무한 재귀 루프가 있습니다.

어떤 도움도 제공하나요?

답변

1

Buttons 또는 Layouts과 같이 UI 요소를 직렬화하면 안됩니다. 텍스트와 같은 UI 뒤에 데이터를 저장하는 것이 좋습니다.

SharedPreferences을 사용하는 것이 좋습니다.

+0

이해하는 데 도움이 될 것입니다 (A 값은 당신이 이전에 설정되지 않은 값을 검색하려고 할 때 얻을)를 Default 값이 있어야합니다 UI 요소의 상태를 저장하고 그 상태에서 요소를 다시 만드는 것과 같은 가능한 방법은 없습니까? @FD_ – Odin

+0

Model-View-Controller 패턴을 생각해보십시오. 뷰는 데이터를 나타낼 뿐이므로 별도로 저장해야합니다. 이 정신에서, 그것을 할 수있는 방법이있을 수도 있지만, 그것을 시도하지 마십시오. –

+0

또한,'Views '가 얼마나 많은 필드가 있는지 그리고 그 중 몇 개만 필요한지 살펴보십시오. UI를 직렬화하면 공간 낭비를 상상해보십시오. –

1

이유가있는 SharedPreferences을 사용해야합니다. 애플리케이션 SharedPreferences 전용 애플리케이션을 만들고 저장할 각 속성에 대해 고유 한 키를 선언 할 수 있습니다. 당신의 SharedPreferences의 각 속성/값은

Link 당신이 그것을 그래서 거기

+0

네,하지만 이것은 int/float/string/etc와 함께 작동합니다. 객체 만 – Odin

+1

아니요, 전체 객체를 확실히 저장할 수 없습니다. 당신은 그 상태를 저장할 수 있습니다 (예를 들어'textView.getText()'** Text ** 텍스트 ** toggleButton.getState()'** Boolean ** 또는'toggleBotton.isPressed()'** Boolean ** .. .etc –

+0

답장을 보내 주셔서 감사합니다. 시간을내어 도와 주셔서 감사합니다. – Odin

관련 문제