2012-12-15 7 views
0

내 서비스를 시작하거나 중지 할 수있는 것보다 많은 활동이 있습니다. 서비스에서 모든 x 분이 내 BroadcastReceiver를 시작하는 alarmManager가 있습니다. 모든 BroadcastReceiver의 ArrayList에 데이터를 보관하고 다음 BroadcastReceiver에서 다른 시간에 추가 (제거)해야합니다. 내 서비스에서 정적 ArrayList를 만들려고했으나 중지 (다시 시작)하면 데이터가 손실됩니다. 그리고 내가 다시 주요 활동을 시작할 때 - 나는 생애주기 때문에 데이터를 잃는다 ...Android listarray 전역 변수

그래서 나는 BroadcastReceiver에서 접근 가능한 글로벌 arraylist를 필요로한다. 그리고이 어레이는 onBoot 이벤트에서 전화 죽을 때까지 항상 사용할 수 있어야합니다.)

아이디어가 있으십니까?

답변

0

데이터에 대한 데이터베이스를 사용할 수 있습니다. 데이터를 처음 읽을 때 읽은 다음 정지 할 때 쓸 수 있습니다. Andorid 튜토리얼은 데이터베이스를 처리하는 방법을 설명합니다.

0

예를 들어 새로운 클래스에서 서비스 외부에서 정적 배열을 만들어야합니다.

+0

서비스 클래스의 정적 변수는 다른 클래스와 완전히 동일합니다. 데이터가 손실되었다고 말하면 새로운 VM이 시작되었음을 의미합니다. – auval

0

중지 할 때 VM을 종료하지 않으려면 finish() 활동 만 확인하십시오.
지속성이 필요한 경우 공유 환경 설정 (가장 쉬운 방법) 또는 데이터베이스로 이동하십시오.