Utilizar actividad o fragmento en la aplicación de Android

Soy nuevo en android. A menudo uso Actividad para cambiar de una pantalla a otra pantalla con otra función. Ejemplo de página principal a página popular. Después de eso, sé de fragmento, pero nunca lo uso antes. Por lo tanto, si tengo una aplicación con varias pestañas en una pantalla, no uso TabHost aquí. Función de cada ficha muy diferente, ex: ficha Inicio, ficha Popular, ficha Noticias, ficha Perfil … como Instagram App. Debo usar eso

  1. Actividad para cambiar Pantalla a otra Pantalla, significa: Tengo Actividad en Casa, Actividad Popular, … y cambio Actividad cuando cambio Sreen. Cada actividad tiene cada diseño.
  2. Usar fragmento dentro de una actividad. Tenemos fragmento multi, ejemplo HomeFragment, Fragmento Popular … chang replace Fragment when change Screen.

¿Qué camino es mejor? Quiero preguntar cuando se utiliza sólo la pantalla del teléfono. (Pantalla de tamaño pequeño, no para la tableta).

Es importante pensar en los dispositivos Android como más de un espectro, que claro "teléfono" vs "tableta" cubos. Hay muchos casos en los que es posible que desee mostrar más información en pantalla en pantallas medium y large . A veces, esto se traduce en mostrar dos "Actividades" a la vez.

El uso de Fragmentos requiere poca sobrecarga, pero añade flexibilidad medible, especialmente cuando se considera al principio del proceso de desarrollo. Si utiliza Fragmentos correctamente, adaptarse a pantallas más grandes es extremadamente simple. Sin embargo, hay algunas "gotchas" que pueden hacer Fragmentos parecen ser más desalentadores que en realidad son:

  • Fragment clases de Fragment deben declararse siempre public (si es una clase anidada, debe ser static ).

  • En la Activity principal (o FragmentActivity ), sólo agregue el Fragment raíz si savedInstanceState == null . Si está administrando el estado de su Fragment correctamente, todo se maneja para usted (posición de desplazamiento, valores de EditText, etc).

  • La Activity primaria debe llamar a onSavedInstanceState para que el Fragment restablezca correctamente su estado.

  • setRetainInstance(true) sólo debe utilizarse para "sin cabeza" Fragmentos. Esto es cuando se utiliza un fragmento que no tiene interfaz de usuario y no se agrega a la pila posterior, que normalmente se utiliza para realizar trabajo dependiente del ciclo de vida.

  • Los fragmentos declarados en XML no se pueden utilizar en una FragmentTransaction (y viceversa).

Piense en un Fragment como una vista modular, que proporciona ganchos (callbacks) a su Activity cuando sucede algo importante. La Activity decide, basándose en el espacio disponible, si lanzará una nueva Activity , o mostrará un nuevo Fragment .

Se puede utilizar de cualquier manera. Si decide utilizar la solución de actividad, cree una clase de actividad base que contenga toda la funcionalidad de la pestaña. Usted no quiere implementar eso en cada actividad una y otra vez.

 public class BaseActivity extends Activity { @Override public void onCreate(...) { // Init tabs } // Methods for tab handling } 

Cada actividad (Popular, Perfil, Inicio, …) extiende BaseActivity

 public class PopularActivity extends BaseActivity { @Override public void onCreate(...) { super.onCreate(...); // Init only the popular activity elements here } } 

De esta manera se implementa la pestaña funcionalidad sólo una vez y obtener en cada actividad.

  • Acceso al método desde un fragmento en el botón Haga clic en MainActivity
  • Extendiendo fragmentos con listactivity
  • No quitar el relleno alrededor del texto del botón
  • Fragmentar o no fragmentos - Fragmentos anidados contra actividades. ¿Por qué debo usar más de una actividad?
  • ¿Cómo agregar un fragmento en mi actividad dinámicamente?
  • ¿Cómo crearías una vista de popover en Android, como Facebook Comments?
  • El reemplazo de fragmentos activa onQueryTextChange en la vista de búsqueda
  • ¿Cómo es que la información de posición no se está pasando a mis fragmentos?
  • El ayudante emergente del menú no se puede utilizar sin ancla
  • Buena solución para retener los elementos listview cuando el usuario rote el teléfono y mantenga todos los datos en ArrayAdapter
  • GetWidth devuelve 0 en Fragment, getPaddingLeft devuelve no-cero
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.