2017-10-13 12 views
0

사용자가 텍스트 추가 및 이미지 추가와 같은 많은 작업을 수행 할 수있는 디자인 활동이 하나 있습니다.Android 데이터로 활동 컨텍스트 또는 레이아웃 저장 및 복원

이제 작업 내용을 초안으로 저장하는 옵션을 제공해야합니다. 따라서 모든 컨텍스트/관련 레이아웃이 데이터로 변환되어 일부 파일에 저장되므로 앱을 닫은 후에도 검색 할 수 있습니다.

동일한 활동이 많은 인스턴스가 있으므로 onSaveInstanceState 및 onRestoreInstanceState를 사용할 수 없습니다.

@Override 
public void onSaveInstanceState(Bundle savedInstanceState) 
{ 
// Always call the superclass so it can save the view hierarchy state 
    super.onSaveInstanceState(savedInstanceState); 
} 

@Override 
public void onRestoreInstanceState(Bundle savedInstanceState) 
{ 
// Always call the superclass so it can restore the view hierarchy 
    super.onRestoreInstanceState(savedInstanceState); 

} 

내가 저장 버튼을 클릭하고 키를 사용하여 인스턴스 상태를 저장하고 나중에 편집 버튼을 클릭하고 키

그러나 필요성을 전달하여 함께 같은 인스턴스를 다시 얻을 수있는 그래서 다른 방법이 필요 아래 내용을 참조하십시오.

답변

0

데이터를 지속적으로 저장하려면 SharedPreferences를 사용하십시오. 이렇게하면 데이터를 키 - 값 쌍으로 저장할 수 있습니다. 살펴보기 https://developer.android.com/training/basics/data-storage/shared-preferences.html

참고로 SharedPreferences는 제한된 데이터 유형 집합 만 처리 할 수 ​​있습니다.

+0

공유 기본 설정은 int, string을 저장할 수 있습니다. 공유 환경 설정에서 전체 활동 상태를 저장할 수 있습니까? –

+0

상태도 데이터 묶음 일뿐입니다. 맞습니까? 따라서 더 복잡한 데이터를 저장해야하는 경우에도 Gson (https://github.com/google/gson)을 사용하여 개체를 JSON 표현으로 변환하여 저장할 수 있습니다. – Headcracker

+0

컨텍스트를 변환하려고 할 때이 오류가 발생합니다. E/MessageQueue-JNI : java.lang.SecurityException : 메서드 생성자에 액세스 할 수 없습니다. –