2012-03-11 3 views
0

마켓에서 업데이트 한 후 내 앱이 기기 저장소에 저장된 파일을 잃어 버렸습니다. 나는 here과 같이 openFileOutput()을 사용하여 중요한 파일을 저장할 디렉토리를 가져옵니다. 나는이 파일들이 업데이트 사이에 유지 될 것이라고 기대하지만 적어도 Froyo는 그렇지 않을 것 같습니다. 이 동작이 정확하다면 업데이트 후에 파일이 삭제되지 않도록 어떻게 저장해야합니까?Android 앱의 업데이트 간 파일 유지

답변

2

Market에서 업데이트 한 후 내 기기가 기기 저장소에 저장된 파일을 잃어 버렸습니다.

모든 파일은 업그레이드시 유지됩니다. 사용자가

  • 사용자가 당신이 android:sharedUserId을 변경하면, 파일이 삭제되지 않습니다,
  • 또한 설정에서 데이터 지우기 옵션을 사용하는 응용 프로그램을 제거

    • 하지만 : 파일 경우 삭제됩니다 이전 사용자 ID가 소유하게됩니다. 즉, 사용자가 앱을 제거하고 재설치 할 때까지 앱이 영구적으로 엉망이됩니다.

      나는 이러한 파일 업데이트

      그들이

      사이에서 유지 될 것으로 기대.

    +0

    음,이 문제를 자세히 조사해야합니다. 내 응용 프로그램은 파일을 시작할 때마다 올바르게로드하지만 업데이트하면이 데이터가 손실 된 것으로 보입니다. 나는 당신의 대답을 받아 들일 것입니다. – hgm

    +0

    나는 방금 일어난 일을 알아 챘다. 문제는 Proguard에서 Serializable 클래스를 무시하는 것을 잊었 기 때문에로드가 실패하여 Proguard가 이름을 변경했습니다. 자세한 내용은 찾을 수 있습니다 [여기] (http://stackoverflow.com/questions/6014806/android-classnotfoundexception-when-passing-serializable-object-to-activity) – hgm

    +0

    @hgm : 예,'Serializable' 될 것입니다 그런 문제에 쉽게 걸린다. 개인적으로, 나는 어떤 것도 지속하지만'Serializable'. Mark I Eyeball이 쉽게 디버깅 할 수없는 깨지기 쉬운 형식으로 왜 계속됩니까? 차라리 SQLite, JSON 또는 XML에 저장하고 싶습니다. – CommonsWare