2012-03-19 3 views
4

나는 AppWidget과 함께 응용 프로그램을 가지고 있습니다. 데이터베이스 내에 appWidgetId을 포함하여 모든 위젯에 대한 정보를 저장하고 있습니다. 모든 위젯을 올바르게 업데이트하려면이 정보가 필요합니다. 문제는 장치가 재부팅 된 후에이 값을 변경 한 것 같아서이 주소를 더 이상 처리 할 수 ​​없다는 것입니다. 이 문제를 어떻게 극복 할 수 있습니까? 미리 감사드립니다.AppWidget ID의 수명

+0

왜 ID를 유지해야합니까? 너는 그들을 위해 무엇을 사용하고 있는가? 관련 코드를 붙여 넣으십시오. –

+0

@Dheeraj, appWidgetId는이 단일 위젯에 적합한 인터넷에서 정보를 가져 오는 데 필요한 정보를 저장하는 데이터베이스 테이블 행의 키입니다. 어떤 종류의 코드를 볼 필요가 있습니까? 이게이 문제를 해결하는 데 도움이됩니까? – Egor

+0

@Dheeraj, 내 응용 프로그램은 다른 국가 쌍의 환율을 표시합니다. 각 위젯에는 국가 정보가 바인딩되어 있으며 모든 위젯을 업데이트하려면이 정보가 필요한 자동 업데이트 시스템이 있습니다. 문제를 해결할 방법이 있습니까? – Egor

답변

4

버그로 인해 재부팅 할 때 appwidget ID가 변경되는 것은 특정 장치에서만 발생하는 것처럼 보입니다. this thread을 참조하십시오.

Android 소스를 살펴 보았습니다. appwidget ID는 실제로 /data/system/appwidgets.xml에있는 파일에 보관됩니다. 장치에 위의 스레드에서 언급 한 버그가있을 수 있습니다.

적절한 해결 방법을 생각할 수 없습니다.

-1

새로운 appWidgetId는 R.java에서 ID를 저장하는 대신 애플리케이션을 실행할 때마다 데이터베이스에 android : id = "@ + id/btn_add"의 ID를 저장할 수 있습니다.

+1

나는 이드의 버튼에 대해 말하는 것이 아니라 AppWidget ID에 대해 이야기하고있다. – Egor

1

나는 Dheeraj가 옳다고 생각합니다. 나는 또한 Android Widgets의 개발자이며 같은 작업을 수행합니다. WidgetId를 기억하여 각 위젯의 설정을 저장합니다. 이것은 내가 아는 모든 장치에서 완벽하게 작동합니다. 내가 알고있는 모든 장치에서 재부팅 후 ID가 변경되지 않습니다. 당신의 관찰에 확신합니까?

+0

무작위로 1 ~ 2 번 발생하여 재부팅시 appWidgetIds가 삭제되는 것으로 생각됩니다. 오늘 저는 데이터베이스 문제를 수정했습니다. 그리고 아마 그들은 진짜 문제였습니다. – Egor

+0

@ Egor 그래서 문제가 있다고 생각했던 장치는 실제로 괜찮 았고, ID는 유지 되었습니까? –