Essa Biblioteca tem como maior função facilitar o uso do SQLite para o android.
Agora vamos mostrar o passo a passo de como utilizar:
implementation 'com.github.p2jorg:simplesql:1.0.30'
*Observação - Caso você não tenha o JitPack, adicione em seu module project a linha de código com o comentário:
allprojects {
repositories {
google()
jcenter()
maven { url "https://jitpack.io" } // JitPack
}
}
Utilizando a biblioteca, a sua classe modelo também é a sua tabela de banco de dados,
basta você utilizar as anotações necessárias para que as duas se tornem uma só.
@Table
public class Pessoa {
@Column(type = "INTEGER")
@AutoIncrement()
@Key
private int id;
@Column(type = "TEXT",
non_null = true)
private String nome;
@Column(type = "INTEGER"
,non_null = true)
private int idade;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getIdade() {
return idade;
}
public void setIdade(int idade) {
this.idade = idade;
}
}
O Processo inicial de criar um banco de dados continua o mesmo, porém, como já foi visto anteriormente, a sua tabela já foi criada, então o que você precisar fazer é apenas chamar o um método da classe SimpleSQL dentro do método onCreate(SQLiteDatabase sqlLiteDatabase)
public class HelperBD extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "example.db";
private SimpleSQL simpleSQL;
public HelperBD(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
simpleSQL = new SimpleSQL(this);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
simpleSQL.create(new Pessoa(),db);
}
@Override
public void onUpgrade(SQLiteDatabase db, int i, int i1) {
simpleSQL.deleteTable(new Pessoa(),db);
onCreate(db);
}
@Override
public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
super.onDowngrade(db, oldVersion, newVersion);
onUpgrade(db, oldVersion, newVersion);
}
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
String _return = simpleSQL.deleteTable(new Pessoa(),db);
onCreate(sqLiteDatabase);
}
O método insert() irá retornar um valor booleano, onde true é quando for inserido com sucesso e false quando ocorrer algum erro
Pessoa p = new Pessoa();
p.setNome("Alow");
p.setIdade(12);
boolean result = false;
result = new SimpleSQL(new HelperBD(this)).insert(pessoa).execute();
Para fazer uma listagem dos registro do banco de dados é bem simples, é só criar ua instancia da classe SimpleSQL e utilizar o método selectTable(Objeto) e montar o select da forma que preferir.
SimpleSQL simpleSql = new SimpleSQL(new HelperBD(this));
List<Pessoa> list = simpleSQL.selectTable(new Pessoa())
.fields("*")
.where()
.column("id")
.equals()
.fieldInt(1)
.execute();
Para remover algum registro da tabela, ainda segue o mesmo padrão dos métodos anteriores
boolean result = simpleSQL.deleteColumn("Nome da tabela")
.where()
.column("id")
.equals()
.fieldInt(1)
.execute();
Ainda utilizando o mesmo padrão dos anteriores você também pode atualizar os registro do banco de dados, da seguinte forma:
SimpleSQL simpleSql = new SimpleSQL(new HelperBD(this));
boolean result = simpleSQL.updateTable(new Pessoa())
.set("nome","idade")
.values("Novo Nome","Nova Idade")
.where()
.column("id")
.equals()
.fieldInt(1)
.execute()