Upload
albert-lozano-ciller
View
192
Download
0
Tags:
Embed Size (px)
Citation preview
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