¿Por qué android.app.Activity no es abstracto por diseño?

¿Por qué android.app.Activity no es abstracto por diseño si la documentación / tutoriales dicen que al menos su método onCreate() debe implementarse.

Desde http://developer.android.com/guide/components/activities.html

Debe implementar este método. El sistema lo llama cuando crea su actividad.

Incluso si no se menciona explícitamente, sin la aplicación no tiene sentido tener el objeto android.app.Activity , o? Entiendo que parrent necesita probablemente ejecutar el código en la propia implementación de onCreate() pero seguramente puede haber diseño cuando parte de parent onCreate() llamaría aa un método de devolución de llamada abstracto que necesita ser implementado por el desarrollador.

Ejemplo de este diseño:

 public abstract class Activity { public abstract void implementThis(Object o); public void onCreate(Object o){ //Do stuff implementThis(o); //Do other stuff or end. } } 

¿Me estoy perdiendo de algo? ¿Por qué no hay Activity abstracta si el desarrollador debe y necesita subclasificarla y proporcionar implementación personalizada?

Lea aquí: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/1.5_r4/android/app/Activity.java#Activity.onCreate%28android.os. Bundle% 29

"La implementación predeterminada de este método realiza una restauración de cualquier estado de vista que previamente había sido congelado por onSaveInstanceState (android.os.Bundle)".

¿Por qué android.app.Activity no es abstracto por diseño si la documentación / tutoriales dicen que al menos su método onCreate () DEBE implementarse.

Me parece que la documentación protesta demasiado. No es necesario implementar onCreate() . Puedes decir esto creando una actividad sin onCreate() y ejecutándola.

Sin la aplicación no tiene sentido tener el objeto android.app.Activity, o?

Le invitamos a configurar cuidadosamente su interfaz de usuario en otro lugar (por ejemplo, onResume() ). Normalmente, lo hace en onCreate() .

Entiendo que parrent necesita probablemente ejecutar el código en la propia implementación de onCreate (), pero seguramente puede haber diseño cuando parte de parent onCreate () llamaría aa un método de devolución de llamada abstracto que necesita ser implementado por el desarrollador.

Por supuesto. Ellos decidieron no hacerlo de esa manera.

Hacer su actividad establecida en onCreate se recomienda, pero no es necesario. Digamos que no me importa mi ciclo de vida de actividad, podría configurar todo en onResume y derribarlo en onPause . Proporcionar un método abstracto llamado de onCreate es más restrictivo que cualquier otra cosa.

Nota: No estoy sugiriendo que alguien haga esto – sólo que podría si realmente quería.

  • Cómo extender la clase android con delphi xe5
  • Cómo crear una nueva hoja de cálculo mediante programación en Android / Java?
  • Casting node to element dando ClassCastException
  • Programación en la tableta Android
  • Android: eliminar el divisor de algunos listitems en listview
  • Android AlertDialog setOnDismissListener para API inferior a 17
  • Excepción de memoria, cuando se trata de mapas de bits
  • La aplicación para Android no se bloquea, pero no responde con excepciones no detectadas
  • Alternativas compactas a Java ArrayList <String>
  • ¿Cómo implementar la autenticación codificada de inicio de sesión de Android?
  • Rxjava Android cómo utilizar el operador Zip
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.