Taller Desarrollo. Tecnólogo Informática - 6to Semestre Montevideo

Documentos relacionados
Desarrollo de Aplicaciones para Android

Android y Java para Dispositivos Móviles

Desarrollo de Aplicaciones para Android

Desarrollo de Aplicaciones para Android

Interfaz de usuario. Índice

INICIACIÓN A LA PROGRAMACIÓN PARA ANDROID

Layouts en Android LSUB, GSYC, URJC

Interfaz de usuario Layout Vistas Adaptadores Eventos de interacción Estilos y temas

Android avanzado. Sesión 5: Notificaciones. Experto en Desarrollo de Aplicaciones para Dispositivos Móviles

Cursos de orientación profesional

Manejadores en Android LSUB, GYSC, URJC

Servicios de la plataforma Android

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles. Plataforma Android

Android TAG y el principio DRY

Desarrollo de un reproductor mp3

Aplicación para lista de tareas

Ejercicio 4. Manejo de Layouts en Android. Android Con Java. Ejercicio 4. Manejo de Layouts en Android. Curso de Android con Java

Android y Recursos. Android R.java (fichero)

Curso de introducción a Android

Servicios Basados en Localización (LBS) Tema 6 Desarrollo de aplicaciones en Android

BEGINNERS CURSO TALLER: años. INICIO: 15 DE SETIEMBRE Viernes de 19:00 a 22:00h y sábados 09:00 a 12:00h

Unidad 5. Interfaz de Usuario

Importar y exportar aplicaciones Para importar proyectos de Android a Android studio

Diseño de interfaces gráficas. JOSE LUIS BERENGUEL GÓMEZ Febrero 2012

Crear listas personalizadas en Android

ALMACENAMIENTOS DE DATOS EN ANDROID CON SQLITE

INTRODUCCIÓN A LA PROGRAMACIÓN ANDROID. Duración en horas: 60 OBJETIVOS DEL CURSO

Ejercicio 18. Configuración de Widgets en Android. Android Con Java. Ejercicio 18. Configuración de Widgets en Android. Curso de Android con Java

Activities/Intents en Android LSUB, GSYC, URJC

Introducción a la programación de aplicaciones con Android. Fernando Pérez Costoya

Android Manejo de Eventos. Rogelio Ferreira Escutia

Objetivos y Temario CURSO DESARROLLO APLICACIONES ANDROID 4.0

ANDROID INTERMEDIO - E-LEARNING - EN LÍNEA

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles. Plataforma Android. Sesión 1: introducción a Android

Curso de programación en Android. 19/Junio/2012 Ramón Alcarria Augusto Morales

Android 7 Principios del desarrollo de aplicaciones Java

INTRODUCCIÓN A LA PROGRAMACIÓN ANDROID

Tema 2: Diseño de servicios para móviles

Curso Android. ADT Bundle. Android Developer Tools. Entorno de trabajo Toolbar principal SDK Manager. Emulador de Android. Crear proyecto Android

Ejercicio 3. Manejo de la Vista y Eventos en Android Ejercicio 3 Curso de Android con Java Derechos Res Dere e c rvados hos Res Gl e obal rva

PRACTICAS DE ANDROID 12 - Lanzar un segundo "Activity" y pasar parámetros Problema:

Programación Android. Alejandro Alcalde. elbauldelprogramador.com

CODIGO PROYECTO: AppPixelproServicioWeb Proyecto Android - Servicio Web

Programación en Android LSUB, GSYC, URJC

Temas. CopyRight emmmnmmma - All rights reserved 2

Crear un Splash-Screen

Android UI. Darío Fernando Chamorro Vela Junio 2012

Aurelio López Ovando Botón de pánico (App para Android)

Hola Android. Introducción al desarrollo de aplicaciones para Android

SOBRE LA GUÍA. Atribución-NoComercial-CompartirIgual 3.0 Unported (CC BY-NC-SA 3.0)

Desarrollo de Aplicaciones para Android

Curso de Android con Java

Interfaces de usuario [Desarrollo de aplicaciones para Android]

Ejercicios - Intents y navegación entre actividades

Manual Mca006. Manual Mca006 CURSO ANDROID DESARROLLO de APLICACIONES MÓVILES, 24 horas

SALVADOR GÓMEZ OLIVER

MASTER DESARROLLO DE APLICACIONES ANDROID

Unidad 3. PrimerProyecto. Nuestra primera aplicacio n Android

1. INTRODUCCIÓN Acerca de este libro A quién va dirigido

Servicios Basados en Localización (LBS) Tema 6 Desarrollo de aplicaciones en Android Intents e Intent Filters

ÍNDICE GENERAL. 5. GUARDAR DATOS CON SharedPreferences... 54

Desarrollo de apps para móviles Android. Conceptos básicos de las aplicaciones Android

Con este tutorial podrás aprender a cómo empezar a crear apps en Android, empezaremos con algo muy simple para que poco a poco vayas conociendo.

Unidad III.- Desarrollo de la interfaz de usuario. Diseño de layouts en Android.

Introducción a la programación de aplicaciones con Android. Fernando Pérez Costoya

Introducción a la programación de aplicaciones con Android. Fernando Pérez Costoya

DESARROLLO DE APLICACIONES EN ANDROID

Sesión 4. Interfaz de Usuario en Android. Ing. Edwin Andrés Cubillos Vega Msc. Company LOGO

DESARROLLO DE APLICACIONES EN ANDROID

Que es un Android Intent?

ANDROID BÁSICO - E-LEARNING - EN LÍNEA

Tecnología de Programación

Desarrollo de Aplicaciones para Android

SOLUCIÓN AL LABORATORIO DEL DÍA SÁBADO 29 DE JUNIO DE 2013

Intents y navegación entre actividades

INTRODUCCIÓN.

Curso Online de Programación Android

Índice. Prólogo Capítulo I. Introducción Capítulo II. Conceptos...19

Teoría Intents Fecha 2016/04/12

UNA APLICACIÓN DE EJEMPLO: MIS LUGARES

Enrique Follow #XamarinDiplomado. Lección 1: Introducción a la Interfaz Gráfica en Xamarin

Practica. Material Design. lunes 10 de octubre de 16

Taller Caldum Introducción al desarrollo Android

En nuestra actividad principal, creamos el objeto vista previa. Este objeto se creará el objeto cámara y volver a la actividad CameraDemo.

TALLER DE INICIACIÓN A ANDROID

Android. Y amigos. Pablo Orgaz, 2014, UPM

Desarrollo Para Dispositivos Móviles.

MANIPULACIÓN DE VISTAS (VIEW)

ANEXO 2: Código fuente de la aplicación

Introducción a la programación Android. Programación III - 6to año Escuela Técnica ORT Leo Lob -

Taller Mi Primera Aplicación Android

Desarrollo de Apps para Android

Bloque 2. Desarrollo de Aplicaciones en Android

Desarrollo de Aplicaciones para Android

Curso de programación en Android. 19/Junio/2012 Ramón Alcarria

Plataforma Android. Sesión 5: Drawables, estilos y temas. Experto en Desarrollo de Aplicaciones para Dispositivos Móviles

package com.example.dialogov1;

Transcripción:

Taller Desarrollo Mobile Tecnólogo Informática - 6to Semestre Montevideo

UI INTENT Desarrollo Mobile

Agenda UI Layout Fragments Widget Tool Box Adapters Intent - Broadcast Receiver Internet Resources

Repaso Desarrollo Mobile

Repaso Activity Son componentes que representan a una pantalla. Cada pantalla está asociada a una o más activity. public class MainActivity extends Activity { @Override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); }

Repaso Manifest Es un archivo XML donde se definen las características principales de la aplicación. Declaración de actividades Declaración de permisos Versión de SDK

Repaso Recursos Es todo aquello que utiliza la aplicación que no forma parte del código fuente. Imagenes,videos, archivos de audio,textos, menús y layout. Se encuentra dentro de la carpeta res y se acceden mediante un identificador.

Repaso Términos y Conceptos Tamaño de pantalla Densidad de pantalla Orientación Resolución Densidad Independiente de pixel (dp)

Repaso Usabilidad Facilidad con que el usuario puede utilizar la aplicación Considerar: Lugar de acceso Iluminación Tamaños de pantalla Ubicación de controles (botones, cajas de texto, etc.) Movimiento y rotación Performance

Repaso Usabilidad Elementos clave para usabilidad mobile tiempo navegación pulgar-friendly visibilidad simplicidad evitar ingresos de mucha información seleccionar vs ingresar

Repaso Usabilidad

UI Desarrollo Mobile

Layout Son componentes invisibles que determinan la disposición de las vistas en una pantalla, pueden ser creados por código o en archivos XML.

Layout Cada Archivo XML layout es compilado en un recurso layout R.layout.<layout_file_name> Un recurso de layout es cargado con setcontentview(r.layout.<layout_file_name>) public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main_layout); }

Layout

Layout

Layout XML <?xml version= 1.0 encoding= utf-8?> <LinearLayout xmlns:android=./android android:orientation= vertical android:layout_width= match_parent android:layout_height= match_parent > <TextView android:layout_width= match_parent android:layout_height= wrap_content android:text= Text /> <EditText android:layout_width= match_parent android:layout_height= wrap_content android:text= Text /></LinearLayout> CÓDIGO LinearLayout ll = new LinearLayout(this); ll.setorientation(linearlayout.vertical); TextView mytextview = new TextView(this); EditText myedittext = new EditText(this); mytextview.settext( Enter Text Below ); myedittext.settext( Text Goes Here! ); int lheight = LinearLayout.LayoutParams.MATCH_PARENT; int lwidth = LinearLayout.LayoutParams.WRAP_CONTENT; ll.addview(mytextview, new LinearLayout.LayoutParams(lHeight, lwidth)); ll.addview(myedittext, new LinearLayout.LayoutParams(lHeight, lwidth)); setcontentview(ll);

Layout

Layout

Layout <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/androi d" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/label" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="type here:"> </TextView> <EditText android:id="@+id/entry" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/label" android:background="@android:drawable/editbox_backgro und"> </EditText> <Button android:id="@+id/ok" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignparentright="true" android:layout_below="@+id/entry" android:layout_marginleft="10dip" android:text="ok"> </Button> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_aligntop="@+id/ok" android:layout_toleftof="@+id/ok" android:text="cancel"> </Button> </RelativeLayout>

Layout <?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout xmlns:android="http://schemas.android.com/ apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_x="42dp" android:layout_y="62dp" android:text="button"> </Button> <RadioButton android:id="@+id/radiobutton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_x="171dp" android:layout_y="318dp" android:text="radiobutton"> </RadioButton> </AbsoluteLayout>

Layout <?xml version= 1.0 encoding= utf-8?> <merge xmlns:android= http://schemas.android.com/apk/res/andr oid > <ImageView android:id= @+id/myimageview android:layout_width= match_parent android:layout_height= match_parent android:src= @drawable/myimage /> <TextView android:id= @+id/mytextview android:layout_width= match_parent android:layout_height= wrap_content android:text= @string/hello android:gravity= center_horizontal android:layout_gravity= bottom /> </merge> <?xml version= 1.0 encoding= utf-8?> <LinearLayout xmlns:android= http://schemas.android.com/apk/res/andr oid android:orientation= vertical android:layout_width= match_parent android:layout_height= match_parent > <include android:id= @+id/my_action_bar layout= @layout/actionbar /> <include android:id= @+id/my_image_text_layout layout= @layout/image_text_layout /> </LinearLayout>

Layout

Fragment Es una sección de una actividad, tiene su propio ciclo de vida, recibe sus propios eventos de entrada, y se añadir o quitar mientras la actividad se está ejecutando. Un fragmento puede ser reutilizado en más de una actividad. public class ArticleFragment extends Fragment { @Override public View oncreateview(layoutinflater inflater, ViewGroup container, Bundle savedinstancestate) { return inflater.inflate(r.layout.some, container, false); } }

Fragment public class MyActivity extends FragmentActivity public class MySkeletonFragment extends Fragment { @Override public View oncreateview(layoutinflater inflater, ViewGroup container, Bundle savedinstancestate) { // Create, or inflate the Fragment s UI, and return it. // If this Fragment has no UI then return null. return inflater.inflate(r.layout.my_fragment, container, false); } } FragmentManager fragmentmanager = getfragmentmanager(); <?xml version= 1.0 encoding= utf-8?> <LinearLayout xmlns:android= http://schemas.android.com/apk/res/android android:orientation= horizontal android:layout_width= match_parent android:layout_height= match_parent > <fragment android:name= com.paad.weatherstation.mylistfragment android:id= @+id/my_list_fragment android:layout_width= match_parent android:layout_height= match_parent android:layout_weight= 1 /> <fragment android:name= com.paad.weatherstation.detailsfragment android:id= @+id/details_fragment android:layout_width= match_parent Introducing Fragments x 121 android:layout_height= match_parent android:layout_weight= 3 /></LinearLayout>

Fragment

Fragment Dialog Fragment ListFragment WebViewFragment

Dialog Son ventanas pequeñas que se colocan por encima de la actividad actual, la cual pierde el foco. Usualmente utilizados para notificaciones o acciones simples. AlertDialog ProgressDialog DatePickerDialog TimePickerDialog

Dialog AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setmessage("are you sure you want to exit?").setcancelable(false).setpositivebutton("yes", new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int id) { MyActivity.this.finish(); } }).setnegativebutton("no", new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int id) { dialog.cancel(); } }); AlertDialog alert = builder.create();

Custom Dialog <LinearLayout xmlns:android="http://schemas.android.com/apk/res /android" android:id="@+id/layout_root" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dp" > <ImageView android:id="@+id/image" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginright="10dp" /> </LinearL ayout> Context mcontext = getapplicationcontext(); Dialog dialog = new Dialog(mContext); dialog.setcontentview(r.layout.custom_dialog); dialog.settitle("custom Dialog"); ImageView image = (ImageView) dialog.findviewbyid(r.id.image); image.setimageresource(r.drawable.android);

View View Son los componentes de la interfaz del usuario, ejemplo: TextView, EditText,Button, Checkbox, etc. View Group Son vistas especiales que contienen otras vistas (DatePicker, Gallery, ListView, ScrollView, etc.) ViewStub Es una vista invisible y sin tamaño que se usa de forma lazily inflate en tiempo de ejecución.

Widget ToolBox TextView EditText AutoCompleteTextView MultiAutoCompleteTextView Button ImageButton ToogleButton CheckBox RadioButton ListView WebView

Custom View Modificar o extender Modificar o extender Combinar Crear

Lint

Adapters Son utilizados para ligar datos para ser mostrados a View Groups que extiendan de AdapterView tales como ListView o Gallery. ArrayAdapter SimpleCursorAdapter

Intents Son mensajes que provocan notificaciones o cambios de estado. Cumplen la función de unir componentes dentro de la misma aplicación o diferentes aplicaciones, el uso más común es navegar entre actividades. Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse( tel:555-2368 )); startactivity(intent);

Intents Explícitos: Si se establece un destinatario, se le envía un mensaje directamente(dentro de la aplicación). Implícitos: Si no se establece un destinatario, se debe incluir suficiente información para que Android determine el mejor componente candidato para ejecutar el Intent(Fuera de la aplicación). Para buscar el mejor candidato, se utilizan los Intent-filters

Intents

Intents Estructura Action: Determina la acción que genera (ACTION_VIEW, ACTION_EDIT, etc.) Data: Contiene los datos que la acción debe operar. Son expresados en forma de URI ACTION_VIEW: content://contacts/people/1 ACTION_DIAL: tel://55555555 ACTION_DIAL: content://contacts/people/2

Intents Atributos adicionales Category: Ofrece información adicional sobre el tipo de componente que debe capturar el Intent. Type: Tipo MIME de los datos del Intent. Es opcional. Component: Indica qué componente especificado en el Manifest realizará la acción del Intent. Si se especifica, se entregará a una instancia de esa clase, si no Android buscará el componente que mejor considere. Extras: Información adicional, en pares clave / valor.

Intents Acciones nativas ACTION_ANSWER: Abre una actividad para gestionar llamadas entrantes. ACTION_CALL: Inicia una llamada utilizando el número enviado en el URI. ACTION_DELETE: Borra una entrada de datos especificado en el URI. ACTION_DIAL: Aparece el marcador con el número especificado. ACTION_EDIT: Invoca una actividad para editar la información de el URI. ACTION_INSERT: Inserta nuevos items, por ejemplo contactos. ACTION_PICK: Recupera información de un item. ACTION_SEARCH: Invoca una actividad para realizar búsquedas. ACTION_SENDTO: Envía un mensaje a un contacto. ACTION_SEND: Envía información específica en el URI. ACTION_VIEW: Petición para ver información de la mejor manera posible. ACTION_WEB_SEARCH: Realiza búsquedas web de la info en el URI.

Broadcast Receiver Son componentes que responden a avisos y anuncios de difusión. Estos avisos pueden provenir de aplicaciones o del sistema como ser avisos de batería baja, una llamada entrante, etc. public class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onreceive(context context, Intent intent) { //TODO: React to the Intent received. } }

Referencias http://startandroid.ru/en/lessons/complete-list/207-lesson-6-layouttypes-key-differences-and-properties.html http://developer.android.com/guide/practices/screens_support.html http://developer.android.com/guide/practices/screens_support.html #DeclaringTabletLayouts http://documents.cofares.net/miroires/androidpourvaleurc http://developer.android.com/reference/android/content/intent.html http://developer.android.com/guide/components/intents-filters.html

Próxima clase? - Servicios