데이터베이스에 5000 개의 이름이 있습니다. 이 모든 이름을 ListView에 넣기를 원합니다. 다음과 같은 요소를 (드로어 블 Drawable에 로컬로 저장됩니다)지연로드를 사용하는 경우와 사용하지 않을 때.
- 아이콘 이미지 킬로미터에
- 이름
- 거리를 가지고 어떤 내가 검색 필터링, 이런 식으로 뭔가를 사용하여이 목록보기를 필터링하고
:
adapter.getFilter().filter(someText);
예를 들어 목록보기를 정렬하고 있습니다. sort listView names alphabetically (A-Z 및 Z-A). 정렬은 다음과 같이 목록보기 어댑터에 수행됩니다
adapter.sort(new Comparator<String>() {
@Override
public int compare(String lhs, String rhs) {
return lhs.getPlaceName().compareTo(rhs.getPlaceName());
};
});
지금 나는 (내가 5000 개 이름을 가지고 있기 때문에) 어댑터의 성능을 고려하여 목록보기에 이름 게으른 로딩을 사용할지 여부를 꽤 혼란 스러워요. 제발 제안 해주세요.
어쨌든 데이터베이스이므로 커서? 내가 아는 한, 이것은 게으른로드 자체로 않습니다. – NickL
이러한 경우에는 페이징을 사용하는 것이 좋습니다 (예 : Play 스토어 앱). 게으른 - 처음으로 100 개 정도를로드하고, 다음에 100_ 또는 100_ 이전에 __load를 제공합니다 (사용자가 상단 또는 끝으로 스크롤 할 때). 쿼리 필터링을 연기하십시오. –
@NickL 데이터베이스 액세스를 자동화하는 David M Chandler가 Android에서 SQLite 용 오픈 소스 ORM을 사용하고 있습니다. 액세스 권한이있는 것은 데이터 액세스 object.ie뿐입니다 (삽입, 삭제, 업데이트 만 할 수 있음) 그 위에). 내가 커서를 사용할 수 있는지 확실하지 않습니다.? –