Ir al contenido principal

Google Cloud Endpoints - Parte 10

En esta decima entrega, les mostrare como consumir de manera local su Google Cloud Endpoints.

Primero tenemos que importar nuestras librerias cargadas a un repositorio maven local a través de Gradle, el prerequisito es crear un proyecto en android con las configuraciones por defectos o personalizadas que ustedes requieran.

Luego hay que ir al archivo "build.gradle (Module App)" y agregar las siguientes lineas:

compile([group: 'com.google.api-client', name: 'google-api-client-android', version: '1.22.0'])
compile ([group: 'com.indiant', name: 'ws-gestionmantenimiento', version: 'v1-1.22.0-SNAPSHOT'])
 

repositories {
    mavenCentral()
    mavenLocal()
}
 
Ver la siguiente imagen, donde resalte de color azul en que ubicación
del archivo debe ir:
 


Ahora hay que volver a sincronizar el gradle, dandole click en el
icono de la barra de herramientas.

No olvides agregar el siguiente permiso en tu archivo ANDROID MANIFEST.

<uses-permission android:name="android.permission.INTERNET" />
 
 
Ahora solo resta agregar el codigo que permite consumir nuestro api
rest generado por Google Cloud Endpoints.
 
Acontinuacion el codigo de la activity:
 
package com.indiant.android_indiant;

import android.content.Context;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;

import com.google.api.client.extensions.android.http.AndroidHttp;
import com.google.api.client.extensions.android.json.AndroidJsonFactory;
import com.google.api.client.googleapis.services.AbstractGoogleClientRequest;
import com.google.api.client.googleapis.services.GoogleClientRequestInitializer;
import com.indiant.ws.gestionMantenimiento.GestionMantenimiento;
import com.indiant.ws.gestionMantenimiento.model.Pais;
import com.indiant.ws.gestionMantenimiento.model.ReturnValue;

import java.io.IOException;

public class MainActivity extends AppCompatActivity {

    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        new EndpointsAsyncTask1().execute(this);
    }

    class EndpointsAsyncTask1 extends AsyncTask<Context, Void,ReturnValue> {
        private GestionMantenimiento myApiService = null;
        private Context context;

        @Override        protected ReturnValue doInBackground(Context... params) {
            if(myApiService == null) {  // Only do this once                GestionMantenimiento.Builder builder = new GestionMantenimiento.Builder(AndroidHttp.newCompatibleTransport(),
                        new AndroidJsonFactory(), null)
                        .setRootUrl("http://10.0.2.2:8888/_ah/api/")//COMENTAR LINEA SI TU BACKEND ESTA DEPLOYADO                        .setGoogleClientRequestInitializer(new GoogleClientRequestInitializer() {
                            @Override                            public void initialize(AbstractGoogleClientRequest<?> abstractGoogleClientRequest) throws IOException {
                                abstractGoogleClientRequest.setDisableGZipContent(true);
                            }
                        });
                myApiService = builder.build();
            }
            context = params[0];
            try {
                Pais bean=new Pais();
                bean.setIdPais("co");
                bean.setNombre("colombia");
                ReturnValue values=myApiService.insertarPais(bean).execute();
                return values;
            } catch (IOException e) {
                return null;
            }
        }

        @Override        protected void onPostExecute(ReturnValue result) {
                Toast.makeText(context,result.toString(), Toast.LENGTH_LONG).show();
        }
    }
}  
 
Ahora estamos listos para realizar las pruebas, entonces primero
debemos ejecutar el backend creado en eclipse y luego ejecutar la
app en android, si ya tienes el proyecto deployado en Google App
Engine comenta la siguiente linea:
 
.setRootUrl("http://10.0.2.2:8888/_ah/api/")//COMENTAR LINEA SI TU BACKEND ESTA DEPLOYADO

Una vez ejecutado obtendremos el siguiente resultado:


Como podemos ver en la imagen anterior, me devuelve un valor booleano,
además hay que comprobar si se guardo en el datastore local.


Bueno con esto hemos culminado la serie de articulos escritos para
Kiongo Technology. 
Antes de despedirme los animo a probar el método listar paises y 
comentan sus resultado.

Sin más me despido hasta la proxima consultoría que adquiera Kiongo
Technology con mi persona.

Escrito por:
Ronald Tejada

Comentarios

Entradas más populares de este blog

Configurar SQL Server 2005 para poner a la escucha el puero 1433

Como ustedes ya saben para poder conectarse a una base de datos sql a través de JDBC es necesario que el puerto 1433 se encuentre a la escucha de conexiones, muchos de nosotros hemos tenido este problema, bueno la solución es configurar a  través de la aplicacion "SQL SERVER CONFIGURATION MANAGER", ver figura numero1. fig 01 Luego hacer doble click en el item "Protocols for SQLEXPRESS", ver figura 02 fig 02 Como podemos observar en la figura 02 en la area de contenidos existe un item llamado "TCP/IP" este tiene que estar habilitado o en ingles "enabled" bueno ahora en este item hacemos un doble click para que nos aparezca una ventana como la siguiente, en la cual nos vamos a ubicar en la pestaña "IP ADRESSES", en esta pestaña se tiene que configurar los puertos. fig 03  En la figura 04 se observara que todos los item de TCP Dynamic Ports tienen al cero "0" por valor y TCP port esta ...

install mysql 5.6 database on ubuntu 20.04

Command List: wget http://launchpadlibrarian.net/418347043/multiarch-support_2.29-0ubuntu2_amd64.deb sudo dpkg -i multiarch-support_2.29-0ubuntu2_amd64.deb sudo dpkg -i mysql-common_5.6.40-1ubuntu14.04_amd64.deb sudo dpkg -i libmysqlclient18_5.6.40-1ubuntu14.04_amd64.deb sudo dpkg -i libmysqlclient-dev_5.6.40-1ubuntu14.04_amd64.deb sudo dpkg -i libmysqld-dev_5.6.40-1ubuntu14.04_amd64.deb sudo apt install  libtinfo5 sudo apt install libncurses5 sudo apt install -f sudo dpkg -i mysql-community-client_5.6.40-1ubuntu14.04_amd64.deb sudo dpkg -i mysql-client_5.6.40-1ubuntu14.04_amd64.deb sudo dpkg -i mysql-community-server_5.6.40-1ubuntu14.04_amd64.deb sudo dpkg -i mysql-community-bench_5.6.40-1ubuntu14.04_amd64.deb sudo dpkg -i mysql-community-source_5.6.40-1ubuntu14.04_amd64.deb sudo dpkg -i mysql-server_5.6.40-1ubuntu14.04_amd64.deb sudo apt install python2 sudo apt install -f sudo dpkg -i mysql-community-test_5.6.40-1ubuntu14.04_amd64.deb sudo dpkg -i mysql-testsuite_5.6.40-1ubuntu1...

Codigo Fuente del Sistema de Proyección Social

Amigos disculpen por el retraso, a raíz de la ley SOPA y PIPA me entretuve tratando de ver como solucionar mi problema de mi cuenta y mis archivos que estaban contenidos en megaupload,  por esta razon pienso publicarlos en DROPBOX, claro que para que ustedes tengan acceso a la carpeta donde colgaré el código fuente y Script de base de datos necesitaria de sus correos, nadie los obliga a que me los brinden, pero si desean tener el aplicativo completo necesito compartirlo de esta manera, espero me entienda Hasta Pronto. Especificaciones: Instalar Oracle 10g o superior ya sea en version EXPRESS o Enterprise. Instalar JDK 7. Software desarrollado con IDE NetBeans version 7.0.1, el cual soporta JDK 7. Si desean configurar el software para su propia facultad lo único necesario es hacer que el ID de la universidad se 1 en la tabla Universida, ya que lo habia pensado a nivel macro. Bueno me dejan sus correos y los agrego como colaboradores a mi carpeta. ...