¿Cómo usar RecyclerView de acuerdo con la pantalla del dispositivo?

Tengo un extremo del API del backend que devuelve JSON en algunos sistemas. Cada conjunto contiene 10 lines of Json .

Por ejemplo: curl http://www.something.com?getData=0 dará los first 10 elements y curl http://www.something.com?getData=1 volverá al siguiente conjunto y así sucesivamente.

Estoy utilizando RecyclerView y StaggeredGridView para cargar datos de endpoints dados. En este momento sólo busco el primer set y funciona perfectamente.

¿Qué estoy buscando?

¿Cómo puedo cargar datos en RecyclerView según los tamaños de pantalla en Android . Por ejemplo:

Digamos que el dispositivo hdpi puede cargar 25 staggeredGridView en RecyclerView . Entonces, aquí los endpoints solicitan en secuencia:

 http://www.something.com?getData=0 // will fetch 0-10 http://www.something.com?getData=10 // will fetch 11-20 http://www.something.com?getData=10&skip=5 // will fetch 21-25 

¿Cómo puedo hacer que el proceso anterior sea dinámico. ¿Para que funcione para todos los tamaños de pantalla?

BTW esto es cómo estoy cargando los datos en el adaptador StaggeredGridView :

  mRecyclerView = (RecyclerView) mActivity.findViewById(R.id.staggering_grid); mRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL)); mAdapter = new StaggeredGridAdapter(mContext); mAdapter.addItems(response); mRecyclerView.setAdapter(mAdapter); 

Solución posible

  • Si tengo que saber que Cuánto Grid necesito llenar de acuerdo al dispositivo entonces puedo simplemente hacer una solicitud hasta que consiga los datos para llenar el número esperado.
  • También puedo usar el Event Bus para enviar notificaciones a Retrofit para hacer otra llamada hasta que la pantalla del dispositivo esté llena.

¿Es un buen enfoque? En caso afirmativo, ¿cómo puedo lograrlo?

Lo que puede hacer es cargar datos en exceso decir 50 a la vez en lugar de 10, de esa manera usted tiene suficientes datos para llenar toda la pantalla, si su api sólo le permite obtener 10 elementos por solicitud, a continuación, disparar múltiples solicitudes de diferentes hilos Y agregarlos al adaptador y actualizar la vista una vez que todas las solicitudes se hayan realizado correctamente. Así que de esta manera usted no será necesario para solicitar todos los elementos y tienen suficientes elementos para mostrar en cualquier configuración de la pantalla del dispositivo

  • ¿Cómo determinar la categoría de tamaño de pantalla del dispositivo (pequeño, normal, grande, xlarge) usando código?
  • Pantallas de soporte en el archivo de manifiesto
  • Diseño de pantalla múltiple de Android
  • cómo redimensionar automáticamente, compatible, ajustar el tamaño de pantalla para todos los dispositivos android
  • Android "Pantallas de soporte" no funciona?
  • Diferencia entre diseño y diseño-400dp-land
  • Android Diseño principios de diseño
  • Cómo definir dimens.xml para cada tamaño de pantalla diferente en android?
  • Imagen borrosa en otro dispositivo
  • Disposición de Android con vista a la derecha que ocupa un espacio preestablecido y visualiza en las escalas de la izquierda para llenar el resto de la pantalla hasta cierto límite
  • Carpetas de tamaño de diseño de estudio de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.