support library last android android-support-library android-compatibility

library - Paquete de soporte de Android/Biblioteca de compatibilidad: ¿usa v4 o v13?



com.android.support:support-v4 28 (6)

Acabo de leer esta descripción del paquete de soporte de Android / Biblioteca de compatibilidad ...

http://developer.android.com/sdk/compatibility-library.html

... ¡y me dejó un poco confundido! Dice que la biblioteca v13 es un superconjunto de v4 pero pensé que era al revés?

Práctico: si deseo usar la biblioteca de compatibilidad de modo que mi aplicación se desarrolle y funcione bien para teléfonos con Android 2.2 (API 8) hasta 4.0 (API 14) y más allá, ¿será suficiente v4 para mí?


¡La respuesta es correcta, pero también es un poco confusa! Actualmente hay 3 jarras de soporte: V4, V7 y V13. Desafortunadamente V7 es específicamente para gridlayout solamente y por lo tanto NO es un superconjunto.

Estamos interesados ​​en solo un contenedor de la biblioteca de soporte [a menos que también deseemos gridlayout (¡no sé qué es!)]. Por lo tanto, estamos mirando nuestro android: minSdkVersion = "8" y comprobándolo contra los frascos. Entonces queremos V4.

V13 es solo un superconjunto en el sentido de que duplica los métodos V4, NO el código. Es decir, el uso de V13 sería incorrecto en este ejemplo.


No creo que debamos usar el superconjunto (o subconjunto) para describir estas tres bibliotecas (v4, v7, v13) aunque el significado más simple parece versiones compatibles con versiones anteriores 4, 7 y 13.

Google agregó Fragment en v4 primero, luego lo actualizó cuando se publicó cada nueva versión. Eso significa que a menos que su aplicación solo admita la versión más nueva (que no es recomendable), necesitamos soporte-v4 casi en cualquier momento. Supongamos que su minsdk es 14 y tiene fragmento ya, pero el ''fragmento incrustado'' solo es compatible después de 17, por lo que todavía necesitamos v4 y usamos el fragmento v4 en esa situación.

Este año (2013) google publicó v7 y agregó appcompat-library en él. Eso significa que además de la tercera barra de herramientas de soporte (ActionbarSherlock) antes de las 11, ¿el soporte oficial puede ser mejor? Entonces creo que tendremos todas las actualizaciones de funciones de la barra de acciones cuando se publique cada nueva versión en el futuro en v7.

Todavía necesitamos minsdk = XX (entre 7 y 10) today (24 de noviembre, 2013). Deberíamos agregar support-v4 para fragment y support-v7 para actionBar, ambos como mejores prácticas.


Para apuntar a API 8 (v2.2) debe usar la versión v4.

Grandes secciones del v13 funcionarán, pero si usa alguna de las funciones que dependen de las 13 API de la plataforma, su aplicación explotará en dispositivos más antiguos.

A menos que haya una razón particularmente convincente para necesitar v13, sugiero ir directamente a v4.


Revisé el código fuente de v13, agrega solo 4 más clases.

  • FragmentoCompat
  • FragmentPagerAdapter
  • FragmentStatePagerAdapter
  • FragmentTabHost

FragmentCompat agrega 2 métodos de utilidad estáticos que ya están incluidos en el Fragmento v4.

FragmentPagerAdapter, FragmentStatePagerAdapter y FragmentTabHost, todas estas 3 clases tienen las mismas clases de nombre correspondientes en v4, y tienen el mismo comportamiento.

Las API adicionales proporcionadas en v13 no son necesarias.

Entonces al agregar v4, puede soportar más plataformas que v13, con el mismo comportamiento con v13, entonces ¿por qué no usar v4?

Entonces no pude ver ninguna necesidad de v13. ¿Estoy en lo cierto?


Un poco tarde, por favor, eche un vistazo a la imagen a continuación. En el archivo JAR android-support-v13.jar, hay 3 paquetes:

  • anotación
  • v4
  • v13

Lo que significa que solo necesitamos agregar este un jar, y tendríamos soporte para v4 y v13. Como v7 NO está en la compilación, tendríamos que agregar ese JAR por nuestra cuenta.


v13 solo tiene funciones sobre Fragment. sobre todo si su minVersion está por encima de 13 y no utiliza funciones como: FragmentPagerAdapter, FragmentStatePagerAdapter, FragmentTabHost y fragmentos anidados; no necesitas soporte v13.

entonces "v4 es un subconjunto de v13" ¡es incorrecto!