Subido por dasdasdasd

tr holamundo

Anuncio
Tecnología de Programación
Hola, Mundo 1
«Hola, Mundo» en Android
DepartamentodeInformática | UniversidaddeValladolid
Tecnología de Programación
Elaborar una aplicación «Hola, Mundo» para Android
es trivial
Abrimos eclipse
File -> New -> Android Project
Project name: Hola
Build target: Android 2.2
Package name: uva.tprg.Hola
Create Activity: HolaActivity
Hola, Mundo
Arrancar un dispositivo virtual o conectar un
dispositivo físico
Run -> Run -> Android Application
Félix Prieto
... Y «Hola, Mundo» funciona de modo «mágico»
Curso 2011/12
UniversidaddeValladolid
Tecnología de Programación
Hola, Mundo 2
Eclipse y el dispositivo virtual en ejecución
DepartamentodeInformática
Tecnología de Programación
FÉLiX 
Hola, Mundo 3
Elementos básicos de eclipse
En eclipse podemos utilizar varias vistas simultáneas
Un conjunto de vistas constituyen una perspectiva sobre el
proyecto
Disponibles varias perspectivas «predefinidas» (Java,
DDMS, Debug,. . . )
Podemos cambiar la configuración por defecto de una
Perspectiva
Podemos recuperar la configuración por defecto de una
perspectiva
Elementos básicos de la perspectiva «Java»
Explorador: Selección de Aplicaciones o elementos
dentro de ellas
Editor
JavaDoc: Muestra documentación sobre el código en
edición
Consola: Mensajes relativos a la compilación y/o
ejecución
Esquema: Estructura del elemento en edición
UniversidaddeValladolid
FÉLiX 
DepartamentodeInformática
Tecnología de Programación
Hola, Mundo 4
Elementos de un proyecto Android
UniversidaddeValladolid
DepartamentodeInformática
Tecnología de Programación
FÉLiX 
Hola, Mundo 5
Diagrama general de la construcción
src: Código java del proyecto
organizado en paquetes
gen: Código java generado por las
herramientas de desarrollo
res: Recursos del proyecto
almacenados en formato XML
AndroidManifest.xml:
Identificación, propiedades de la
aplicación, permisos requeridos
para su ejecución,...
UniversidaddeValladolid
DepartamentodeInformática
Tecnología de Programación
FÉLiX 
Hola, Mundo 6
La primera Actividad
UniversidaddeValladolid
DepartamentodeInformática
Tecnología de Programación
FÉLiX 
Hola, Mundo 7
Clases y ficheros en Java
package uva.tprg.Hola;
Las clases se organizan en «paquetes» que agrupan
clases relacionadas
import android.app.Activity;
import android.os.Bundle;
package se utiliza para declarar el paquete a que
pertenecen las clases del fichero
Para que una clase pueda ser usada fuera de su
paquete hay que declararla como pública
public class HolaActivity extends Activity {
/∗∗ Called when the activity is first created. ∗/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
En cada fichero sólo puede existir una clase pública,
con el mismo nombre que el fichero
La importación de otras clases es explícita, mediante
la clausula import
Eclipse inserta los import necesarios
(shift−control−o)
UniversidaddeValladolid
DepartamentodeInformática
FÉLiX 
UniversidaddeValladolid
DepartamentodeInformática
FÉLiX 
Tecnología de Programación
Hola, Mundo 8
Métodos, atributos y visibilidad
Sólo se permite herencia simple entre clases
extends indica la única clase padre de la actual
La marca @override indica que el siguiente método
es una redefinición
Se admite el polimorfismo sintáctico
Existen cuatro niveles de visibilidad:
Por defecto, visible para las clases del paquete
public, visible para todas las clases
private, visible sólo para instancias de la clase
protected, visible desde clases de paquete o sus
descendientes
No es obligatorio, pero evita errores relacionados con
la redefinición
super.onCreate() hace referencia al precursor del
método
En resumen HolaActivity es una clase heredera de
Activity que redefine el método onCreate
Un atributo público, lo es también para escritura, lo
que rompe el principio de encapsulación
DepartamentodeInformática
Tecnología de Programación
Hola, Mundo 9
Herencia y redefinición
Todos los métodos son funciones, aunque algunos
devuelven void
UniversidaddeValladolid
Tecnología de Programación
FÉLiX 
Hola, Mundo 10
Definición del primer «layout»
UniversidaddeValladolid
FÉLiX 
DepartamentodeInformática
Tecnología de Programación
Hola, Mundo 11
Editando el «layout»
<?xml version="1.0" encoding="utf−8"?>
<LinearLayout xmlns:android=
"http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
</LinearLayout>
UniversidaddeValladolid
DepartamentodeInformática
Tecnología de Programación
FÉLiX 
Hola, Mundo 12
Consideraciones sobre el «layout»
UniversidaddeValladolid
FÉLiX 
DepartamentodeInformática
Tecnología de Programación
Hola, Mundo 13
La estructura del «layout»
La posición de los elementos siempre es relativa
En general las vistas se construyen combinando
cajas apiladas vertical y horizontalmente
En general es más cómodo utilizar el editor «rico»
La columna de la izquierda contiene todos los
elementos o Vistas que podemos insertar
Las medidas preferidas son dip (pixels
independientes de la densidad) y sp (equivalente
para texto)
No deben aparecer explícitamente:
La columna de la derecha contiene el árbol de
estructura del layout
Podemos cambiar propiedades de una vista
mediante un menú contextual
colores
tipos de letra
cadenas de caracteres
todos estos elementos aparecen en otros ficheros de
recursos
UniversidaddeValladolid
DepartamentodeInformática
Tecnología de Programación
FÉLiX 
Hola, Mundo 14
Creando un nuevo fichero de recursos
UniversidaddeValladolid
FÉLiX 
DepartamentodeInformática
Tecnología de Programación
Hola, Mundo 15
Ficheros de recursos
Podemos crear ficheros de recursos de varios tipos
Layout, colores, datos, menús,. . .
Podemos crear varios ficheros para el mismo recurso
Se activará uno de ellos en función de un conjunto
de propiedades
Idioma, tamaño o posición de pantalla,. . .
Los ficheros se almacenan en directorios diferentes
Eclipse es capaz de ocuparse de los detalles
UniversidaddeValladolid
DepartamentodeInformática
FÉLiX 
UniversidaddeValladolid
DepartamentodeInformática
FÉLiX 
Tecnología de Programación
Hola, Mundo 16
El siguiente paso
Conseguir reacciones a las acciones del usuario
Lanzar otra actividad
Utilizar otros tipos de vista
Ofrecer opciones de configuración de la aplicación
Esto es: Un «Hola, Mundo» con pretensiones
UniversidaddeValladolid
DepartamentodeInformática
FÉLiX 
Descargar