Android -- Inicialización de objetos.

28 views
Skip to first unread message

Elias Ortiz Reyes

unread,
Jan 9, 2013, 5:53:14 PM1/9/13
to barcelo...@googlegroups.com
Hola a todos!

Tengo una duda que me inquieta...

El otro día buscando ejemplos varios, vi que en un ejemplo inicializaban un boton en el metodo "oncreate" mientras que en otros ejemplos lo hacen en "onStart".
Quedando algo asi como:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_registro);
but_back = (Button)findViewById(R.id.but_back);
}
protected void onStart() {
super.onStart();
but_back = (Button)findViewById(R.id.but_back);
}

Mi pregunta es: ¿En que se diferencian? ¿Es mejor una manera u otra? y que manera recomendais?

En fin.. realmente es una chorrada de pregunta, pero ...  ^^

Gracias a todos!

iñaki

unread,
Jan 9, 2013, 6:22:42 PM1/9/13
to barcelo...@googlegroups.com
Buenas:

onStart()
Called when the activity is becoming visible to the user. Followed by
onResume() if the activity comes to the foreground, or onStop() if it
becomes hidden.

onCreate()
Called when the activity is first created. This is where you should do
all of your normal static set up: create views, bind data to lists,
etc. This method also provides you with a Bundle containing the
activity's previously frozen state, if there was one. Always followed
by onStart()

Sacado de:
http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

Iñaki


2013/1/9 Elias Ortiz Reyes <darklu...@gmail.com>:
> --
> Hazte miembro en la web del GDG ( http://goo.gl/ngNRi ), y para no perderte
> nada sigue al GDG Barcelona en Google+ ( http://goo.gl/f3xo4 ), Twitter (
> twitter.com/GDGBarcelona ), y su blog ( http://gdgbarcelona.blogspot.com.es/
> )
> ---
> Has recibido este mensaje porque estás suscrito al grupo "GDG Barcelona" de
> Grupos de Google.
> Para publicar una entrada en este grupo, envía un correo electrónico a
> barcelo...@googlegroups.com.
>
>

Artur Honzawa

unread,
Jan 10, 2013, 4:19:17 AM1/10/13
to barcelo...@googlegroups.com
Normalmente lo correcto es hacerlo en el onCreate, que sólo se llamará una vez. onStart se puede llamar varias veces según la usuaria navegue las activities. Ver http://developer.android.com/reference/android/app/Activity.html

Truqui que aprendi de sergi: crear métodos findViews(), setListeners(), fetchData(), loadData() en CADA activity y llamarlos desde onCreate. (Llamar loadData desde fetchData cuando este sea asíncrono).

+1 por ponerle el mismo nombre a la variable de instancia que el id del xml
+1 por notación húngara en las vistas

Elias Ortiz Reyes

unread,
Jan 10, 2013, 4:24:38 AM1/10/13
to barcelo...@googlegroups.com
Muchas Fracias a ambos!

Duda resuelta. Esque se me hacia raro que se pudiera en ambas partes. y no me quedaba claro el donde era mejor.

viendo esto, me toca modificar algunas activities XDDD

P.D: Truco Guardado ^^

Rubén Serrano

unread,
Jan 10, 2013, 4:28:35 AM1/10/13
to barcelo...@googlegroups.com
Lo de hacer fetchData() y loadData() dejaría de tener sentido usando Loaders (publicidad subliminal del codelab de este sábado :p).
Reply all
Reply to author
Forward
0 new messages