Java 第二个表数据库SQLite Android Studio上没有数据

Java 第二个表数据库SQLite Android Studio上没有数据,java,sqlite,android-studio,Java,Sqlite,Android Studio,我试图为产品添加第二个表(这是一个简单实用的应用程序),第一个表是为注册用户添加的 添加产品时,日志中没有错误。 但是当我用SQLiteBrowser在第一个表“usuarios”中打开我的DB文件时,有数据,第二个表被创建了,但它没有任何数据,因为应用程序在添加时没有给我任何错误 我是SQLite的新手 SQlitehelper: package com.meyven.registro.sqlite; import android.content.Context; import androi

我试图为产品添加第二个表(这是一个简单实用的应用程序),第一个表是为注册用户添加的

添加产品时,日志中没有错误。 但是当我用SQLiteBrowser在第一个表“usuarios”中打开我的DB文件时,有数据,第二个表被创建了,但它没有任何数据,因为应用程序在添加时没有给我任何错误

我是SQLite的新手

SQlitehelper:

package com.meyven.registro.sqlite;

import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

public class AdminSQLiteOpenHelper extends SQLiteOpenHelper {

    private final int ver = 1;


    private final String usuario = "CREATE TABLE usuarios (id INTEGER primary key autoincrement, Nombre TEXT, Correo TEXT, Password TEXT)";
    private final String productos = "CREATE TABLE productos (id_productos INTEGER primary key autoincrement, Productos TEXT, Cantidad TEXT, Precio TEXT)";



    public AdminSQLiteOpenHelper(@Nullable Context context, @Nullable String name, @Nullable SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }



    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(usuario);
        db.execSQL(productos);

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {



    }

    //METODO ABRIR DB
    public void abrirDB() {
        this.getWritableDatabase();
        this.getReadableDatabase();
    }

    //METODO CERRAR DB
    public void cerrarDB() {
        this.close();
    }


    //METODO QUE PERMITE VALIDAR SI EL USUARIO EXISTE
    public Cursor consultarUsuPas(String usuario, String password) throws SQLException {
        Cursor mcursor = null;
        mcursor = this.getReadableDatabase().query("usuarios", new String[]{"id", "Nombre", "Correo", "Password"},
                "Nombre like '"+usuario+"' and Password like '"+password+"'",
                null,null,null,null);
        return mcursor;
    }

    //METODO PARA VALIDAR REGISTRO SI YA EXISTE
    public Cursor registroExiste(String usuario) throws  SQLException {

        Cursor mCursor = null;
        mCursor = this.getReadableDatabase().query("usuarios", new String[]{"id", "Nombre", "Correo", "Password"},
                "Nombre like '"+usuario+"'",
                null,null,null,null);
        return mCursor;

    }
}
正在添加产品的活动:

package com.meyven.registro.activities;

import androidx.appcompat.app.AppCompatActivity;

import android.content.ContentValues;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.meyven.registro.R;
import com.meyven.registro.sqlite.AdminSQLiteOpenHelper;

public class AgregarProducto extends AppCompatActivity {

    AdminSQLiteOpenHelper helper = new AdminSQLiteOpenHelper(this, "BD", null, 2);

    EditText editTxtProducto, editTxtCantidad, editTxtPrecio;
    Button btnAgregar;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_agregar_producto);

        editTxtProducto = findViewById(R.id.editTxtProducto);
        editTxtCantidad = findViewById(R.id.editTxtCantidad);
        editTxtPrecio = findViewById(R.id.editTxtPrecio);

        btnAgregar = findViewById(R.id.btnAgregar);

        btnAgregar.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                helper.abrirDB();
                insertarProducto(
                        String.valueOf(editTxtProducto),
                        String.valueOf(editTxtCantidad),
                        String.valueOf(editTxtPrecio)
                        );
                helper.cerrarDB();

            }
        });


    }


    public void insertarProducto(String producto, String cantidad, String precio) {


        if(!producto.isEmpty() && !cantidad.isEmpty() && !precio.isEmpty()) {

            ContentValues products = new ContentValues();
            products.put("Productos", producto);
            products.put("Cantidad", cantidad);
            products.put("Precio", precio);

            helper.getWritableDatabase().insert("productos", null, products);

            editTxtProducto.setText("");
            editTxtCantidad.setText("");
            editTxtPrecio.setText("");


            Toast.makeText(this, "Registro exitoso", Toast.LENGTH_SHORT).show();
            Intent i = new Intent (getApplicationContext(), HomeActivity.class);
            i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(i);

        } else {

            Toast.makeText(this, "Debes llenar todos los campos", Toast.LENGTH_LONG).show();

        }

    }



}
第一个正常工作的表的活动(用户注册)

package com.meyven.registro.activities;

import androidx.appcompat.app.AppCompatActivity;

import android.content.ContentValues;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.meyven.registro.R;
import com.meyven.registro.sqlite.AdminSQLiteOpenHelper;


public class RegisterActivity extends AppCompatActivity {

    EditText editTextNombreReg, editTextPassReg, editTextCorreoReg;
    Button btnRegister;

    AdminSQLiteOpenHelper helper = new AdminSQLiteOpenHelper(this, "BD", null, 1);


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);

        btnRegister = findViewById(R.id.btnRegister);
        editTextNombreReg = findViewById(R.id.editTextNombreReg);
        editTextPassReg = findViewById(R.id.editTextPassReg);
        editTextCorreoReg = findViewById(R.id.editTextCorreoReg);

        btnRegister.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                helper.abrirDB();
                String usuarioReg = editTextNombreReg.getText().toString();
                Cursor cursor = helper.registroExiste(usuarioReg);
                if(cursor.getCount() > 0 ) {
                    Toast.makeText(RegisterActivity.this, "Usuario existente", Toast.LENGTH_SHORT).show();
                } else {
                    insertarRegistro(
                            String.valueOf(editTextNombreReg.getText()),
                            String.valueOf(editTextPassReg.getText()),
                            String.valueOf(editTextCorreoReg.getText()));
                    helper.cerrarDB();
                }
            }
        });

    }

    //METODO QUE PERMITE INSERTAR REGISTROS EN LA TABLA USUARIOS
    public void insertarRegistro(String nombre, String password, String correo) {
        ContentValues valores = new ContentValues();
        valores.put("Nombre", nombre);
        valores.put("Password", password);
        valores.put("Correo", correo);

        helper.getWritableDatabase().insert("usuarios", null, valores);

        Toast.makeText(this, "Registro exitoso", Toast.LENGTH_SHORT).show();

        Intent i = new Intent (getApplicationContext(), MainActivity.class);
        i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(i);

    }


}