2011-04-30 17 views
5

Para mi aplicación, crearé una variedad de clases abstractas que extienden las clases android.app.Activity y android.app.Service.Actividad abstracta de Android en manifiesto

  • Cuando subclasifico mis clases abstractas, ¿cómo las agrego al manifiesto de Android?
  • ¿Debo agregar tanto la clase abstracta como mi subclase al manifiesto o solo a la subclase?
  • ¿Tienen que estar en el mismo paquete?

Respuesta

9

Agregue las subclases finales al manifiesto como actividades/servicios regulares; las clases abstractas no necesitan estar allí, ya que el manifiesto es solo una búsqueda para que el sistema sepa qué clase lanzar en respuesta a un Intento

Si por 'paquete' se refiere al paquete Java (ej. com.mycompany. lo que sea), entonces no, solo agregue la importación relevante (o use el nombre completo) al crear la subclase.

Si con 'paquete' te refieres a APK, entonces sí, la base abstracta debe estar ahí con el código normal, ya que aunque es posible llamar entre APK, esto depende de las clases que puedes instanciar. Puede dividir las clases abstractas en un proyecto de biblioteca de Android, si se van a volver a utilizar: los proyectos de biblioteca de Android son esencialmente fuente compartida, en lugar de los tradicionales tarros de Java.

Avíseme si necesita más detalles sobre esto, ya que esta es una pregunta bastante amplia, y me gustaría mantener el tamaño de la respuesta manejable

2

Solo necesita incluir las clases de actividad que va a instanciar con una intención. Si su clase abstracta solo existe para subclase de otras Actividades, no debería necesitar incluirla en el Manifiesto.

1

Agregará las subclases al manifiesto al igual que cualquier otra actividad/servicio/BroadcastReciever. No tiene que agregar las clases abstractas al más completo. Las subclases no tienen que estar en el mismo paquete que sus padres si importa el paquete del padre.

Cuestiones relacionadas