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

Entradas más populares de este blog

Conexion JDBC - JAVA a travès de un archivo Properties

Para conectar a bases de datos con el archivo properties necesitas definir la siguiente estructura:

Rutas de los Archivos Properties, es esas rutas tienes que haber creado tus archivos properties:

package com.develtrex.util;
import java.net.URL;
/**
 *
 * @author 007M
 */
public class Ruta {
    private final String dbOracle="/com/develtrex/propiedad/dboracle.properties";
    private final String dbMysql="/com/develtrex/propiedad/dbmysql.properties";
    private final String dbPostgres="/com/develtrex/propiedad/dbpostgres.properties";
    private final String dbSqlServer="/com/develtrex/propiedad/dbsqlserver.properties";

    public URL getFileDbOracle(){
        return getClass().getResource(dbOracle);
    }

    public URL getFileDbMysql(){
        return getClass().getResource(dbMysql);
    }

    public URL getFileDbPostgres(){
        return getClass().getResource(dbPostgres);
    }

    public URL getFileDbSqlServer(){
        return getClass…

Registrar driver oracle en iReport 3.7.1

Esta entrada la estoy escribiendo porque en algún momento necesite conectar ireport con mi base de oracle, para asi poder crear reportes, además aquí tambien se registran los archivos Jar para ordenar las columnas de un crosstab, pero esto lo explicare en otra entrada.
Bueno comenzemos, primero que nada abra su ireport la versión que tuviese. Luego de esto solo seguir todos los pantallazos que colocaré.
fig 1: Drivers para conexión a bases de datos.
En la fig1 se muestran todos lo drivers con los cuales se establece la conexión a base de datos a través de ireport, como se puede observar hay drivers de color rojo y negro, los negros están activos y los rojos son los drivers que aún no han sido registrados, en esta ocasión vamos a registrar el driver para conectarnos a una base de datos oracle.
Registrando el driver de oracle:
fig 2: Pestaña herramientas, subitem opciones
Una vez que hacemos click en el item Opciones nos saldra una ventana como la imagen de la fig 3.
fig 3: Ventana …

MÉTODO DE AUTENTICACIÓN POR CLAVE PÚBLICA ALMACENADA EN MEMORIA RAM

DATOS DEL INVESTIGADORInvestigadorNombres y apellidos:Jonathan Franchesco Torres BacaEdad:27Teléfono:958429349E-mail: Chescot2302@gmail.comNúmero de DNI [1]45329234Dirección:Av Gran Chimu 1264 – La Victoria , ChiclayoDepartamento:Lambayeque