Hello i want to make a database as global instance, so i can reach from different activities ( i have one activity for add contact, another one to view contact and another one to delete contact...).
So my GlobalInstance should be like:
package com.example.informacion;
import android.content.Context;
public class BaseDatosGlobal {
public BaseDatosContactos miAgenda;
private BaseDatosGlobal() {
miAgenda = new BaseDatosContactos(getApplicationContext());
}
private static BaseDatosGlobal instance;
public static BaseDatosGlobal getInstance() {
if (instance == null) instance = new BaseDatosGlobal();
return instance;
}
}
I want miAgenda to be the name of the database accessed from any activity. the problem is the context.i should create miAgenda= new BaseDatosContactos(getApplicationContext()); but i cant because eclipse gives me error.The method getAplicationContext() is undefined for the type BaseDatosGlobal.
So i can use miAgenda.insertarcontacto(....) or miAgenda.borrarContacto or whatever from any place.
Any help or ideas are welcome
My BaseDatosContatos is like:
public class BaseDatosContactos extends SQLiteOpenHelper {
private static final int VERSION_BASEDATOS = 1;
// Nombre de nuestro archivo de base de datos
private static final String NOMBRE_BASEDATOS = "contactos.db";
// Sentencia SQL para la creación de una tabla
private static final String TABLA_CONTACTOS = "CREATE TABLE contactos" +
"(email TEXT PRIMARY KEY UNIQUE NOT NULL, nombre TEXT, telefono TEXT, direccion TEXT, miembrofacebook INT, miembrotwitter INT, miembrogoogle INT, miembrolinkedin INT, sexo INT, tipocontacto TEXT, imagen INT)";
public BaseDatosContactos(Context context) {
super(context, NOMBRE_BASEDATOS, null, VERSION_BASEDATOS);
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(TABLA_CONTACTOS);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS " + TABLA_CONTACTOS);
onCreate(db);
}
public void insertarContacto (String email, String nombre, String telefono, String direccion, int miembrofacebook, int miembrotwitter, int miembrogoogle, int miembrolinkedin, int sexo, String tipocontacto, int imagen){
SQLiteDatabase db = getWritableDatabase();
if (db != null) {
ContentValues valores = new ContentValues();
valores.put("email", email);
valores.put("nombre", nombre);
valores.put("telefono", telefono);
valores.put("direccion", direccion);
valores.put("miembrofacebook", miembrofacebook);
valores.put("miembrotwitter", miembrotwitter);
valores.put("miembrogoogle", miembrogoogle);
valores.put("miembrolinkedin", miembrolinkedin);
valores.put("sexo", sexo);
valores.put("tipocontacto", tipocontacto);
valores.put("imagen", imagen);
db.insert("contactos", null, valores);
}
db.close();
}
//Creo un insertarcontacto propio pasandole un contacto
public void insertarContacto ( contactoAgenda contacto){
SQLiteDatabase db = getWritableDatabase();
if (db != null) {
ContentValues valores = new ContentValues();
valores.put("email", contacto.getMail());
valores.put("nombre", contacto.getNombre());
valores.put("telefono", contacto.getTelefono());
valores.put("direccion", contacto.getDireccion());
valores.put("miembrofacebook", contacto.isMiembroFacebook());
valores.put("miembrotwitter", contacto.isMiembroTwitter());
valores.put("miembrogoogle", contacto.isMiembroGoogle());
valores.put("miembrolinkedin", contacto.isMiembroLinnkedin());
valores.put("sexo", contacto.isSexo());
valores.put("tipocontacto", contacto.getTipoContacto());
valores.put("imagen", contacto.getDrawableImageID());
db.insert("contactos", null, valores);
}
db.close();
}
public void modificarContacto(String email, String nombre, String telefono, String direccion, int miembrofacebook, int miembrotwitter, int miembrogoogle, int miembrolinkedin, int sexo, String tipocontacto, int imagen){
SQLiteDatabase db = getWritableDatabase();
ContentValues valores = new ContentValues();
valores.put("email", email);
valores.put("nombre", nombre);
valores.put("telefono", telefono);
valores.put("direccion", direccion);
valores.put("miembrofacebook", miembrofacebook);
valores.put("miembrotwitter", miembrotwitter);
valores.put("miembrogoogle", miembrogoogle);
valores.put("miembrolinkedin", miembrolinkedin);
valores.put("sexo", sexo);
valores.put("tipocontacto", tipocontacto);
valores.put("imagen", imagen);
db.update("contactos", valores, "email=" + email, null);
//db.update("contactos", valores, "_id=" + id, null);
db.close();
}
public void modificarContacto(contactoAgenda contacto){
SQLiteDatabase db = getWritableDatabase();
ContentValues valores = new ContentValues();
valores.put("email", contacto.getMail());
valores.put("nombre", contacto.getNombre());
valores.put("telefono", contacto.getTelefono());
valores.put("direccion", contacto.getDireccion());
valores.put("miembrofacebook", contacto.isMiembroFacebook());
valores.put("miembrotwitter", contacto.isMiembroTwitter());
valores.put("miembrogoogle", contacto.isMiembroGoogle());
valores.put("miembrolinkedin", contacto.isMiembroLinnkedin());
valores.put("sexo", contacto.isSexo());
valores.put("tipocontacto", contacto.getTipoContacto());
valores.put("imagen", contacto.getDrawableImageID());
db.update("contactos", valores, "email=" + contacto.getMail(), null);
db.close();
}
public void borrarContacto(String email) {
SQLiteDatabase db = getWritableDatabase();
db.delete("contactos", "email=" + email, null);
db.close();
}
public void borrarContacto( contactoAgenda contacto) {
SQLiteDatabase db = getWritableDatabase();
db.delete("contactos", "email=" + contacto.getMail(), null);
db.close();
}
public contactoAgenda recuperarContacto(String email) {
SQLiteDatabase db = getReadableDatabase();
String[] valores_recuperar = {"email", "nombre", "telefono","direccion","miembrofacebook","miembrotwitter","miembrogoogle","miembrolinkedin","sexo","tipocontacto","imagen"};
Cursor c = db.query("contactos", valores_recuperar, "email=" + email, null, null, null, null,null);
if(c != null) {
c.moveToFirst();
}
contactoAgenda contactos = new contactoAgenda(c.getString(0), c.getString(1), c.getString(2), c.getString(3),c.getInt(4), c.getInt(5), c.getInt(6), c.getInt(7),c.getInt(8), c.getString(9), c.getInt(10));
db.close();
c.close();
return contactos;
}
public ArrayList<contactoAgenda> recuperarTodosContactos() {
SQLiteDatabase db = getReadableDatabase();
ArrayList<contactoAgenda> lista_contactos = new ArrayList<contactoAgenda>();
String[] valores_recuperar = {"email", "nombre", "telefono","direccion","miembrofacebook","miembrotwitter","miembrogoogle","miembrolinkedin","sexo","tipocontacto","imagen"};
Cursor c = db.query("contactos", valores_recuperar, null, null, null, null, null, null);
c.moveToFirst();
do {
contactoAgenda contactos = new contactoAgenda(c.getString(0), c.getString(1), c.getString(2), c.getString(3),c.getInt(4), c.getInt(5), c.getInt(6), c.getInt(7),c.getInt(8), c.getString(9), c.getInt(10));
lista_contactos.add(contactos);
} while (c.moveToNext());
db.close();
c.close();
return lista_contactos;
}
}
Aucun commentaire:
Enregistrer un commentaire