Android – Actividades vs Vistas

Estoy trabajando en una aplicación de Android que tiene varias pantallas que el usuario tendrá que navegar entre y estoy curioso de lo que son las mejores prácticas al cambiar entre esas pantallas. Estoy dividido entre crear una nueva actividad para cada pantalla y simplemente cambiar la vista (setContentView (R.layout.whatever)). Las pantallas comparten al menos algunos valores variables, así que estoy inclinado a cambiar las vistas y utilizar las variables de nivel de clase, pero me preocupa que una sola actividad se vuelva muy grande y confunda con la lógica para múltiples pantallas en un solo archivo. Me gustaría mantener el código limpio y separado, pero tampoco quiero pasar varias variables entre las vistas si no es necesario.

Al ser nuevo en el desarrollo de Android, espero que algunos miembros más experimentados de la comunidad puedan compartir sus pensamientos y decirme la mejor manera de manejarlo.

¡Gracias!

Nota: No estaba pensando en usar un viewflipper. Mi pensamiento era utilizar un evento de clic de botón y luego llamar a setContentView () a una nueva vista de la página que quería traer a continuación.

Ejemplo: mi aplicación se inicia con R.layout.main como su vista. El usuario hace clic en el botón Ayuda y llama a un método que ejecuta setContentView (R.layout.help); Para mostrar la pantalla de ayuda en lugar de cambiar a una actividad de ayuda.

2 Solutions collect form web for “Android – Actividades vs Vistas”

Usted debe utilizar una actividad por pantalla, ya que esto hará el mejor uso de la estructura y permitir que el sistema operativo para eliminar selectivamente las pantallas si las cosas se apretan.

Si usted tiene una sola actividad y los recursos se apretan el OS tiene dos opciones; Matar todo o no matar nada, y si el usuario no está usando su aplicación, es más probable que va a matar a todo.

Si utiliza una Actividad por pantalla, el sistema operativo puede anular algunas de las pantallas que el usuario no ha visitado durante un tiempo, al tiempo que permite que otros permanezcan activos, lo que permite al usuario volver a ellos rápidamente.

En cuanto a compartir variables y valores, puede usar la base de datos SQLite o las tiendas SharedPreferences para distribuirlas si están ampliamente compartidas o utilizar los métodos putExtra en Intent si sólo son útiles de una pantalla a la siguiente.

Si tiene variables que va a reutilizar, haga una clase base para ellas, que extenderá.

Esta puede ser una actividad personalizada que extiende Activity .

Por lo que puedo decir tienes que crear actividades separadas para cada vistas, sólo una situación pocos pueden ser manejados por viewflippers.

  • ¿Es una buena idea que un Fragmento delegue todo el control de navegación en Actividad?
  • ¿Por qué la aplicación Android se ejecuta en una ventana pequeña en el emulador de tableta?
  • Hacer que una vista secundaria coincida con el ancho de una vista de desplazamiento principal
  • El diseño de la pantalla se mueve hacia arriba cuando se muestra el teclado
  • ¿Por qué mi WebView no llena el ancho completo de mi pantalla?
  • Quiero google play store como scrollview
  • Una herramienta de desarrollo para diseñar una base de datos SQLite para Android
  • Android: ¿se puede ajustar la altura de SlidingDrawer con wrap_content?
  • Cierre de la aplicación con el botón Salir
  • Android Equivalente a un UserControl .NET
  • Android Diseño sensible
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.