Introducción a Android y conexión con SharePoint

Post on 12-Jul-2015

192 views 0 download

Tags:

Transcript of Introducción a Android y conexión con SharePoint

The Birchman Group

CONFIDENTIAL AND PROPRIETARYAny use of this material without specific permission of The Birchman Group is strictly prohibited.

Android + SharePoint

Albert Lozano

2

ÍNDICE

Android

Publicación

Herramientas de desarrollo

Ciclo de vida

Estructura de proyecto

Elementos de desarrollo

Android + SharePoint

Acceso a SharePoint

API REST

Autenticación

3

Publicación

Registro en la consola de Google Play para desarrolladores.

Pago de cuota de registro única de 25 USD mediante Google Wallet.

Indicar información de contacto (Google Play Store).

4

Publicación

La consola de desarrollador permite:

• Recoger estadísticas (descargas por versión , país, etc).

• Conceder permisos a otros usuarios.

• Restringir app para determinadas versiones o países.

• Definir precio de la app, precio compras in-app, etc.

• Lanzamiento de versiones alpha y beta para determinados usuarios definidos por el desarrollador.

5

Herramientas de desarrollo

Java Development Kit (JDK).

Android Studio o Eclipse IDE + ADT plugin.

Android SDK (librerías, documentación, emulador, etc).

6

Herramientas de desarrollo

Android Studio

Basado en IntelliJ.

Hace uso de las herramientas de compilación Gradle (basado en Maven).

Drag-and-drop GUI.

AVD Manager: crear dispositivos virtuales

SDK Manager: instalar librerías y documentación

7

Ciclo de vida

Activity: componente que proporciona una ventana con la cual el usuario puede interactuar.

Resumed: la activity está en primer plano y el usuario puede interactuar con ella.

Paused: otra activity está en primer plano pero ésta es todavía parcialmente visible o no cubre toda la pantalla. (i.e. Pop Up).

Stopped: activity en background y no visible.

El sistema puede destruir las activities cuando están en stopped o paused si se necesitan recursos.

8

Ciclo de vida

Solución

Guardar estado de la actividad – onSaveInstanceState()

Recuperar el estado de la actividad al crearla de nuevo.

TRANSPARENTE PARA EL USUSARIO!

9

Estructura de proyecto

Android Studio Eclipse Clases .java: contienen el código fuente de las

activities.

Res:

Layouts

Drawable: imágenes en diferentes resoluciones.

Values: strings y dimensiones.

AndroidManifest.xml:

Declarar todos los componentes de la app.

Definir permisos (i.e. acceso internet).

Definir capacidades hardware y software que utilizará la app (cámara, bluetooth…).

Declarar la versión mínima requerida.

build.gradle: dependencias a librerías externas.

10

Elementos de desarrollo

Linear Layout: ordena los elementos hijos en una sola fila vertical u horizontal. Automáticamente crea un scrollbar si los elementos superan el ancho o altura de la pantalla

Relative Layout: permite especificar la posición relativa de los elementos entre ellos.

Web View: muestra páginas web.

11

Elementos de desarrollo

Button

Text Field

Checkbox

Radio button

Spinners

Dialog

Toggle button

Google APIs:

Google Maps

Google+

Google Analytics

Google Cloud Messaging

12

Elementos de desarrollo

Drag-and-drop UI designer

13

Elementos de desarrollo

AVD

14

Soporte múltiples resoluciones

res/layout-w600dp/activity_main.xml (tables de 7”)

res/layout-w720dp/activity_main.xml (tablets de 10”)

Soporte de múltiples idiomas

Se cargan los recursos adecuados en función de la configuración “locale” del dispositivo.

Elementos de desarrollo

15

Elementos de desarrollo

Imágenes para múltiples resoluciones

ldpi: ~120dpi

mdpi: ~160dpi

hdpi: ~240dpi

xhdpi: ~320dpi

xxhdpi: ~480dpi

px = dp * (dpi / 160)

1px = 1dp in a 160dpi screen

USAR SIEMPRE MEDIDAS EN DP!!!

16

SHAREPOINT

17

Acceso a Sharepoint

SOAPWeb Services

(ASMX)

Client Side ObjectModel

(CSOM/JSOM)

API REST(ODATA)

Open Standards

XML

Microsoft propietary

XML/JSON

Open Standards

ATOM/JSON

18

Acceso a Sharepoint

SharePoint 2010 Web Service Access SharePoint 2010 Web Service Clients

SharePoint 2013 Web Service Access SharePoint 2013 Web Service Clients

19

API REST

Eficiente para operaciones simples.

HTTP y estándares abiertos.

Realizar operaciones CRUD (GET, POST, PUT, DELETE).

Independiente de la plataforma.

Soporta los fotmatos ATOM+XML y JSON (se indica en las cabeceras).

Para acceder a una determinada site collection:

http://server/site/_api/site

Para acceder a un determinado site:

http://server/site/_api/web

20

API REST

Descripción URL endpoint Método HTTP

Contenido body

Leer título de una site _api/web/title GET *

Leer metadata de una lista

_api/web/lists/getbytitle('listname') GET *

Leer ítems de una lista _api/web/lists/getbytitle('listname')/items GET *

Añadir ítem a una lista _api/web/lists/getbytitle('listname')/items POST {'_metadata':{'type':SP.listnameListItem},'Title': 'MyItem' }

21

Autenticación

Query options

Ej: _api/web/lists/getByTitle('Customers')/items?$select=Title

Opción Propósito

$select Especifica los campos que se incluyen en los

datos devueltos.

$top Devuelve solo los n primeros elementos de una

colección o lista.

$skip Omite los n primeros elementos de una

colección o lista y devuelve todo lo demás.

$orderby Especifica los campos que se usan para ordenar

los datos antes de devolverlos.

22

Autenticación

Autenticación NTLM

Activar Windows Authentication en el IIS.

Conexión persistente (autenticación en la primera petición).

Cliente Servidor