다음 구현을위한 조언이 필요합니다.가장 좋은 방법 영속성 개체 다른 활동에서 3 조각으로 활동
서로 다른 섹션이있는 앱이 있습니다. 각각은 목표를 가지고 있으며, 다소 차별화되어 있습니다.
그들 중 하나는 채팅입니다. 이 채팅은 Whatsapp와 같은 3 개의 단편이 있지만 훨씬 간단해진 활동입니다. 내가 활동을 시작하면
, 내가 XMPP 서버에 연결하는 서비스, 사용자가
내가 사용자와 채팅을 시작하면 .... 등, 초대장, 메시지 도착을 시작, 새로운 활동을 시작 . (중요합니다)
XMPP 서비스에서 수신 할 때 조각과 업데이트 정보를 sendbroadcast를 통해 보냅니다. 지금까지도 그렇게 좋았습니다. 활동과 세 부분으로 나는 그것들을 기억하고 있으며, 나는 그들의 각각의 목표를 업데이트 할 수 있습니다.
내 문제는 다음입니다. 사용자와 채팅을 시작하면 새 활동을 열어 나를 필요로하는 개체에 액세스 할 수 없습니다. (예를 들어 사용자 목록, 내 서비스가 우정 요청을받은 경우 객체가 없기 때문에 추가 할 수 없습니다.)
어떻게해야합니까? 분명히 내가 parceables을 할 필요가, 시작하는 객체에 대한 의도를 통해
1 패스 :
은 지금까지 나는 3 가지 옵션을 알고. 채팅 활동을 닫으면 업데이트 된 개체를 반환합니다.
2
는3 나중에 (내가 기억 상실과 함께, 많은 문제를 읽을 때), 나는 메시지 기록을 저장하는 SQLite는 만들어야 나에게 단일 개체를 만듭니다. 이 데이터베이스를 사용하여이 오브젝트를 임시로 보관할 수 있습니까?
더 나은 선택이 있습니까? 다른 추천?
답장을 보내 주셔서 감사합니다. 진실은 내가 좀 더 조용하게 머물러 있습니다. 왜냐하면 활동들 사이에 끈질긴 사물을 모르는 마법 같은 것이 있다고 생각했기 때문입니다. 아직 싱글 톤이 맘에 들지 않지만 빠른 배포를위한 테스트를 한 다음 SQLite로 전달할 것입니다. 정보, CursorLoader에 대해 감사합니다. 그를 몰랐어. 내가 오해하지 않았다면 조금 읽었습니다. CursorLoader를 사용하면 백그라운드에서 현재 활동의 다른 활동에있는 목록을 업데이트 할 수 있습니까? 그렇지? – daicon
CursorLoader를 ContentProvider와 연결하면 여러 액티비티 (또는 앱의 다른 부분)간에 데이터를 업데이트 할 수 있습니다. 나는이 대답이 당신을 도울 수 있다고 생각합니다. - http://stackoverflow.com/questions/15517920/how-do-cursorloader-automatically-updates-the-view-even-if-the-app-is-inactive –
감사합니다. 흠뻑. :) 나는 의심의 여지가 더있다 : 나는 ContentProvider가 외부 어플리케이션과 정보를 공유하기 위해서만 사용된다는 것을 이해했다. 이것은 무엇입니까? 그것은 결코 하나를 사용하지 않았지만 그것이 내가 이해하는 것입니다. – daicon