maestros
del web
CURSO
ANDROID
Desarrollo de
aplicaciones moéviles
ew
Care Pes
PROGRAMACION INTERMEDIOCURSO ANDROID 10 af
SSS a
Disposicién inicial
‘Arrancamos descargando el cédigo base’ que debe ser importado hacia un proyecto nuevo. En mi caso,
el cédigo descargado lo tengo en el folder "/Users/ykro/Desktop/LectorFeedMDWBase":
pore Projects
Select 8 ectry to 0c or xin Kone projec.
O weecrer areca
0 see wc >
ros
Scares UinwserOemea rane Sara)
aay
CO Copy projects into workspace
NN I
at pret worn et
En este cédigo encontrards algunas cosas de ayuda para el desarrollo del proyecto. Si quisieran iniciar
desde cero, con un proyecto nuevo, lo minimo que deberian hacer para tenerlo listo es:
> Darle permiso a la aplicacién para que pueda accesar a internet
Para hacer esto, vamos al archivo ancroidManifest. xm] y justo antes de la etiqueta que cierra
manifest colocamos:
Disefio
El disefio tendré 2 botones para iniciar/cerrar sesién y 2 etiquetas para mostrar el status. En el caso de
Facebook, vamos a utilizar el botén incluido en el ejemplo del SDK implementado en una clase llamada
LoginButton.
Tener un LinearLayout con orientacién vertical en el archivo de disejio principal.
Para lograr esto, en el archivo /res/layout /ma in. xml es necesario tener:
COTS ay github &
http://www forosdehweb.com/t165/ https://github.com/androidMDW/guia9completoCURSO ANDROID 116 af
Sao os ee
Conclusi6n
En este capitulo hemos visto varias cosas:
> Utilizacién de un proyecto como libreria (SDK de Facebook para Android), es posible crear un
proyecto sin Activities si no Gnicamente con cédigo para ser utilizado por terceros. En este caso,
nosotros aprovechamos este cédigo creado por alguien mas para nuestra aplicaci6n.
> Uso de librerias externas a través de archivos JAR que se vuelven parte del proyecto, en nuestra
aplicacién de demo de esta forma incluimos OAuth SignPost.
> Conexién con APIs de terceros (Facebook & Twitter) para lograr la autenticacién, vimos dos opcio-
nes que podemos manejar para poder identificar a los usuarios de nuestras aplicaciones. La libre-
ria de OAuth SignPost es posible utilizarla también con algunos otros proveedores que trabajan
también con OAuth.10
awe
Conectandonos con
Apis de GoogleConectandonos con Apis de Google
Enel decimo capitulo seguimos trabajando con APIs esta vez utilizaremos conexion con 2 APIs de Google:
el de traduccion y el de busqueda de videos en YouTube.
Conexi6n con APIs de Google
La aplicacién que realizaremos nos permitiré realizar la traduccién de un texto pequefio de espafiol a
inglés y ademas realizar una busqueda en YouTube.
Queremos que al finalizar se vea asi:CURSO ANDROID 119 KE
SSS SS Sy 2 eee eee
Disposicion inicial
El tipo de requisiciones que realizaremos a estos APIs no necesita de autenticacién entonces no nece-
sitamos validar ningiin tipo de credenciales. Si quisiéramos, por ejemplo, subir un video a YouTube si
seria necesario autenticarnos.
Para no realizar el trabajo desde cero nos apoyaremos en 2 librerias, una para cada API:
Pagina del proyecto: google-api-translate-java *
Cédigo fuente disponible en Github para descargar *
Pagina del proyecto: google-api-java-client *
La libreria para descargar *
vvvy
Vamos a usar esta libreria en este demo sin preocuparnos mucho del tamajio final de la aplicacién,
al usarla en un ambiente de produccién es muy importante utilizar ProGuard para reducir el tamafio,
encuentran instrucciones detalladas en http://code.google.com/p/google-api-java-client/wiki/Setup
Vamos a importar varias librerias al proyecto, no utilizaremos cédigo base de nuevo para seguir paso a
paso la configuracién:
> Para la parte de traduccién, es un tinico archivo llamado: google-api-translate-java-0.95
> Para la parte de YouTube, del archivo zip que descargamos vamos a elegir 4 archivos, esta
descarga trae varias librerias y sus fuentes, la descripcidn la encuentran en htto://code.google.
Je-api-java-client/wiki/Setup nosotros vamos a utilizar del directorio raiz.
> google-api-client-1.4.1-beta
> google-api-client-googleapis-1.4.1-beta
‘Ademés, para la conexién HTTP y el parsing de JSON otras 2 de las dependencias: del archivo descar-
gado de google-api-java-client dentro de la carpeta dependencies necesitamos:
> guava-r09
1 “1 htto://goosle ittp://google-api-translate-java.googlecode.com/files/google-api-translate-java-0.95.jar
2 http://github.com/richmidwinter/google-api-translate-java
3 http://code. google,com/p/google-api-java-client/
4 http://google-api-java-client.googlecade.com/files/google-api-java-client-1.4.1-beta.zipCURSO ANDROID 12 af
SSS SS > Se ee Se
1. | LinearLayout con arreglo horizontal (para la etiqueta y el boton).
2 | ListView para los elementos del feed.
Nuestro archivo /res/layout /ma in. xm quedaria entonces de la siguiente forma:
Jcssigo evant
CURSO ANDROID 122 KE
SSS SS Sy 2 eee eee
Disejio
El disefio tendré 2 partes, para la traduccién utilizaremos un TextView que le indique al usuario que
hacer
eTextview
android: Layout_width=
android: layout_height=
fill_parent”
/arap_content”
android: text:
>
"Ingrese €1 t
Luego un LinearLayout para mostrar en fila un EditText para recibir la cadena a traducir y un botén para
realizar la traduccién:
Por ultimo otro TextView que muestre el resultado.
7
Separamos de la siguiente seccién a través de una linea horizontal:
Para la siguiente seccién, la de busqueda en YouTube de manera similar que el caso anterior indicamos
al usuario a través de un TextView que debe ingresar el parémetro de busqueda:
Terminamos con un ListView para mostrar el resultado de la busqueda:
El disefio completo queda de la siguiente formCURSO ANDROID 124 «
"fill_parent”
"a+id/etQueryText”
android:hint="Android sdk”
android: layout_width="wrap_content”
android: layout_height:
adpList = new ArrayAdapter
The Subtle Art of Not Giving a F*ck: A Counterintuitive Approach to Living a Good Life