0

ArrayList에서 주문을 표시하는 사용자 지정 ArrayAdapter가 포함 된 ListView가 있습니다. 이러한 명령은 내 서버와 동기화되어야합니다. 거기에 API를 가지고 있는데, 새로운 주문을 요청하고 있습니다. API가 있으면 주문 XML을 돌려받습니다. 동적으로 listView를 업데이트하는 가장 좋은 방법은 무엇입니까? SQLite를 사용하여 주문을 저장하고 싶지 않습니다. 왜냐하면 마지막 10 개만 표시되기 때문입니다. ContentProvider를 사용하면 사용자 정의 Order 객체를 저장할 수 없습니다. 그리고 ArrayList를 단일 클래스로 랩핑하고 서비스에서뿐만 아니라 ArrayAdapter에 대한 Activity 클래스에서 사용할 경우 ListView는 동적으로 업데이트되지 않습니다 (아마 arrayAdapter가 arraylist의 복사본을 만들기 때문에?). 고맙습니다.서비스와 활동간에 데이터 공유

필립

답변

1

Bundle 난 당신이 ArrayAdapter와이 업데이트되지 관한 의미를 더 확실 해요,하지만 난 당신에게 우리가 우리 회사에서 사용하는 솔루션을 제공 할 수 있습니다.

나는 Activities와 Networking 또는 SQLite 사이의 다리 인 DataMaanger를 가지고있다. dataMaanger는 데이터를 메모리에 저장하여 DB 나 디스크에 저장하지 않습니다. 그것의 단점은 당신의 앱이 메모리가 부족하여 죽고 스스로 재구성된다면 dataManager는 비어있을 것이고, 이는 두 가지 옵션을 갖게 될 것입니다. 모든 Activitie의 죽음이나 주 작업의 활동으로 인해 DataManager의 데이터가 직렬화되거나, 당신은 이전 데이터에 의존하지 않고 그냥 다시 확인하고 데이터 관리자를 업데이트하십시오. 방송을 사용하여 내 활동을 알립니다.

DataManager에 액세스하려면 나는 sigletone을 사용하지 않습니다. Application 개체를 사용하면 확장 할 수 있고 Manifest.xml에서 태그에 이름을 지정하면 regualr Application 개체 대신이 개체가 사용됩니다.

나중에 Activity 클래스에서 getApplication() 메서드를 사용하여 액세스 할 수 있습니다.

관련 문제