24
GOOGLE ANDROID José Miguel López Pérez

Configuración y uso Google Drive en Android

Embed Size (px)

Citation preview

GOOGLEANDROID

José Miguel López Pérez

GOOGLE CLOUD

La "nube" es una cosa muy dispersa y debemos saber ubicar

Google Drive dentro de todo este mundo.

"Infrastructure as a service" como medio

de entrega y de almacenamiento básico

con capacidades de cómputo y servicios

estandarizados en la red.

Si nos fijamos en los servicios que se

montan sobre G Drive, tales como

Google Docs & Spreadsheets, se ubican

en la capa de SaaS, "Software as a

Service"

Google Drive, básicamente ofrece un espacio de almacenamiento accesible, al que podemos conectar con nuestros clientes, y almacenar archivos de todo tipo.

Como este espacio de almacenamiento es accesible desde cualquier lugar, se permiten crear aplicaciones que permitan realizar trabajo colaborativo desde varios clientes simultáneamente.

GOOGLE

Para poder aprovechar Google Drive en nuestras aplicaciones, Google nos proporciona las "APIs", y la ofrece para los siguientes lenguajes :

Java, PHP, JavaScript, .NET, Python, Ruby, Go, Node.js

Y en especial para Android y iOS.

GOOGLE ANDROID

Pasos a seguir configurar

entorno y proyecto :

1. Instalar los Extras:

Desde Android SDK Manager instalar:

Google Play services

Google Repository

Instalar una API

compatible:

Android 4.2.2 (API 17)

Incluir la librería :

“google-play-services_lib” en el proyecto.

Necesitamos especificar las dependencias,

donde se especifica como se realiza el

compilado, este archivo es el build.gradle.

¿QUE ES GRADLE?

Gradle es una herramienta para automatizar la construcción de nuestros proyectos, por ejemplo las tareas de compilación, testing, empaquetado y el despliegue de los mismos.

Verifica si hubo algún cambio en el código fuente después de la última compilación, si es así re-compila todo, si no se ahorra la tarea.

Utiliza Groovy, como lenguaje.

Es una alternativa a Ant y a GNU Make.

¿QUE ES GRADLE?

http://groovy.codehaus.org/

<?xml version="1.0“ encoding="UTF-8"?><project default="all">

<target name="all"><echo message="Hello" />

</target></project>

defaultTasks 'all‘task all {

doLast {println 'Hello'

}}

all:echo "Hello"

Ant Make

Gradle

apply plugin: 'android’...

dependencies {

compile 'com.android.support:appcompat-v7:+' compile 'com.google.android.gms:play-services:4.0.30'

}

<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />

Añadir en el App manifest un nuevo hijo a <application >

En la mayoría de los proyectos que realicemos es

opcional, pero dado que en este tipo de proyectos

necesitamos autentificamos con nuestro servicio

en el Cloud, necesita almacenar las credenciales de

forma segura, esta característica se convierte en

obligatoria.

Es una herramienta, que se encarga de optimizar, limpiar y obfuscar nuestro código.

Esto lo hace eliminado clases inútiles, renombrado clases y métodos con nombres sin significado semántico y ocultando las cadenas de caracteres.

El resultado es un .apk más reducido, y con una dificultad superior para realizar ingeniería inversa.

Solo se ejecuta cuando hacemos la Exportación a APK, (puesto que no podríamos depurar la aplicaciones)

Problemas, los cambios de nombre tiene problemas.

Los Activitys fallarán al no estar contemplados en el Manifiest

Las referencias de R pueden provocar distintos errores

Los ENUMs parece que también dar algún problema que otro.

Solución:

Añadir excepciones para que ProGuard no modifique ciertos ficheros.

-keep class * extends java.util.ListResourceBundle {

protected Object[][] getContents(); }

-keep public classcom.google.android.gms.common.internal.safeparcel.SafeParcelable {

public static final *** NULL; }

-keepnames @com.google.android.gms.common.annotation.KeepName class * -keepclassmembernames class * {

@com.google.android.gms.common.annotation.KeepName *; }

-keepnames class * implements android.os.Parcelable {

public static final ** CREATOR; }

proguard-project.txt

- Ir a la Google Console, https://console.developers.google.com/project

- Crear un nuevo proyecto.

Entrar en Credentials, selecionar"CREATE NEW CLIENT ID", y completar con la firma SHA1 (que enseño a continuación como se crea), y con el nombre exacto del package.

keytool -exportcert -alias androiddebugkey -keystore

<path_to_debug_or_production_keystore> -list -v

C:\Program Files (x86)\Java\jre7\bin

http://publib.boulder.ibm.com/tividd/td/TRM/SC23-4822 00/es_ES/HTML/user284.htm

Documentación:

Siguiendo la documentación de la API de Drive para Android.

[GitHub Android quickstart]

(https://github.com/googledrive/android-quickstart)