22
CONFIDENTIAL AND PROPRIETARY Any use of this material without specific permission of The Birchman Group is strictly prohibited. Android + SharePoint Albert Lozano

Introducción a Android y conexión con SharePoint

Embed Size (px)

Citation preview

Page 1: 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

Page 2: Introducción a Android y conexión con SharePoint

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

Page 3: Introducción a Android y conexión con SharePoint

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).

Page 4: Introducción a Android y conexión con SharePoint

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.

Page 5: Introducción a Android y conexión con SharePoint

5

Herramientas de desarrollo

Java Development Kit (JDK).

Android Studio o Eclipse IDE + ADT plugin.

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

Page 6: Introducción a Android y conexión con SharePoint

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

Page 7: Introducción a Android y conexión con SharePoint

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.

Page 8: Introducción a Android y conexión con SharePoint

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!

Page 9: Introducción a Android y conexión con SharePoint

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.

Page 10: Introducción a Android y conexión con SharePoint

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.

Page 11: Introducción a Android y conexión con SharePoint

11

Elementos de desarrollo

Button

Text Field

Checkbox

Radio button

Spinners

Dialog

Toggle button

Google APIs:

Google Maps

Google+

Google Analytics

Google Cloud Messaging

Page 12: Introducción a Android y conexión con SharePoint

12

Elementos de desarrollo

Drag-and-drop UI designer

Page 13: Introducción a Android y conexión con SharePoint

13

Elementos de desarrollo

AVD

Page 14: Introducción a Android y conexión con SharePoint

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

Page 15: Introducción a Android y conexión con SharePoint

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!!!

Page 16: Introducción a Android y conexión con SharePoint

16

SHAREPOINT

Page 17: Introducción a Android y conexión con 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

Page 18: Introducción a Android y conexión con SharePoint

18

Acceso a Sharepoint

SharePoint 2010 Web Service Access SharePoint 2010 Web Service Clients

SharePoint 2013 Web Service Access SharePoint 2013 Web Service Clients

Page 19: Introducción a Android y conexión con SharePoint

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

Page 20: Introducción a Android y conexión con SharePoint

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' }

Page 21: Introducción a Android y conexión con SharePoint

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.

Page 22: Introducción a Android y conexión con SharePoint

22

Autenticación

Autenticación NTLM

Activar Windows Authentication en el IIS.

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

Cliente Servidor