You are on page 1of 17

UNIVERSIDAD NACIONAL DE INGENIERA

CENTRO DE TECNOLOGAS DE INFORMACIN Y COMUNICACIONES CTIC-UNI

ANDROID BASICO
CREACIN DE APLICACIONES MVILES PARA ANDROID

2013

Centro de Tecnologas de informacin y Comunicaciones de la UNI CTIC UNI

CREACION DE APLICACIONES Y ACTIVIDADES

Temas
1. Introduccin de los componentes de una aplicacin y los distintos tipos de aplicaciones que se pueden crear 2. Entender el ciclo de vida de una aplicacin 3. Creando el Manifiesto de una aplicacin (Manifest) 4. Usando recursos para soportar multilenguaje y configuraciones de hardware.

5. Implementar y usar tu propia clase de aplicacin.


6. Creando nuevas actividades.

7. Entender el estado de las Actividades (Activity) y el ciclo de vida.


CTIC UNI 3

Una aplicacin ANDROID


Consiste en componentes dbilmente enlazados. Atados por el manifiesto de la aplicacin, el cual describe cada componente y como interacciona. Adems se usa el manifiesto para especificar metadata como: los requerimientos de hardware, requerimientos de plataforma, permisos. Los siguientes componentes forman el bloque de una aplicacin android:

Actividades: Pertenece a la capa de presentacin de la aplicacin. La interfaz


grfica esta construida por una o mas extensiones de una clase Actividad. (Equivale a un form en el desarrollo para Desktop).

Servicios: Los trabajadores invisibles de tu aplicacin. Se ejecuta sin la


necesidad de tener UI (Interfaz de usuario), con la capacidad de modificar tu informacin interna, actividades, mostrar notificaciones, broadcasting intents. Usados para tareas largas que no requieran interaccin de usuario. Content Providers: Datos persistentes compartibles. Son usadas para compartir fuera de la frontera de la aplicacin. Maneja los accesos a informacin estructurada. El acceso a los contactos es un ejemplo de un CP nativo.
CTIC UNI 4

Intents Es una de las herramientas muy usadas en Android, empleadas para enviar mensajes internamente. Puedes usar intents para empezar nuevas actividades y servicos. Broadcast Receivers Escucha los intents. Broadcast Receivers permite a tu aplicacin escuchar Intents que coincidan con las especificaciones. Widgets: Un componente visual que normalmente es agregado a la pantalla de inicio del dispositivo. Notificaciones: Nos permite alertar al usuario sobre eventos ocurridos en la aplicacin, sobre todo cuando el usuario no esta usando la aplicacin.

CTIC UNI 5

Manifest file
Cada proyecto android incluye este archivo (AndroidManifest.xml), el cual define la estructura y la metadata de nuestra aplicacin, sus componentes y requerimientos. Incluye secciones para cada actividad, servicio, Content Provider, BroadCast Receivers. Tambin especifica datos como: el icono, nmero de versin, thema. Existe secciones que pueden especificar los permisos requeridos, hardware, pantalla, y requerimientos de plataforma

Tag importantes:
<uses-sdk> : Tag para definir el mnimo y mximo SDK disponible para la aplicacin. Ejemplo: <uses-sdk android:minSdkVersion= 8 android:targetSdkVersion=15/> <uses-feature> : Tag usado para prevenir que la aplicacin sea instalado en un dispositivo que no incluya un hardware especfico*. Ejemplo:

<uses-feature android:name=android.hardware.nfc />


Disponble usando el Google Play. Link referencia para otros tipos de hardware
CTIC UNI 6

<supports-screens> : Usado para especificar que tamaos de pantalla soporta la aplicacin .Ejemplo: <supports-screens android:smallScreens=false android:normalScreens=true android:largeScreens=true android:xlargeScreens=true android:requiresSmallestWidthDp=480 android:compatibleWidthLimitDp=600 android:largestWidthLimitDp=720/> De ser posible deberamos optimizar la aplicacin para que est disponible en distintas resoluciones de pantallas, usando la carpeta de recursos.

<uses-permission> : Nos permite declarar los requisitos que la aplicacin requiere. Cada permiso ser presentado al usuario antes que la aplicacin sea instalada. Este permiso es requerido para utilizar las APIs. Ejemplo:
<uses-permission android:name=android.permission.ACCESS_FINE_LOCATION/> link de referencia para mas permisos
CTIC UNI 7

<application> : El manifest solo puede contener uno de estos tags. Nos sirve para especificar informacin referente a la aplicacin (titulo, icono, tema)
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > .. </application>

Dentro de este nodo, debemos declarar los componentes de la aplicacin (Actividades, Servicios, Content Provider, Broadcast Receiver)
Activity : Un tag de actividad es requerido por cada actividad utilizada en la aplicacin. Debemos incluir cual de las actividades tiene la el MAIN LAUNCH. Cualquier actividad que no est declara en el manifest, el sistema botar una excepcin.

CTIC UNI 8

<activity android:name="com.uni.test.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> Servicio: Cada servicio utilizado en la aplicacin debe ser declarado en el manifest. <service android:name=.MyService> </service>

provider: Content provider utilizado para manejar el acceso a la base de datos, debe ser declarado en el manifest.
<provider android:name=.MyContentProvider android:authorities=com.paad.myapp.MyContentProvider />

CTIC UNI

Link a documentacin sobre el manifest


9

EXTERNALIZACIN DE RECURSOS
Es una buena prctica mantener recursos como imgenes, strings, contantes, fuera de tu cdigo. Nos facilita el mantenimiento , actualizacin y administracin. Tambin nos permite poder soportar variaciones en el hardware como tamao de pantallas y resoluciones., lenguajes, etc.

Values
La carpeta de values incluye: strings, colores, dimensiones, estilos, arreglos de strings o integer. Por convecin, los recursos son generalmente guardados en archivos separados para cada tipo. Por ejemplo res/values/strings.xml deberan contener solo strings. STRINGS: <string name=stop_message>Stop.</string>

CTIC UNI 10

Strings plurales: Nos permite definir distintos strings basado en el nmero de items a los que te refieres.Por ejemplo: Una cancin, cuatro cancioones. Creando recursos plurales, pueden especificar strings para cantidades cero, uno, otros. <plurals name=songs"> <item quantity="zero">no song</item> <item quantity="one">one song</item> <item quantity="other">%d songs</item> </plurals>

Resources resources = getResources(); String unicornStr = resources.getQuantityString( R.plurals. songs, songCount, songCount);

link con los cdigos representativos para otros idiomas (ISO 639-1)
CTIC UNI 11

COLORS: Especifica el valor del color usando las siguientes convenciones:


#RGB #RRGGBB #ARGB #AARRGGBB <color name=dark_blue>#00F</color> <color name=transparent_green>#7700FF00</color> DIMENSIONS: Usando en los layouts y estilos. Opciones: px (screen pixels) in (physical inches) pt (physical points) mm (physical millimeters) dp (density-independent pixels) sp (scale-independent pixels) Particularmente usado para tamaos de fuente

<dimen name=standard_border >5dp</dimen> <dimen name=large_font_size>16sp</dimen>


CTIC UNI 12

ESTILOS
Los recursos de estilos nos permite mantener nos permite mantener el diseo en algunas Vistas. Para crear un estilo, debemos usar el tag <style> incluyendo un atributo de nombre. <style name=base_text > <item name=android:textSize>14sp</item> <item name=android:textColor >#111</item> </style> Los estilos nos permiten soporar herencias de atributos, haciendo fcil crear variaciones simplres. <style name=small_text parent=base_text> <item name=android:textSize>8sp</item> </style>

CTIC UNI 13

LAYOUTS
Capa de diseo de interfaz en XML. Podemos optimizar los layouts para cada variaciones en la configuraciones del hardware, como tamaos de pantalla, orientacin, etc. (res/layout)

MENUS
Podemos crear un XML en el cual se encuentren las opciones del MENU. Cada menu es guardado en un archivo separado. <?xml version=1.0 encoding=utf-8?> <menu xmlns:android=http://schemas.android.com/apk/res/android> <item android:id=@+id/menu_refresh android:title=@string/refresh_mi /> <item android:id=@+id/menu_settings android:title=@string/settings_mi /> </menu>
CTIC UNI 14

USANDO LOS RECURSOS


<?xml version=1.0 encoding=utf-8?> <LinearLayout xmlns:android=http://schemas.android.com/apk/res/android android:orientation=vertical android:layout_width=match_parent android:layout_height=match_parent android:padding=@dimen/standard_border> <EditText android:id=@+id/myEditText android:layout_width=match_parent android:layout_height=wrap_content android:text=@string/stop_message android:textColor=@color/opaque_blue /> </LinearLayout>
CTIC UNI 15

USANDO LOS RECURSOS DEL SISTEMA


El framework de Android nos permite utlizar recursos nativoss, como strings, imagenes, estilos, layouts. Acceso por cdigo: CharSequence httpError = getString(android.R.string.httpErrorBadUrl); Acceso por XML: <EditText android:id=@+id/myEditText android:layout_width=match_parent android:layout_height=wrap_content android:text=@android:string/httpErrorBadUrl android:textColor=@android:color/darker_gray />

CTIC UNI 16

CICLO DE VIDA DE UNA ACTIVIDAD

17

You might also like