SlideShare una empresa de Scribd logo
1 de 22
The Birchman Group
CONFIDENTIAL AND PROPRIETARY
Any 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
SOAP
Web Services
(ASMX)
Client Side Object
Model
(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.listnameL
istItem},
'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

Más contenido relacionado

Destacado

Francis perez mapa conceptual dibujo - copia
Francis perez   mapa conceptual dibujo - copiaFrancis perez   mapa conceptual dibujo - copia
Francis perez mapa conceptual dibujo - copiafrancisyen54
 
The 5th methodology: implementing a holistic approach to mobile research
The 5th methodology: implementing a holistic approach to mobile researchThe 5th methodology: implementing a holistic approach to mobile research
The 5th methodology: implementing a holistic approach to mobile researchMerlien Institute
 
Marketing Strategy for Mr Smart Wash Digital
Marketing Strategy for Mr Smart Wash Digital Marketing Strategy for Mr Smart Wash Digital
Marketing Strategy for Mr Smart Wash Digital Krisnawati Sukmaya
 
Proyectos fundación terpel
Proyectos fundación terpelProyectos fundación terpel
Proyectos fundación terpeljohnjalopez
 
Introducción a google drive
Introducción a google driveIntroducción a google drive
Introducción a google drivejoycegmoreno
 
Estudio Social Travel NH
Estudio Social Travel NHEstudio Social Travel NH
Estudio Social Travel NHConcepto05
 
Diari del 13 de maig de 2015
Diari del 13 de maig de 2015Diari del 13 de maig de 2015
Diari del 13 de maig de 2015diarimes
 
Historia "hora de aventuras"
Historia "hora de aventuras"Historia "hora de aventuras"
Historia "hora de aventuras"Antoniooalm
 
The Future in designing for the sex(es)
The Future in designing for the sex(es)The Future in designing for the sex(es)
The Future in designing for the sex(es)Cathy Wang
 
Curriculum Vitae Maria Aminta Henrich Nonone Warmy Khuyay
Curriculum Vitae Maria Aminta Henrich Nonone Warmy KhuyayCurriculum Vitae Maria Aminta Henrich Nonone Warmy Khuyay
Curriculum Vitae Maria Aminta Henrich Nonone Warmy KhuyayAminta Henrich Warmi Khuyay
 
Semana vocacional 2011
Semana vocacional 2011Semana vocacional 2011
Semana vocacional 2011Josean
 
إدارة الوقت من المنظور الإسلامي والإداري
إدارة الوقت من المنظور الإسلامي والإداريإدارة الوقت من المنظور الإسلامي والإداري
إدارة الوقت من المنظور الإسلامي والإداريMohammad Kettani
 
Portafolio servicios pp presentacion dic09
Portafolio servicios pp  presentacion dic09Portafolio servicios pp  presentacion dic09
Portafolio servicios pp presentacion dic09Grupo Riceli
 
Jcc mahabharata-announcement 1
Jcc mahabharata-announcement 1Jcc mahabharata-announcement 1
Jcc mahabharata-announcement 1Kamesh Aiyer
 
Organizaciones Sanitarias Integradas. El futuro de la sanidad.
Organizaciones Sanitarias Integradas. El futuro de la sanidad.Organizaciones Sanitarias Integradas. El futuro de la sanidad.
Organizaciones Sanitarias Integradas. El futuro de la sanidad.Carlos Alberto Arenas Díaz
 
Tejidos nerviosos
Tejidos nerviososTejidos nerviosos
Tejidos nerviososbebit
 

Destacado (20)

Gic Market In Canada
Gic Market In CanadaGic Market In Canada
Gic Market In Canada
 
Francis perez mapa conceptual dibujo - copia
Francis perez   mapa conceptual dibujo - copiaFrancis perez   mapa conceptual dibujo - copia
Francis perez mapa conceptual dibujo - copia
 
The 5th methodology: implementing a holistic approach to mobile research
The 5th methodology: implementing a holistic approach to mobile researchThe 5th methodology: implementing a holistic approach to mobile research
The 5th methodology: implementing a holistic approach to mobile research
 
Marketing Strategy for Mr Smart Wash Digital
Marketing Strategy for Mr Smart Wash Digital Marketing Strategy for Mr Smart Wash Digital
Marketing Strategy for Mr Smart Wash Digital
 
Proyectos fundación terpel
Proyectos fundación terpelProyectos fundación terpel
Proyectos fundación terpel
 
Inmaculada Senovilla - Mundo Cocina
Inmaculada Senovilla - Mundo CocinaInmaculada Senovilla - Mundo Cocina
Inmaculada Senovilla - Mundo Cocina
 
Introducción a google drive
Introducción a google driveIntroducción a google drive
Introducción a google drive
 
Estudio Social Travel NH
Estudio Social Travel NHEstudio Social Travel NH
Estudio Social Travel NH
 
Circulos de guitarra
Circulos de guitarraCirculos de guitarra
Circulos de guitarra
 
Diari del 13 de maig de 2015
Diari del 13 de maig de 2015Diari del 13 de maig de 2015
Diari del 13 de maig de 2015
 
Historia "hora de aventuras"
Historia "hora de aventuras"Historia "hora de aventuras"
Historia "hora de aventuras"
 
The Future in designing for the sex(es)
The Future in designing for the sex(es)The Future in designing for the sex(es)
The Future in designing for the sex(es)
 
Curriculum Vitae Maria Aminta Henrich Nonone Warmy Khuyay
Curriculum Vitae Maria Aminta Henrich Nonone Warmy KhuyayCurriculum Vitae Maria Aminta Henrich Nonone Warmy Khuyay
Curriculum Vitae Maria Aminta Henrich Nonone Warmy Khuyay
 
Semana vocacional 2011
Semana vocacional 2011Semana vocacional 2011
Semana vocacional 2011
 
إدارة الوقت من المنظور الإسلامي والإداري
إدارة الوقت من المنظور الإسلامي والإداريإدارة الوقت من المنظور الإسلامي والإداري
إدارة الوقت من المنظور الإسلامي والإداري
 
Transparencias
TransparenciasTransparencias
Transparencias
 
Portafolio servicios pp presentacion dic09
Portafolio servicios pp  presentacion dic09Portafolio servicios pp  presentacion dic09
Portafolio servicios pp presentacion dic09
 
Jcc mahabharata-announcement 1
Jcc mahabharata-announcement 1Jcc mahabharata-announcement 1
Jcc mahabharata-announcement 1
 
Organizaciones Sanitarias Integradas. El futuro de la sanidad.
Organizaciones Sanitarias Integradas. El futuro de la sanidad.Organizaciones Sanitarias Integradas. El futuro de la sanidad.
Organizaciones Sanitarias Integradas. El futuro de la sanidad.
 
Tejidos nerviosos
Tejidos nerviososTejidos nerviosos
Tejidos nerviosos
 

Similar a Introducción a Android y conexión con SharePoint

La web como Plataforma con Dojo Toolkit
La web como Plataforma con Dojo ToolkitLa web como Plataforma con Dojo Toolkit
La web como Plataforma con Dojo ToolkitAlex Fuentes
 
App engine
App engineApp engine
App engineThirdWay
 
Django - Plataforma de sitios web
Django - Plataforma de sitios webDjango - Plataforma de sitios web
Django - Plataforma de sitios webjcarazo
 
Intro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en OlotIntro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en Olothojalataverde
 
Taller mobile by trustparency
Taller mobile by trustparencyTaller mobile by trustparency
Taller mobile by trustparencytrustparency
 
Píldora 1: Android intro
Píldora 1: Android introPíldora 1: Android intro
Píldora 1: Android introhojalataverde
 
Desarrollo de aplicaciones sobre plataformas flash
Desarrollo de aplicaciones sobre plataformas flashDesarrollo de aplicaciones sobre plataformas flash
Desarrollo de aplicaciones sobre plataformas flashFutura Networks
 
Curso Iniciacion android
Curso Iniciacion androidCurso Iniciacion android
Curso Iniciacion androidZix Stdio
 
Curso Android Tema 2
Curso Android Tema 2Curso Android Tema 2
Curso Android Tema 2Frank Jorge
 
MobileCONGalicia Introducción a Android
MobileCONGalicia Introducción a AndroidMobileCONGalicia Introducción a Android
MobileCONGalicia Introducción a AndroidAlberto Ruibal
 
LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"Alberto Ruibal
 
Curso de programacion en android
Curso de programacion en androidCurso de programacion en android
Curso de programacion en androidEscurra Walter
 

Similar a Introducción a Android y conexión con SharePoint (20)

La web como Plataforma con Dojo Toolkit
La web como Plataforma con Dojo ToolkitLa web como Plataforma con Dojo Toolkit
La web como Plataforma con Dojo Toolkit
 
App engine
App engineApp engine
App engine
 
DotNetDom: El futuro de Xamarin
DotNetDom: El futuro de XamarinDotNetDom: El futuro de Xamarin
DotNetDom: El futuro de Xamarin
 
Django - Plataforma de sitios web
Django - Plataforma de sitios webDjango - Plataforma de sitios web
Django - Plataforma de sitios web
 
Intro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en OlotIntro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en Olot
 
Curso Desarrollo Android
Curso Desarrollo AndroidCurso Desarrollo Android
Curso Desarrollo Android
 
Taller mobile by trustparency
Taller mobile by trustparencyTaller mobile by trustparency
Taller mobile by trustparency
 
Píldora 1: Android intro
Píldora 1: Android introPíldora 1: Android intro
Píldora 1: Android intro
 
Android studio
Android studioAndroid studio
Android studio
 
Desarrollo de aplicaciones sobre plataformas flash
Desarrollo de aplicaciones sobre plataformas flashDesarrollo de aplicaciones sobre plataformas flash
Desarrollo de aplicaciones sobre plataformas flash
 
Curso Iniciacion android
Curso Iniciacion androidCurso Iniciacion android
Curso Iniciacion android
 
Curso Android Tema 2
Curso Android Tema 2Curso Android Tema 2
Curso Android Tema 2
 
Android basics
Android basicsAndroid basics
Android basics
 
Desarrollo Plataforma Flash
Desarrollo Plataforma FlashDesarrollo Plataforma Flash
Desarrollo Plataforma Flash
 
MobileCONGalicia Introducción a Android
MobileCONGalicia Introducción a AndroidMobileCONGalicia Introducción a Android
MobileCONGalicia Introducción a Android
 
Android basics v3
Android basics v3Android basics v3
Android basics v3
 
LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"
 
Android
AndroidAndroid
Android
 
Curso de programacion en android
Curso de programacion en androidCurso de programacion en android
Curso de programacion en android
 
Python en Android
Python en AndroidPython en Android
Python en Android
 

Introducción a Android y conexión con SharePoint

  • 1. The Birchman Group CONFIDENTIAL AND PROPRIETARY Any use of this material without specific permission of The Birchman Group is strictly prohibited. Android + SharePoint Albert Lozano
  • 2. 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. 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. 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. 5 Herramientas de desarrollo  Java Development Kit (JDK).  Android Studio o Eclipse IDE + ADT plugin.  Android SDK (librerías, documentación, emulador, etc).
  • 6. 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. 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. 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. 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. 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. 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. 12 Elementos de desarrollo  Drag-and-drop UI designer
  • 14. 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. 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!!!
  • 17. 17 Acceso a Sharepoint SOAP Web Services (ASMX) Client Side Object Model (CSOM/JSOM) API REST (ODATA)  Open Standards  XML  Microsoft propietary  XML/JSON  Open Standards  ATOM/JSON
  • 18. 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. 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. 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.listnameL istItem}, 'Title': 'MyItem' }
  • 21. 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. 22 Autenticación  Autenticación NTLM  Activar Windows Authentication en el IIS.  Conexión persistente (autenticación en la primera petición). Cliente Servidor