SlideShare una empresa de Scribd logo
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

PDF
Introducción a Android
PPTX
Menu cenas 1
PDF
Desarrollo de Aplicaciones Moviles en Android: Temas Avanzados
PDF
Tema 4.4 Actividades
PPTX
CLASE 4 android cat 32 pags para estudiantes.pptx
PPTX
Android master class
PPT
Desarrollo android - 4 - arquitectura de aplicación
PPTX
Píldoras android i. Intro - 2ª parte
Introducción a Android
Menu cenas 1
Desarrollo de Aplicaciones Moviles en Android: Temas Avanzados
Tema 4.4 Actividades
CLASE 4 android cat 32 pags para estudiantes.pptx
Android master class
Desarrollo android - 4 - arquitectura de aplicación
Píldoras android i. Intro - 2ª parte

Similar a Slides1 (20)

PPT
Introduccion a Android
KEY
Android la plataforma móvil open source
PPTX
Android Basics v2.0
PPTX
ciclo de vida de un activity en adnroid studio
PDF
MobileCONGalicia Introducción a Android
PPTX
PDF
Iniciación a la programación para Android - Murcia GTUG (Murcia Lan Pary 2011)
PPTX
Android basics v3
PPTX
Android Basics v2.5
PDF
Developing for Android (The movie)
PDF
Sesion 11 Teoria.pdf
PPTX
Taller androidparte2
ODP
Ciclo de vida de una app Android
PDF
Tema 4.2.2 Desarrollo con Android. El Framework de Android.
DOCX
R esume libro el gran libro de android
ODT
Materiaeloy
PDF
Taller Android seedrocket
PPTX
Instrucciones y estructuras
PPTX
Aplicacion movil
PPTX
Iniciación android
Introduccion a Android
Android la plataforma móvil open source
Android Basics v2.0
ciclo de vida de un activity en adnroid studio
MobileCONGalicia Introducción a Android
Iniciación a la programación para Android - Murcia GTUG (Murcia Lan Pary 2011)
Android basics v3
Android Basics v2.5
Developing for Android (The movie)
Sesion 11 Teoria.pdf
Taller androidparte2
Ciclo de vida de una app Android
Tema 4.2.2 Desarrollo con Android. El Framework de Android.
R esume libro el gran libro de android
Materiaeloy
Taller Android seedrocket
Instrucciones y estructuras
Aplicacion movil
Iniciación android
Publicidad

Slides1