Android: es mejor hacer muchas actividades, o una actividad que cambia sobre la marcha?

Si necesito hacer 10 actividades similares, ¿es mejor que lo haga?

  • 10 actividades y 10 diseño?
  • 1 actividad y 10 diseño?
  • 1 y cambiar la interfaz de usuario con la visibilidad ido / visible?

Necesito una respuesta para:

  1. actuación
  2. formalidad

Si utiliza múltiples actividades, obtendrá la ventaja de utilizar el mecanismo de pila de actividad de Android. Así que si quieres que tus usuarios puedan navegar con el botón Atrás, entonces es la mejor opción.

Además, si sus actividades son muy similares, puede implementar código común en una clase abstracta y hacer que sus 10 actividades amplíen esta clase común, compartiendo así algún código.

public abstract class CommonBehaviorActivity extends Activity { protected void buildCommonThings() { ((TextView)findViewById(R.id.title)).setText(getTitle()); ((ImageView)findViewById(R.id.image)).setDrawable(...); } abstract protected String getTitle(); } public class MyActivity1 extends CommonBehaviorActivity { ... protected String getTitle() { return "Title 1"; } } 

y así…

Editar: Se ha agregado un código de ejemplo para mostrar cómo compartir las cosas que desea ver en cada subactividad. Por ejemplo, si tiene una lista en cada actividad, puede definir un adaptador específico en las sub-actividades en un método getAdapter() y vincular su lista a este adaptador en CommonBehaviorActivity , así como configurarlo (enlazar oyentes, y así…)


En el otro lado, si quieres tener un cambio muy rápido entre tus actividades, y no necesitas poder "retroceder" con el botón, entonces la vista visible / desaparecida es tal vez mejor.

Realizar varias actividades hará que su código sea más legible y más fácil de depurar, ya que no se ocupará de las condiciones excesivas de if y else. No habrá sobrecarga de rendimiento: las actividades se cargan rápidamente y Android gestiona el backstack y libera recuerdos eliminando las actividades en pausa cuando es necesario (lo cual no será el caso con una sola).

Si sus actividades son similares, puede poner características en clases separadas y volver a usarlas en todas las actividades. Idem para diseños, puede diseñarlos para que pueda volver a utilizar partes comunes.

También puede utilizar fragmentos si desea mostrar la interfaz de usuario dinámica. Puede cambiar el contenido del fragmento de forma dinámica o puede cambiar el fragmento en sí. Siempre puede mantener ciertos fragmentos visibles y otros inactivos. En este caso solo necesitará una actividad y múltiples fragmentos.

Dependerá de cómo desee dibujar UI de su aplicación. Ejemplos de fragmentos disponibles están aquí

  • Cómo implementar el diseño de la tarjeta en android
  • RecyclerView item layout_weight, tamaños no actualizados
  • Android: ¿Acabo de tener un disparo por propiedad mediante el uso de temas? ¿No hay nada como CSS en Android?
  • TextView empuja los controles situados a la derecha de la pantalla
  • FAB de la biblioteca de soporte de diseño no se mueve hacia arriba cuando se muestra la barra
  • Android superior Copiar / Pegar barra de herramientas
  • Formato correcto para android: gravedad en attrs.xml?
  • La mejor manera de Android para hacer que el carrete parezca girar
  • ¿Cómo mostrar 2 vistas, con un gradiente de desvanecimiento efecto en Android?
  • ¿Cómo puedo reducir la línea de referencia de widgets en Android?
  • Cómo configurar el color del borde de la casilla de verificación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.