Pubblico un po' di codice che forse può essere utile.
DbHelper.java
codice:
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DbHelper extends SQLiteOpenHelper {
//Dati generali
public static final String DATABASE_NAME = "db_rubrica.db";
public static final int DATABASE_VERSION = 13;
public static final String DATABASE_TABLE = "rubrica";
//Dati relativi al database+
// public static final String COLUMN_ID = "_ID";
public static final String NOME = "NOME";
public static final String COGNOME = "COGNOME";
public static final String TELEFONO = "TELEFONO";
// public static final String COLUMN_MAIL = "MAIL";
//Stringa finale creata
public static final String DATABASE_CREATE = "CREATE TABLE " + DATABASE_TABLE + " (" +
COGNOME + "STRING PRIMARY KEY, " +
NOME + "STRING,"+
TELEFONO + "STRING );";
public DbHelper(Context context){
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(DATABASE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
PersonaManager.java
codice:
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
/**
* Created by GianpaoloF on 14/10/2015.
*/
public class PersonaManager {
private Context context;
private DbHelper helper;
private SQLiteDatabase db;
public PersonaManager(android.content.Context context){
this.context = context;
helper = new DbHelper(context);
}
//Open
public void open(){
db = helper.getWritableDatabase();
}
//Close
public void close(){
db.close();
}
Persona.java
codice:
public class Persona {
private String cognome, nome, numero, mail;
public Persona(String cognome, String nome, String numero, String mail) {
this.cognome = cognome;
this.nome = nome;
this.numero = numero;
//this.mail = mail;
}
public String getCognome(){ return cognome; }
public String getNome() {
return nome;
}
public String getNumero() {
return numero;
}
// public String getMail() { return mail; }
public String toString(){
return cognome + " " + nome + " " + numero /*+ " " + mail + "."*/;
}
}
MainActivity.java
codice:
import android.app.ListActivity;
import android.database.Cursor;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends ListActivity {
PersonaManager manager;
List<Persona> lista = new ArrayList<>();
TextView visualizza;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
manager = new PersonaManager(this);
manager.open();
faiCose();
stampaCose();
manager.close();
final ArrayAdapter<Persona> adapter = new ArrayAdapter<>(this, android.R.layout.simple_selectable_list_item, lista.toArray(new Persona[0]));
setListAdapter(adapter);
}
private void stampaCose() {
StringBuilder sb = new StringBuilder();
for(Persona attuale : lista){
sb.append(attuale.toString());
sb.append("\n");
}
}
private void faiCose(){
Cursor cursor = manager.getPersoneSalvate();
lista.clear();
cursor.moveToFirst();
while(!cursor.isAfterLast()){
String cognome= cursor.getString(cursor.getColumnIndex(DbHelper.COGNOME));
String nome = cursor.getString(cursor.getColumnIndex(DbHelper.NOME));
String numero = cursor.getString(cursor.getColumnIndex(DbHelper.TELEFONO));
lista.add(new Persona(cognome, nome, numero, null) {
});
cursor.moveToNext();
}
}
}