Поставщик Android-контента - PullRequest
       23

Поставщик Android-контента

0 голосов
/ 08 октября 2010

Я хочу получить код контент-провайдера, для которого создана база данных.Я использую инструмент, расположенный здесь tools / sqllite3.exe, чтобы проверить, создана ли база данных.

Пожалуйста, дайте мне знать пошаговую процедуру для этой вещи ...

Спасибо,-D

Ответы [ 2 ]

3 голосов
/ 08 октября 2010

Вы создаете базу данных не с помощью ContentProvider, а с классом SQLiteOpenHelper.По крайней мере, это лучший способ сделать это

class MyDatabase extends SQLiteOpenHelper {
    public MyDatabase(Context context, dbName, null, version){
        super(context, dbName, null, version);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        String createItemsTable = "create table mytable ("+
            "_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
            "_title TEXT NOT NULL, " +
            "_subtitle TEXT NULL " +
        " );";

        // Begin Transaction
        db.beginTransaction();
        try{
            // Create Items table
            db.execSQL(createItemsTable);

            // Transaction was successful
            db.setTransactionSuccessful();
        } catch(SQLException ex){
            Log.e(this.getClass().getName(), ex.getMessage(), ex);
        } finally {
            // End transaction
            db.endTransaction();
        }
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        String dropItemsTable = "DROP TABLE IF EXISTS mytable";

        // Begin transaction
        db.beginTransaction();

        try {
            if(oldVersion<2){
                // Do your update/alter code here
            }

            db.setTransactionSuccessful();
        } catch(Exception ex){
            Log.e(this.getClass().getName(), ex.getMessage(), ex);
        } finally {
            // Ends transaction
            // If there was an error, the database won't be altered
            db.endTransaction();
        }
    }
}

они просто создают экземпляр вашего помощника с помощью

MyDatabase myDb = new MyDatabase(getContext(),"databasename.db", null, 1); 

Затем помощник создаст базу данных, если она не существует, обновите ееесли существует более старая версия или просто откройте ее, если она существует, и версия соответствует

1 голос
/ 08 октября 2010

Я использовал этот урок

http://www.devx.com/wireless/Article/41133/1763/page/2

Теперь у меня есть хороший поставщик контента, который позволяет мне легко запрашивать таблицу и гораздо более гибок, чем другие базы данных.

...