Ola estou fazendo um projeto com SQLITE no android e estpu tendo um erro sobre o cursor no caso andei pesquisando e parece que tenho que usar o cursor.close(); mas não sei o modo certo de usa-lo , pfv me ajudem
TENTEI DESSE MODO
==========================================================
package com.example.douglas.sqlite.dao;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import com.example.douglas.sqlite.modelo.Pessoa;
import java.util.ArrayList;
/**
- Created by Douglas on 15/01/2018.
*/
public class PessoaDao extends SQLiteOpenHelper {
private static final String NOME_BANCO = “DBPessoa.db”;
private static final int VERSION = 1;
private static final String TABELA = “pessoa”;
private static final String ID = “id”;
private static final String Nome = “nome”;
private static final String Endereço = “endereço”;
private static final String Telefone = “telefone”;
private static final String Idade = “idade”;
public PessoaDao(Context context) {
super(context, NOME_BANCO, null, VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE"+TABELA+" ( "+
" "+ID+" INTEGER PRIMARY KEY AUTOINCREMENT, " +
" "+Nome+" TEXT ,"+Idade+" TEXT, "+
" "+Endereço+ "TEXT ,"+Telefone+" TEXT );";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String sql = "DROP TABLE IS EXIST"+TABELA;
db.execSQL(sql);
onCreate(db);
}
public long salvarpessoa(Pessoa p){
ContentValues values = new ContentValues();
long retornoDB;
values.put(Nome,p.getNome());
values.put(Idade,p.getIdade());
values.put(Endereço,p.getEndereço());
values.put(Telefone,p.getTelefone());
retornoDB = getWritableDatabase().insert(TABELA,null,values);
return retornoDB;
}
public ArrayList<Pessoa> selectAllPessoa(){
String [] coluns = {ID,Nome,Idade,Endereço,Telefone};
Cursor cursor = getWritableDatabase().query(TABELA, coluns, null, null, null, null, null, null);
ArrayList<Pessoa> listPessoa = new ArrayList<Pessoa>();
while (cursor.moveToNext()) {
Pessoa p = new Pessoa();
p.setId(cursor.getInt(0));
p.setNome(cursor.getString(1));
p.setIdade(cursor.getString(2));
p.setEndereço(cursor.getString(3));
p.setTelefone(cursor.getString(4));
listPessoa.add(p);
}
//cursor.close();
return listPessoa;
}
public void closeCursor ( Cursor cursor ) {
if (cursor != null) {
cursor.close();
}
}
}