none
Leer Codigo de Barras y guardar en Data Base desde Android Studio RRS feed

  • Pregunta

  • Buen día, 

    Estoy desarrollando una aplicación en Android Studio de leer un codigo qr o codigo de barras y la informacion que manda al editText la guarde en una base de datos en SQL Server 2008 r2 pero no se como guardar el barcode o qrcode, ya tengo mi codigo para el Lector del Codigo, les comparto el codigo:

    import android.os.Bundle;
    import android.view.View;
    import android.app.Activity;
    import android.widget.Toast;
    import android.widget.Button;
    import android.os.StrictMode;
    import android.content.Intent;
    import android.widget.TextView;
    import android.support.annotation.Nullable;
    import android.support.v7.app.AppCompatActivity;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    import com.google.zxing.integration.android.IntentResult;
    import com.google.zxing.integration.android.IntentIntegrator;
    
    public class MainActivity extends AppCompatActivity {
        private Button btnScan;
        private TextView txtInfo;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            btnScan = (Button) findViewById(R.id.btnScan);
            final Activity activity = this;
            txtInfo = (TextView) findViewById(R.id.txtInfo);
    
            btnScan.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    IntentIntegrator integrator = new IntentIntegrator(activity);
                    //integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES); //Solo codigos QR
                    integrator.setDesiredBarcodeFormats(IntentIntegrator.ALL_CODE_TYPES); //QR y Codigos de barra
                    integrator.setPrompt("Code Scanner");
                    integrator.setCameraId(0);
                    integrator.setBeepEnabled(false);
                    integrator.setBarcodeImageEnabled(false);
                    integrator.initiateScan();
                }
            });
        }
    
        //Lanza el resultado o información del QR leído
        protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
            IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
            if (result != null) {
                //txtInfo.setText("" + result.getContents());
    
                if (result.getContents() == null) {
                    Toast.makeText(this, "No se logró escanear su código, intentelo más tarde.", Toast.LENGTH_LONG).show();
                } else {
                    txtInfo.setText("" + result.getContents());
                    //Toast.makeText(this, result.getContents(), Toast.LENGTH_LONG).show();
                }
            } else {
                super.onActivityResult(requestCode, resultCode, data);
            }
        }

    Pero espero me ayuden para que el codigo leído lo guarde en sql server 2008 r2 

    Gracias. Saludos

    viernes, 7 de diciembre de 2018 17:16

Respuestas

  • hola

    Es que el barcode o QR no se guarda, lo que guardas en la db solo es el codigo, letras y numeros que lo forman

    el barcode o QR es solo una representacion del codigo para ser leido por un dispositivo, este siemrpe se genera cada vez que debas mostarlo

    Si tu aplicacion leer un codigo entonces guardas este de forma plana como dato simple en n campo varchar o int, segun sea numerico o alfanumerico

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Cashmere VM viernes, 7 de diciembre de 2018 21:50
    viernes, 7 de diciembre de 2018 21:08
  • pero porque android studio tiene una base de datos? no era que lo persistes en Sql Server

    quizas estes definendo una db local con Sqlite o alguna similar, la verdad es que no programe nunca en java para android

    pero entiendo que si vas a persitir en sql server debes enviar esta info invocando un servicio web o webapi

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Cashmere VM lunes, 10 de diciembre de 2018 15:36
    viernes, 7 de diciembre de 2018 22:04

Todas las respuestas

  • Hola  Cashmere M

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, te comento que estaremos realizando una revisión a profundidad acerca del inconveniente que se te está presentando.

    Proporcionaremos una respuesta lo más pronto posible.

    Gracias por usar los foros de MSDN.

    Pedro Alfaro
     ____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.
    viernes, 7 de diciembre de 2018 19:42
    Moderador
  • Gracias Pedro Alfaro, 

    Espero puedan ayudarme en verdad, es una de las cuestiones que me traen con dolor de cabeza ya que no encuentro información al respecto. Se que no hay mucha información respecto a las plataformas moviles pero si pueden ayudarme estaría agradecida con ustedes, gracias.

    Saludos

    viernes, 7 de diciembre de 2018 20:05
  • hola

    Es que el barcode o QR no se guarda, lo que guardas en la db solo es el codigo, letras y numeros que lo forman

    el barcode o QR es solo una representacion del codigo para ser leido por un dispositivo, este siemrpe se genera cada vez que debas mostarlo

    Si tu aplicacion leer un codigo entonces guardas este de forma plana como dato simple en n campo varchar o int, segun sea numerico o alfanumerico

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Cashmere VM viernes, 7 de diciembre de 2018 21:50
    viernes, 7 de diciembre de 2018 21:08
  • Gracias Leandro, Ahora como hago para guardar esa información en android studio. Es como si lo que hay en el edittext se guarde automáticamente en la base de datos, pero no se como guardarlo en adroid studio

    Nuevamente gracias

    viernes, 7 de diciembre de 2018 21:50
  • pero porque android studio tiene una base de datos? no era que lo persistes en Sql Server

    quizas estes definendo una db local con Sqlite o alguna similar, la verdad es que no programe nunca en java para android

    pero entiendo que si vas a persitir en sql server debes enviar esta info invocando un servicio web o webapi

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Cashmere VM lunes, 10 de diciembre de 2018 15:36
    viernes, 7 de diciembre de 2018 22:04
  • Hola Leandro Tuttini, 

    Termine utilizando SQLite que es propio de android, pero me gustaría saber donde se almacenan la B.D. o en que dirección la puedo encontrar, recuerden que estoy en android studio pero ya le busque por todos lados y no veo el SQLite para ver la tabla donde almacenan los datos que guardo.

    Espero puedas ayudarme, comprendo que nunca programaste en estas plataformas pero si sabes donde puedo encontrarlo o lo que sea, será de gran ayuda.

    Gracias.

    lunes, 17 de diciembre de 2018 15:46