저는 Android를 처음 접했습니다. 많은 이미지와 일부 메타 데이터가 포함 된 소셜 앱을 만들려고합니다. Facebook의 피드와 유사한 화면이 있습니다. 이 화면을 가능한 한 매끄럽고 표준으로 만들고 싶습니다.
내가 사용하는 라이브러리는 다음과 같습니다. OkHttp, Picasso, Retrofit, Gson.
지금은 백엔드에 더미 값을 시드했고 응답이 충분히 작기 때문에 모든 json을 한 번에 가져오고 있습니다. 그러나 앞으로는 json 응답을 제한하기 위해 이전 및 다음 필드가 있습니다.
지금 제가 가지고있는 몇 가지 질문 :
OkHttp와 함께 Picasso를 사용하고 있습니다. 디스크에도 이미지를 캐시합니까 아니면 메모리에만 캐시합니까?
피드 캐싱에 대한 모범 사례는 무엇입니까? 대부분의 콘텐츠가 이미지이기 때문에 Picasso가 캐싱을 처리하도록해야합니까, 아니면 일부 항목을 직접 캐시해야합니까? JakeWharton에서 DiskLruCache 라이브러리에 대해 들었지만 시도하지는 않았습니다. 함께 가야하나요?
스크롤이 매끄럽게 나타나고 뷰에 들어온 후 이미지가로드를 시작하지 않도록 일부 피드 콘텐츠 (예 : 3 또는 4)를 캐시의 두 스크롤 방향으로 유지하는 방법.
사용자가 이번 한 번에 가져온 모든 콘텐츠를 스크롤 할 때 이전 및 다음 필드를 사용하여 json 응답을 자동으로 처리하는 방법. 기본적으로 커서를 기준으로 스크롤되는 콘텐츠 수에 따라 요청을 트리거하고 싶습니다.
좋아요 버튼이 있고 사용자가이 버튼을 클릭한다고 가정 해 보겠습니다. UI 및 사이드에서 좋아요 수를 변경하여 카운터 업데이트에 POST 요청을 보내거나 요청을 보내고 업데이트하기 전에 서버에서 업데이트 된 카운터를 기다려야합니다. UI?
나는 이미 Instamaterial 의 소스 코드 를 살펴보고 놀라운 것들을 배웠습니다. 그러나 전체 백엔드 통합을 보여주지는 않습니다.
공부하거나 배울 수있는 다른 오픈 소스 앱이 있는지 알고 싶습니다. 도움이 될 튜토리얼을 알고 있다면. 앱 경험을 최대한 원활하게 만들고 몇 가지 모범 사례를 배우고 싶습니다.
이것은 메모리뿐만 아니라 디스크에 캐시됩니다. Picasso를 디버그 모드로 설정하면 이미지가로드 된 위치 (메모리 / 디스크 / 네트워크)를 설명하는 표시기가 표시됩니다.
피카소가 사물이 캐시되는 기간 등을 제어하는 것이 마음에 들지 않는다면 캐싱을 처리하도록하는 것이 좋습니다. 또한 Picasso가DiskLruCache
여기에서 이미지가 주요 관심사 인 경우 모두 캐시되며 한 번 수행 한 후에는로드 할 필요가 없습니다 (업데이트 될 때까지). 자리 표시 자 표시 또는 숨기기와 관련된 논리를 변경하기 위해 Picasso에 콜백을 등록 할 수도 있습니다.
나는 당신이 찾고있는 것이 목록보기의 스크롤 리스너라고 생각합니다 (목록보기를 사용하고 있다고 가정합니다). 특정 위치 (5/6)를 지나면 다음 10 개를로드하기 시작합니다. recyclerview를 사용하는 onScrollStateChanged
경우 스크롤 리스너 의 함수로 이를 수행 하고 LinearLayoutManager
to 호출을 사용할 수 있습니다.findLastVisibleItemPosition
어떤 접근 방식을 사용하는지는 실제로 중요하지 않습니다. 서버 카운터를 업데이트하는 데 오랜 시간이 걸릴 것이라고 생각하면 (안됨) 먼저 로컬에서 업데이트하는 것이 가장 좋습니다.
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras