2013-01-31 2 views
0

클래스의 인스턴스를 생성하고 사용자 입력을 받아야하는 간단한 응용 프로그램을 만들고 있습니다. 응용 프로그램이 종료 된 후이 인스턴스를 보존하고 싶습니다. 나는 사용자 입력을 파일에 저장하고 저장된 데이터를 사용하여 연속 실행시 파일의 새 인스턴스를 만들려고했지만 클래스의 복잡한 특성으로 인해 결과가 예상보다 좋지 않습니다.android 객체의 인스턴스 사본

내 질문은, 장치의 내부 메모리에 클래스의 인스턴스를 저장하고 응용 프로그램을 다시 시작할 때마다 다시로드하는 가장 좋은 방법은 무엇입니까? 내가 이해 한 것부터, 나는 객체를 직렬화해야 할 것이다. 그러나 정확히 어떻게 접근 할 것인가, 아니면 그것이 올바른 접근인지는 확실하지 않다.

입력 해 주셔서 감사합니다.

답변

1

onPause() 메서드에서 데이터를 유지하고 onResume() 메서드에서 다시로드해야합니다.

일반적으로 SQLite 데이터베이스 (http://developer.android.com/guide/topics/data/data-storage.html#db)를 사용합니다. 또한 JSON (http://developer.android.com/reference/org/json/JSONObject.html)을 사용하여 개체를 직렬화하고 Android의 SharedPreferences (http://developer.android.com/guide/topics/data/data-storage.html#pref)에 저장할 수 있습니다.

+0

하지만 onpause 및 onresume 메소드를 사용하면 앱이 종료되거나 어떤 이유로 든 충돌하는 경우 데이터가 손실됩니다. 맞습니까? 전체 앱의 수명 동안 데이터가 필요합니다. – Malfunction

+0

'onPause()'메서드로 데이터를 ** 지속 **시켜야합니다. – Dan

+0

그래서, 내가 아는 바로는, 이것은 무한정 데이터를 저장할 수 있습니까? 나는이 모든 것에 조금 새로운 것이므로 ... – Malfunction

관련 문제