Читать базу данных Android SQLite - PullRequest
0 голосов
/ 05 мая 2011

У меня есть класс, в котором я создаю базу данных.Я хочу сделать манипулирование данными в другом классе.У меня есть следующий код:

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();
    }

}

Тогда у меня есть класс для доступа к данным.

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);
    }
}

Это неправильно.Может кто-нибудь помочь мне, как я могу сделать манипулирование данными в другом классе, делая что-то вроде этого?

Спасибо

1 Ответ

2 голосов
/ 05 мая 2011

См. Мой пост здесь:

Хранение списков в базе данных и извлечение их всех вместе: Android

Стоит упомянуть, что в вашем служебном классеу вас может быть частный объект базы данных SQLite, чтобы вы могли обращаться к одной и той же базе данных в любое время.Если вам нужна дополнительная помощь, как это сделать ... спросите в комментариях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...