2012-07-10 9 views
17

Tengo varias preguntas generales sobre las clases ApplicationInfo y PackageInfo. Aquí están:¿Diferencia entre ApplicationInfo y PackageInfo?

  1. ¿Alguien puede describir la diferencia entre ApplicationInfo y PackageInfo?
  2. ¿Cómo se relacionan entre sí?
  3. ¿En qué casos se utiliza ApplicationInfo y cuándo se utiliza PackageInfo?

Gracias por la ayuda!

EDIT:

En primer lugar, antes de publicar una pregunta tan He leído la documentación oficial y en Google. Aquí hay algunas preguntas adicionales que no están claras para mí. Lo siento, tal vez no les pregunté apropiadamente:

  1. PackageInfo puede tener un objeto ApplicationInfo con valor NULL. Cuando es es posible? (Supongo que esto está conectado con los paquetes desinstalados)
  2. ApplicationInfo contiene el uid de la aplicación. ¿Es posible que PackageInfo no tenga uid (cuando ApplicationInfo es nulo?).

Así que este tipo de preguntas. No entiendo estas conexiones.

Respuesta

3

PackageInfo contiene ApplicationInfo (PackageInfo.applicationInfo).

La información del paquete es toda su información de su archivo de manifiesto, ApplicaitonInfo es la información de la etiqueta <application> en su manifiesto.

¿Cuándo se utilizan? depende de qué información está buscando o qué métodos de API está utilizando.

+0

Ver mi actualización en la pregunta. – Yury

28
  1. Puede alguien describir la diferencia entre ApplicationInfo y packageinfo?

    PackageInfo representa el AndroidManifest.xml.ApplicationInfo completo es en realidad un campo/atributo de PackageInfo, que hace referencia solo a la etiqueta de la aplicación. Consulte this.

  2. ¿Cómo se relacionan entre sí?

    Como mencioné, ApplicationInfo es en realidad un atributo/campo de PackageInfo que a su vez es un objeto complejo y tiene sus propios métodos/campos.

  3. ¿En qué casos se utiliza ApplicationInfo y cuándo se utiliza PackageInfo?

    Para acceder a la información dentro de la etiqueta de la aplicación que podría estar relacionada con servicios o actividades o receptores de difusión, utilizamos ApplicationInfo.Data relacionado con el resto de AndroidManifest.xml se puede obtener a través de los otros campos/métodos en la clase PackageInfo

+0

Ver mi actualización en la pregunta! – Yury

+0

Muy buena respuesta, por favor. ¿Por qué esto no es respuesta seleccionada? –