2011-05-05 8 views
0

J'ai une classe dans laquelle je crée la base de données. Je veux faire de la manipulation de données dans une autre classe. J'ai le code suivant:Lire la base de données Android SQLite

public class DBCreation 
{ 
    public static final String KEY_CODPROJECT = "codProject"; 
    public static final String KEY_NOME = "nome"; 

    private static final String TAG = "DBCreation"; 

    private static final String DATABASE_NAME = "scrum_management.db"; 
    private static final String DATABASE_TABLE = "project"; 

    private static final int DATABASE_VERSION = 1; 

    private static final String DATABASE_CREATE = 
     "create table project (codProject integer primary key autoincrement, " 
     + "name text);"; 


    private final Context context; 

    private DatabaseHelper DBHelper; 
    private SQLiteDatabase db; 

    public DBCreation(Context ctx) 
    { 
     this.context = ctx; 
     DBHelper = new DatabaseHelper(context); 
    } 

    private static class DatabaseHelper extends SQLiteOpenHelper 
    { 
     DatabaseHelper(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) 
     { 
      Log.w(TAG, "Upgrading database from version " + oldVersion 
        + " to " 
        + newVersion + ", which will destroy all old data"); 
      db.execSQL("DROP TABLE IF EXISTS projecto"); 
      onCreate(db); 
      } 


    }  

    public DBCreation open() throws SQLException 
    { 
     db = DBHelper.getWritableDatabase(); 
     return this; 
    } 

    public void close() 
    { 
     DBHelper.close(); 
    } 

} 

Ensuite, j'ai une classe pour accéder aux données.

public class DBAdapter extends DBCreation{ 

    public DBAdapter(Context ctx) { 
    super(ctx); 
    // TODO Auto-generated constructor stub 
    } 

//---insere um novo local na base de dados--- 
    public long insertLocal(String descricao, String pais, String cidade,String categoria_desc) 
    { 
     ContentValues initialValues = new ContentValues(); 
     initialValues.put(KEY_NOME, nome); 
    } 
} 

Ceci est faux. Quelqu'un peut-il m'aider comment je peux faire la manipulation de données dans une autre classe en faisant quelque chose comme ça?

Merci

Répondre

2

Se référer à mon post ici:

Storing Lists to A Database, and Retrieving Them All Together : Android

Une chose à mentionner est que dans votre classe utilitaire, vous pouvez avoir un objet de base de données SQLite privé, afin que vous puissiez se référer à la même base de données chaque fois que vous en avez besoin. Si vous avez besoin d'aide supplémentaire sur la façon de faire cela, demandez dans les commentaires.

+0

bonjour. Merci de votre attention mais ce n'est pas tout à fait la réponse que je recherche, pour ma question. Merci de votre attention – unnamed

Questions connexes