APP de cadastro com gravação no banco SQLite

Vamos criar nosso projeto na api 23 Android 6 (Marshmallow)

Estrutura final do Projeto:

Vamos criar a primeira classe: Cliente
Nessa Classe iremos definir as variáveis do Cliente, os construtores, toString e métodos GET e SET

package entity;

import java.io.Serializable;

public class Cliente implements Serializable{

    private Integer idCliente;
    private String nome;
    private String email;
    private String cpf;
    private String telefone;

    public Cliente() {
    }

    public Cliente(Integer idCliente, String nome, String email, String cpf) {
        this.idCliente = idCliente;
        this.nome = nome;
        this.email = email;
        this.cpf = cpf;
    }

    @Override
    public String toString() {
        return "Cliente{" +
                "idCliente=" + idCliente +
                ", nome='" + nome + '\'' +
                ", email='" + email + '\'' +
                ", cpf='" + cpf + '\'' +
                ", telefone='" + telefone + '\'' +
                '}';
    }

    public Integer getIdCliente() {
        return idCliente;
    }

    public void setIdCliente(Integer idCliente) {
        this.idCliente = idCliente;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getCpf() {
        return cpf;
    }

    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public String getTelefone() {
        return telefone;
    }

    public void setTelefone(String telefone) {
        this.telefone = telefone;
    }
}
						

Agora vamos para a próxima classe : Ingresso
Assim como na Classe Cliente vamos definir as variáveis, os construtores, toString e métodos GET e SET só que dessa vez da Classe Ingresso

package entity;

import java.io.Serializable;

public class Ingresso implements Serializable {
    private Integer idIngresso;
    private String nome;
    private String cpf;
    private Double total;
    private Integer quantidade;
    private Double preco;
    private String data;
    private String evento;
    private String enderecoEvento;

    public Integer getQuantidade() {
        return quantidade;
    }

    public void setQuantidade(Integer quantidade) {
        this.quantidade = quantidade;
    }

    public Double getPreco() {
        return preco;
    }

    public void setPreco(Double preco) {
        this.preco = preco;
    }

    public Ingresso() {
    }

    public Ingresso(Integer idIngresso, String nome, String cpf, Double total, String data, String evento, String enderecoEvento) {
        this.idIngresso = idIngresso;
        this.nome = nome;
        this.cpf = cpf;
        this.total = total;
        this.data = data;
        this.evento = evento;
        this.enderecoEvento = enderecoEvento;
    }

    @Override
    public String toString() {
        return "Ingresso{" +
                "idIngresso=" + idIngresso +
                ", nome='" + nome + '\'' +
                ", cpf='" + cpf + '\'' +
                ", total=" + total +
                ", data='" + data + '\'' +
                ", evento='" + evento + '\'' +
                ", enderecoEvento='" + enderecoEvento + '\'' +
                '}';
    }

    public Integer getIdIngresso() {
        return idIngresso;
    }

    public void setIdIngresso(Integer idIngresso) {
        this.idIngresso = idIngresso;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getCpf() {
        return cpf;
    }

    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public Double getTotal() {
        return total;
    }

    public void setTotal(Double total) {
        this.total = total;
    }

    public String getData() {
        return data;
    }

    public void setData(String data) {
        this.data = data;
    }

    public String getEvento() {
        return evento;
    }

    public void setEvento(String evento) {
        this.evento = evento;
    }

    public String getEnderecoEvento() {
        return enderecoEvento;
    }

    public void setEnderecoEvento(String enderecoEvento) {
        this.enderecoEvento = enderecoEvento;
    }
}
					

Agora vamos criar a próxima classe: Venda
Na Classe de Venda alem das variáveis padrões iremos Criar um relacionameto com a classe Cliente

package entity;

import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Venda implements Serializable{

    private  Integer idVenda;
    private  String dataCompra;
    private  Integer quantidade;
    private  Double total=0.;
    private  Double preco=200.;
    private  Cliente cliente;

    {
        setDataCompra("04/28/2018 22:00:00");
    }

    public Venda() {
    }

    @Override
    public String toString() {
        return "Venda{" +
                "idVenda=" + idVenda +
                ", dataCompra='" + dataCompra + '\'' +
                ", quantidade=" + quantidade +
                ", total=" + total +
                ", preco=" + preco +
                ", cliente=" + cliente +
                '}';
    }

    public Integer getIdVenda() {
        return idVenda;
    }

    public void setIdVenda(Integer idVenda) {
        this.idVenda = idVenda;
    }

    public Integer getQuantidade() {
        return quantidade;
    }

    public void setQuantidade(Integer quantidade) {
        this.quantidade = quantidade;
    }

    public Double getTotal() {
        return total;
    }

    public void setTotal(Double total) {
        this.total = total;
    }

    public Cliente getCliente() {
        return cliente;
    }

    public void setCliente(Cliente cliente) {
        this.cliente = cliente;
    }

    public String getDataCompra() {
        return dataCompra;
    }

    public void setDataCompra(String dataCompra) {
        this.dataCompra = dataCompra;
    }

    public Double getPreco() {
        return preco;
    }

    public void setPreco(Double preco) {
        this.preco = preco;
    }
}
					

Agora vamos começar a criar o nosso banco.
Criar a classe: Dao
Nessa classe criaremos as tabelas e o relacionamento entre elas.


package persistence;

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

public class Dao  extends SQLiteOpenHelper {

     public static final String NOMEBANCO="BDBANDA";
     public static final String tabela1="cliente";
     public static final String tabela2="venda";
     public static final String tabela3="ingresso";

     public static int VERSAO_BANCO=1;

     private static final String SCRIPT1=
    "create table cliente(idcliente integer primary key autoincrement," +
             "nome varchar (50) not null," +
             "email varchar (50) not null," +
             "cpf varchar (50) not null," +
             "telefone varchar (50) not null);";

    private static final String SCRIPT2=
                "create table venda(idvenda integer primary key autoincrement," +
                    "data varchar (50) not null," +
                    "quantidade int," +
                    "total double," +
                    "preco double," +
                    "idcliente int," +
                    " foreign key(idcliente) references cliente(idcliente));";

    private static final String SCRIPT3=
            "create table ingresso(idingresso integer primary key autoincrement," +
                    "nome varchar (50) not null," +
                    "data varchar (50) not null," +
                    "cpf varchar (50) not null," +
                    "quantidade int," +
                    "total double," +
                    "preco double," +
                    "evento varchar(50)," +
                    "enderecoevento varchar(50));";

    public Dao(Context context) {
        super(context, NOMEBANCO, null, VERSAO_BANCO);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(SCRIPT1);
        db.execSQL(SCRIPT2);
        db.execSQL(SCRIPT3);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int i, int i1) {
        db.execSQL("DROP TABLE IF EXISTS cliente");
        db.execSQL("DROP TABLE IF EXISTS venda");
        db.execSQL("DROP TABLE IF EXISTS ingresso");
    }
}
					

Vamos para a próxima classe: ClienteDao
Agora faremos a Classe que representa a lógica e a entidade a ser persistida no banco de dados, nesse caso a entidade de Cliente

package persistence;

import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;

import entity.Cliente;

public class ClienteDao {

    private static final String[] CAMPOS={
           "idcliente","nome","email","cpf","telefone"
    };

    private SQLiteDatabase db;

    public ClienteDao(Context ctx){
         db = new Dao(ctx).getWritableDatabase();
    }

    public long createCliente(Cliente c){
        long idCliente = -1;
        db.beginTransaction();
        try{
            ContentValues cv= new ContentValues();
               cv.put(CAMPOS[1], c.getNome());
               cv.put(CAMPOS[2], c.getEmail());
               cv.put(CAMPOS[3], c.getCpf());
               cv.put(CAMPOS[4], c.getTelefone());
             idCliente = (int) db.insert(Dao.tabela1,null, cv);
             db.setTransactionSuccessful();

        }catch(Exception ex){
            Log.i("Error :" , ex.getMessage());
        }
         finally{
            db.endTransaction();
            db.close();
        }
      return idCliente;
    }
}
					

Agora nossa última classe do banco: VendaDao
Esta Classe também representa a lógica e a entidade a ser persistida no banco de dados, mas nesse caso a entidade de Venda

package persistence;

import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;

import entity.Cliente;
import entity.Venda;

public class VendaDao {

    private static final String[] CAMPOS={
            "idvenda","data","quantidade","total","preco","idcliente"
    };
    private SQLiteDatabase db;

    public VendaDao(Context ctx){
        db = new Dao(ctx).getWritableDatabase();
    }

    public long createVenda(Venda v){
        long idVenda= -1;
        db.beginTransaction();
        try{
            ContentValues cv= new ContentValues();
            cv.put(CAMPOS[1], v.getDataCompra());
            cv.put(CAMPOS[2],v.getQuantidade());
            cv.put(CAMPOS[3], v.getTotal());
            cv.put(CAMPOS[4], v.getPreco());
            cv.put(CAMPOS[5], v.getCliente().getIdCliente());

            idVenda = (int) db.insert(Dao.tabela2,null, cv);
            db.setTransactionSuccessful();

        }catch(Exception ex){
            Log.i("Error :" , ex.getMessage());
        }
        finally{
            db.endTransaction();
            db.close();
        }
        return idVenda;
    }
}
					

Agora vamos começar a programar nossa primeira tela: activity_main.xml
Essa será a nossa tela de apresentação onde informará a Banda, o local e a hora do Show alem de um botão para acessar a tela de Cadastro


<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#080000"
    tools:context="coti.com.br.myband.MainActivity">

 <LinearLayout
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:orientation="vertical"
     >

     <ImageView
         android:layout_width="wrap_content"
         android:layout_height="200dp"
         android:orientation="vertical"
         android:src="@drawable/metallica"
         />

      <TextView
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:text="Show Do Metallica "
          android:gravity="center_horizontal"
         android:textColor="#ca1f1f"
          android:textSize="55dp"
          android:fontFamily="cursive"
          android:background="#0a0606"
          />

     <TextView
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:text="No Rio de Janeiro na Penitenciaria de Japeri "
         android:gravity="center_horizontal"
         android:textColor="#f5f2f2"
         android:textSize="35dp"
         android:fontFamily="cursive"
         android:background="#0a0606"
         />

     <TextView
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:text="25 de Abril 2018 às 14:00  "
         android:gravity="center_horizontal"
         android:textColor="#f5f2f2"
         android:textSize="30dp"
         android:fontFamily="cursive"
         android:background="#0a0606"
         android:layout_marginTop="20dp"
         />

 <Button
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:text="compra Ingresso"
     android:background="#484242"
     android:textColor="#f5f2f2"
     android:textSize="26dp"
     android:layout_marginRight="15dp"
     android:layout_marginLeft="15dp"
     android:layout_marginTop="20dp"
     android:onClick="cadastro"
     />

 </LinearLayout>
</ScrollView>
					

Em seguida vamos programar a classe : MainActivity
Você adicionará código a MainActivity para iniciar uma nova activity quando o usuário clicar no botão Send

package coti.com.br.myband;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity {

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

    public void cadastro(View v){
        Intent it = new Intent(MainActivity.this,Cadastro.class);
                startActivity(it);
    }
}
					

Próxima tela: cadastro.xml
Nessa tela teremos as áreas de edição de texto para efetuar o cadastro assim como um botão para efetuar o cadastro.

<?xml version="1.0" encoding="utf-8"?>

<ScrollView
	xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
	android:layout_height="match_parent"
	android:background="#3d3636"
		android:orientation="vertical"
	>
<LinearLayout
	android:layout_width="match_parent"
	android:layout_height="match_parent"
	android:orientation="vertical"
	>
	<LinearLayout
		android:layout_width="match_parent"
		android:layout_height="match_parent"
		android:orientation="horizontal"
		>
	<ImageView
	android:layout_width="100dp"
	android:layout_height="80dp"
	android:src="@drawable/rock"/>
	<TextView
			android:layout_width="wrap_content"
			android:layout_height="wrap_content"
			android:text="Cadastro Para o Show"
			android:textSize="28dp"
			android:layout_marginTop="30dp"
			android:textColor="#fff"
			/>
	</LinearLayout>

	<EditText
		android:layout_width="match_parent"
		android:layout_height="match_parent"
		android:color="#f1eded"
		android:hint="Nome"
		android:textColor="#fff"
		android:textColorHint="#fff"
		android:id="@+id/txtNome"
		/>
	<EditText
		android:layout_width="match_parent"
		android:layout_height="match_parent"
		android:color="#f1eded"
		android:hint="Email"
		android:textColor="#fff"
		android:textColorHint="#fff"
		android:id="@+id/txtEmail"
		/>

	<EditText
		android:layout_width="match_parent"
		android:layout_height="match_parent"
		android:color="#f1eded"
		android:hint="CPF"
		android:textColor="#fff"
		android:textColorHint="#fff"
		android:id="@+id/txtCpf"
		/>

	<EditText
		android:layout_width="match_parent"
		android:layout_height="match_parent"
		android:color="#f1eded"
		android:hint="Telefone"
		android:textColor="#fff"
		android:textColorHint="#fff"
		android:id="@+id/txtTelefone"
		/>

	<Button
		android:layout_width="149dp"
		android:layout_height="70dp"
		android:background="#5c5252"
		android:onClick="gravar"
		android:textColor="#fff"
		android:text="Cadastar" />

	</LinearLayout>
</ScrollView>
						

Próxima classe: Cadastro
Mas essa classe não ficará no pacote entity ,mas sim no pacote: coti.com.br.myband
Ela é responsavel pela Activity da tela de cadastro

package coti.com.br.myband;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

import entity.Cliente;
import entity.Venda;
import persistence.ClienteDao;

public class Cadastro extends AppCompatActivity {

	Cliente cliente;

	EditText txtNome, txtEmail, txtCpf, txtTelefone;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.cadastro);
		txtNome = (EditText) findViewById(R.id.txtNome);
		txtEmail = (EditText) findViewById(R.id.txtEmail);
		txtCpf = (EditText) findViewById(R.id.txtCpf);
		txtTelefone = (EditText) findViewById(R.id.txtTelefone);
		cliente = new Cliente();
	}

	public void gravar(View v){
		try {
			cliente.setNome(txtNome.getText().toString());
			cliente.setEmail(txtEmail.getText().toString());
			cliente.setCpf(txtCpf.getText().toString());
			cliente.setTelefone(txtTelefone.getText().toString());

			int idCliente = (int) new ClienteDao(this).createCliente(cliente);

				cliente.setIdCliente(idCliente);

	Toast.makeText(this,"Cliente Gravado :" +
				cliente, Toast.LENGTH_SHORT ).show();

				Intent it = new Intent(Cadastro.this,VendaActivity.class);
				Bundle bundle = new Bundle();
				bundle.putSerializable("cliente", cliente);
				it.putExtras(bundle);
				startActivity(it);

		}catch(Exception ex){

	Toast.makeText(this,"Error :" + ex.getMessage(),
			Toast.LENGTH_SHORT ).show();
		}
	}
}
							

Agora vamos criar nossa próxima tela: venda.xml
Nessa tela temos o valor do ingresso, um campo para inserir o nome do cadostro, um campo para a inserir a quantidate de ingressos e o Valor total

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="match_parent"
	android:background="#3d3636"
	android:layout_height="match_parent"
	android:orientation="vertical"

	>
<ImageView
	android:layout_width="200dp"
	android:layout_height="100dp"
	android:src="@drawable/ticket"/>

	<TextView
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:text="Preco : "
		android:textSize="26dp"
		android:textColor="#fff"
		/>

	<TextView
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:text="R$200,00"
		android:textSize="26dp"
		android:textColor="#fff"
		/>

	<TextView
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:text="Nome : "
		android:textSize="26dp"
		android:textColor="#fff"
		/>

	<EditText
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:text="nome"
		android:textSize="26dp"
		android:id="@+id/txtNome"
		android:textColor="#fff"
		/>

	<TextView
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:text="Quantidade: "
		android:textSize="22dp"
		android:textColor="#fff"
		/>
	<EditText
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:text="1"
		android:textSize="26dp"
		android:textColor="#fff"
		android:id="@+id/txtQuantidade"
		/>

	<TextView
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:text="Total: "
		android:textSize="18dp"
		android:textColor="#fff"
		/>

	<EditText
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:text="1"
		android:textSize="18dp"
		android:id="@+id/txtTotal"
		android:textColor="#fff"
		/>
	
</LinearLayout>
								

Agora vamos criar a próxima classe: VendaActivity
Aqui temos a Activity da tela de venda

package coti.com.br.myband;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;

import entity.Cliente;
import entity.Venda;
import persistence.VendaDao;

public class VendaActivity  extends AppCompatActivity {

	Double preco = 200.;
	EditText txtNome, txtQuantidade, txtTotal;
	Cliente c;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.venda);
		txtNome= (EditText) findViewById(R.id.txtNome);
		txtQuantidade= (EditText) findViewById(R.id.txtQuantidade);
		txtTotal= (EditText) findViewById(R.id.txtTotal);

		Intent it = getIntent();
		Bundle b = it.getExtras();
		c = (Cliente) b.getSerializable("cliente");

		ve = new Venda();
		ve.setCliente(c);

		ve.setQuantidade(new Integer(txtQuantidade.getText().toString()));
		ve.setTotal(preco * ve.getQuantidade());
		ve.setDataCompra("25/04/2018 22:00:00");

		//SaintRow
		txtNome.setText(c.getNome().toString());
		txtQuantidade.setText(ve.getQuantidade().toString());
		txtTotal.setText(ve.getTotal().toString());
	}

	Venda ve = null;
	
}
									

Agora vamos criar a próxima tela: detalhes.xml
Nessa tela teremos as caracteristicas do evento que irá ser realizado.

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
	xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
	android:layout_height="match_parent"
	android:background="#3d3636"
	android:orientation = "vertical"
	>

	<TextView
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:textColor="#fff"
		android:text="Evento" />

	<EditText
			android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:id="@+id/txtEvento"
		android:textColor="#fff"
		android:enabled="false"/>

	<TextView
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:textColor="#fff"
		android:text="Data" />

	<EditText
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:id="@+id/txtData"
		android:textColor="#fff"
		android:enabled="false"/>

	<TextView
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:textColor="#fff"
		android:text="Valor" />

	<EditText
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:id="@+id/txtValor"
		android:textColor="#fff"
		android:enabled="false"/>

	<TextView
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:textColor="#fff"
		android:text="Quantidade" />

	<EditText
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:id="@+id/txtQuantidade"
		android:textColor="#fff"
		android:enabled="false"/>

	<TextView
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:textColor="#fff"
		android:text="Nome" />

	<EditText
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:id="@+id/txtNome"
		android:textColor="#fff"
		android:enabled="false"/>

		<ImageButton
			android:layout_width="90px"
			android:layout_height="90px"
			android:background="@drawable/mapa1"
			android:id="@+id/map"
			/>

</LinearLayout>
										

Agora vamos criar a classe DetalhesVendaActivity
Activity da tela detalhes

package coti.com.br.myband;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.EditText;
import android.widget.ImageButton;

import entity.Cliente;
import entity.Ingresso;
import entity.Venda;

public class DetalhesVendaActivity extends AppCompatActivity {

	ImageButton  img;
	EditText txtNome, txtQuantidade, txtTotal,txtData,txtValor,txtEvento, txtEndereco;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.detalhes);
		txtNome= (EditText) findViewById(R.id.txtNome);
		txtQuantidade= (EditText) findViewById(R.id.txtQuantidade);
		txtTotal= (EditText) findViewById(R.id.txtTotal);
		txtData = (EditText) findViewById(R.id.txtData);
		txtValor = (EditText) findViewById(R.id.txtValor);
		Intent it = getIntent();
		Venda v = (Venda) it.getSerializableExtra("venda");
			Cliente c = (Cliente) it.getSerializableExtra("cliente ");

			txtNome.setText(c.getNome().toString());
			txtQuantidade.setText(v.getQuantidade().toString());
			txtTotal.setText(v.getTotal().toString());
			txtData.setText(v.getDataCompra().toString());
			Ingresso ing = new Ingresso();

			ing.setEvento("Show da Banda Mettalica dia 25-03 as 22:00");
			ing.setEnderecoEvento("Local Maracanazinho");
			img = (ImageButton) findViewById(R.id.map);
	}
}
											

Agora vamos rodar o emulador...

Após clicar em comprar ingresso...

Cadastrando...

Alterando...

Vamos verificar se realmente foram gravados nossos dados, para isso...
Clique em Device File Explorer no canto inferior direito

Após clicar...
Irá aparecer a seguinte tela.

Clique na pasta data
E em seguida clique na outra pasta, também chamada: data

Agora vamos procurar nosso projeto, no nosso caso se chama: coti.com.br.myband
Em seguida clique na pasta databases

Clique com o botão direito no primeiro arquivo, no nosso caso BDBANDA e salve-o no seu local de preferência.

Agora vamos colocar nosso banco online, para isso...
Entre no site: https://sqliteonline.com

Clique em File e depois em OpenDB.

Selecione o arquivo salvo do Android Studio.
Clique em abrir

Os arquivos serão carregados e mostrado no canto superior esquerdo da tela.

De um select na tabela e clique em Run.

E então Aparecerão os dados gravados.