SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
Desarrollo de Aplicaciones
Móviles para Android

Erwin Saavedra

10/05/2013
Agenda
●

Presentación: Las aplicaciones de Android

●

Práctica: Laboratorio del ciclo de vida

●

Presentación: Views Pt. 1

●

Práctica: Laboratorio de Views Pt. 1

●

Presentación: Sistema de layout

●

Práctica: Layouts lineales y relativos
Aplicaciones de Android
¿Qué es una aplicación?
●

●

●
●

●

“Es un programa (software) cuyo propósito es
realizar una o varias tareas”
En Android cada aplicación es un usuario de
Linux diferente
Los procesos se ejecutan en su propia VM
Todas las aplicaciones requieren de un
manifiesto
Las aplicaciones se distribuyen como un .apk
Componentes de una Aplicación
●

Activities

●

Services

●

Content Providers

●

Broadcast Receivers
El Manifiesto
●

Todas las aplicaciones de Android deben tener
uno

●

AndroidManifest.xml

●

Se usa para declarar activities, services, etc.

●

Se usa para solicitar permisos
–

●

Ej. <uses-permission android:name="android.permission.INTERNET" />

Se usa para indicar las versiones del SDK
soportadas
Activities
●
●

●

●

Provee una GUI
Una aplicación usualmente se compone de
varias actividades
Deben declararse en el manifiesto antes de
usarse
Tienen un ciclo de vida
Ciclo de vida de una Activity
Secuencia durante la transición
entre varias actividades
●

La actividad B va a entrar en el foreground
–

Activity A
1. onPause()

–

Activity B
1. onCreate()
2. onStart()
3. onResume()

●

Si la actividad A no necesita dibujarse (totalmente ocluida)
–

Activity A
1. onStop()
Activities en el manifiesto
<manifest ... >
<application ... >
<activity android:name=".ExampleActivity" />
...
</application ... >
...
</manifest >
Callbacks del ciclo de vida (1/3)
public class ExampleActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// The activity is being created.
}
@Override
protected void onStart() {
super.onStart();
// The activity is about to become visible.
}
Callbacks del ciclo de vida (2/3)
@Override
protected void onResume() {
super.onResume();
// The activity has become visible (it is now "resumed").
}
@Override
protected void onPause() {
super.onPause();
// Another activity is taking focus (this activity is about to be "paused").
}
@Override
protected void onStop() {
super.onStop();
// The activity is no longer visible (it is now "stopped")
}
Callbacks del ciclo de vida (3/3)
@Override
protected void onDestroy() {
super.onDestroy();
// The activity is about to be destroyed.
}
}
Llamar una actividad dentro de otra
●

Intent
–
–

●

●

Intent intent = new Intent(this, Activity2.class);
startActivity(intent);

Se pueden pasar valores entre Intents
haciendo uso de .putXXX y recibiendolos según
el mecanismo asociado a startActivityForResult
Las actividades se terminan utilizando finish()
Services
●
●

No proveen una GUI
Deben declararse en el manifiesto antes de
usarse

●

Tienen su propio ciclo de vida

●

Dos tipos
–

Started

–

Bound
Services en el manifiesto
<manifest ... >
<application ... >
<service android:name=".ExampleService" />
...
</application ... >
...
</manifest >
Tip: Depuración
●

Varios mecanismos, por el momento se sugiere
utilizar
–
–

●

Toast (Durante la etapa de desarrollo)
Logcat

Los toast, junto con las notificaciones, se
utilizan para informar al usuario. UTILIZAR
APROPIADAMENTE
Tip: Depuración
Formulas
●

Toast
–
–

●

import android.widget.Toast;
Toast.makeText(context, “Hola”,
Toast.LENGTH_SHORT).show();

Logcat (Debugging)
–

import android.util.Log;

–

Log.d("Source", "Description");
Views
Interfaces de usuario
●

●

●

●

Todo el sistema de interface de usuario DEBE de
hacerse según los lineamientos de
Google/Android
Siempre se debe de diseñar teniendo en cuenta
diferentes tipos de displays
La clase que encapsula toda la funcionalidad es
View
Para dibujar se hace un llamado a setContentView
Layouts
●
●

●

Los views se anidan dentro de viewgoups
RelativeLayout y LinearLayout son subclases
de ViewGroup
Se describen
–
–

●

Archivos xml
Programatically

Se pueden anidar
Layouts
Layouts en xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I am a TextView" />
<Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I am a Button" />
</LinearLayout>
LinearLayout Programatically
Button bHola = new Button(this);
bHola.setId(B_HOLA);
bHola.setText("Hola");
bHola.setOnClickListener(this);
LinearLayout layout = new LinearLayout(this);
layout.setId(L_LINEAR);
layout.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT));
layout.setOrientation(LinearLayout.VERTICAL);
layout.setGravity(Gravity.CENTER);
layout.addView(bHola);
setContentView(layout);
Views Básicos
●

TextView
–

●

Button
–

●

http://developer.android.com/reference/android/widget/Button.html

EditText
–

●

http://developer.android.com/reference/android/widget/TextView.html

http://developer.android.com/reference/android/widget/EditText.html

ImageView
–

http://developer.android.com/reference/android/widget/ImageView.html
Información Adicional
Lectura adicional
●

http://developer.android.com/guide/components/fundamentals.html

●

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

●

http://developer.android.com/guide/topics/ui/index.html
Links
●

Brand
–

●

Iconography
–

●

http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html

Reference
–

●

http://developer.android.com/design/style/iconography.html

Asset Studio
–

●

http://developer.android.com/distribute/googleplay/promote/brand.html

http://developer.android.com/reference/packages.html

SDK
–

http://developer.android.com/sdk/index.html
Contacto
Erwin Saavedra
saavedraerwin@gmail.com
Asunto: “Diplomado Android UTS”
Atribuciones
●

Logo UTS
http://commons.wikimedia.org/wiki/File:Logo_UTS.JPG Creative Commons Attribution-Share Alike 2.5 Generic

●

Logo Android
http://developer.android.com/distribute/googleplay/promote/brand.html

Creative Commons Attribution

Más contenido relacionado

Similar a Slides1

Introducción al desarrollo de aplicaciones Android
Introducción al desarrollo de aplicaciones AndroidIntroducción al desarrollo de aplicaciones Android
Introducción al desarrollo de aplicaciones AndroidFacundo Rodríguez Arceri
 
Tema 4.2.2 Desarrollo con Android. El Framework de Android.
Tema 4.2.2 Desarrollo con Android. El Framework de Android.Tema 4.2.2 Desarrollo con Android. El Framework de Android.
Tema 4.2.2 Desarrollo con Android. El Framework de Android.Carlos A. Iglesias
 
Jade Agentes inteligentes básico
Jade Agentes inteligentes básicoJade Agentes inteligentes básico
Jade Agentes inteligentes básicoOctavio Abundez
 
Tema 4 4_1_intenciones_servicios
Tema 4 4_1_intenciones_serviciosTema 4 4_1_intenciones_servicios
Tema 4 4_1_intenciones_serviciosCarlos A. Iglesias
 
Introducción a AngularJS
Introducción a AngularJSIntroducción a AngularJS
Introducción a AngularJSAdrián Paredes
 
Desarrollo android - 4 - arquitectura de aplicación
Desarrollo android  - 4 - arquitectura de aplicaciónDesarrollo android  - 4 - arquitectura de aplicación
Desarrollo android - 4 - arquitectura de aplicaciónEmilio Aviles Avila
 
Desarrollo de Aplicaciones Moviles en Android: Temas Avanzados
Desarrollo de Aplicaciones Moviles en Android: Temas AvanzadosDesarrollo de Aplicaciones Moviles en Android: Temas Avanzados
Desarrollo de Aplicaciones Moviles en Android: Temas AvanzadosGabriel Huecas
 
Taller Práctico de Android
Taller Práctico de AndroidTaller Práctico de Android
Taller Práctico de AndroidJavier Muñoz
 
5 Clase El Proceso Unificado Rational
5 Clase El Proceso Unificado Rational5 Clase El Proceso Unificado Rational
5 Clase El Proceso Unificado RationalJulio Pari
 
Fundamentos desarrollo de Apps para Android
Fundamentos desarrollo de Apps para AndroidFundamentos desarrollo de Apps para Android
Fundamentos desarrollo de Apps para Androidandresuarezz26
 
Píldoras android i. Intro - 2ª parte
Píldoras android i. Intro - 2ª partePíldoras android i. Intro - 2ª parte
Píldoras android i. Intro - 2ª parteSergi Martínez
 

Similar a Slides1 (20)

Introducción al desarrollo de aplicaciones Android
Introducción al desarrollo de aplicaciones AndroidIntroducción al desarrollo de aplicaciones Android
Introducción al desarrollo de aplicaciones Android
 
Slides p3 2
Slides p3 2Slides p3 2
Slides p3 2
 
Tema 4.2.2 Desarrollo con Android. El Framework de Android.
Tema 4.2.2 Desarrollo con Android. El Framework de Android.Tema 4.2.2 Desarrollo con Android. El Framework de Android.
Tema 4.2.2 Desarrollo con Android. El Framework de Android.
 
Tema 4.1 Introduccion Android
Tema 4.1 Introduccion AndroidTema 4.1 Introduccion Android
Tema 4.1 Introduccion Android
 
Jade Agentes inteligentes básico
Jade Agentes inteligentes básicoJade Agentes inteligentes básico
Jade Agentes inteligentes básico
 
Seminario Android inicial 2014
Seminario Android inicial 2014Seminario Android inicial 2014
Seminario Android inicial 2014
 
Proceso unificado
Proceso unificadoProceso unificado
Proceso unificado
 
Tema 4 4_1_intenciones_servicios
Tema 4 4_1_intenciones_serviciosTema 4 4_1_intenciones_servicios
Tema 4 4_1_intenciones_servicios
 
Ciclo de vida software
Ciclo de vida softwareCiclo de vida software
Ciclo de vida software
 
Creación de Procesos en Android
Creación de Procesos en AndroidCreación de Procesos en Android
Creación de Procesos en Android
 
Tema
Tema Tema
Tema
 
Introducción a AngularJS
Introducción a AngularJSIntroducción a AngularJS
Introducción a AngularJS
 
Desarrollo android - 4 - arquitectura de aplicación
Desarrollo android  - 4 - arquitectura de aplicaciónDesarrollo android  - 4 - arquitectura de aplicación
Desarrollo android - 4 - arquitectura de aplicación
 
Desarrollo de Aplicaciones Moviles en Android: Temas Avanzados
Desarrollo de Aplicaciones Moviles en Android: Temas AvanzadosDesarrollo de Aplicaciones Moviles en Android: Temas Avanzados
Desarrollo de Aplicaciones Moviles en Android: Temas Avanzados
 
Taller Práctico de Android
Taller Práctico de AndroidTaller Práctico de Android
Taller Práctico de Android
 
Android bootcamp 101 v2.0
Android bootcamp 101 v2.0Android bootcamp 101 v2.0
Android bootcamp 101 v2.0
 
5 Clase El Proceso Unificado Rational
5 Clase El Proceso Unificado Rational5 Clase El Proceso Unificado Rational
5 Clase El Proceso Unificado Rational
 
Fundamentos desarrollo de Apps para Android
Fundamentos desarrollo de Apps para AndroidFundamentos desarrollo de Apps para Android
Fundamentos desarrollo de Apps para Android
 
Gestion de procesos Android
Gestion de procesos AndroidGestion de procesos Android
Gestion de procesos Android
 
Píldoras android i. Intro - 2ª parte
Píldoras android i. Intro - 2ª partePíldoras android i. Intro - 2ª parte
Píldoras android i. Intro - 2ª parte
 

Slides1