Подтвердить что ты не робот

Пример Android SQLite

Я новичок в Android, и мне нужно создать приложение, где мне нужно использовать базу данных SQLite. Я не очень хорошо оборудован SQLite.

Не могли бы вы рассказать мне, что цель и использование класса SQLiteOpenHelper, и предоставить простой пример создания и ввода базы данных?

4b9b3361

Ответ 1

Класс помощников Sqlite помогает нам управлять созданием базы данных и управлением версиями. SQLiteOpenHelper заботится обо всех действиях по управлению базами данных. Чтобы использовать его,   
1.Override onCreate(), onUpgrade() методы SQLiteOpenHelper. Необязательно переопределить метод onOpen().   
2. Используйте этот подкласс для создания либо читаемой, либо записываемой базы данных и используйте четыре метода API SQLiteDatabase insert(), execSQL(), update(), delete() для создания, чтения, обновления и удаления строк вашей таблицы.

Пример создания таблицы MyEmployees и для выбора и вставки записей:

public class MyDatabaseHelper extends SQLiteOpenHelper {

    private static final String DATABASE_NAME = "DBName";

    private static final int DATABASE_VERSION = 2;

    // Database creation sql statement
    private static final String DATABASE_CREATE = "create table MyEmployees
                                 ( _id integer primary key,name text not null);";

    public MyDatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    // Method is called during creation of the database
    @Override
    public void onCreate(SQLiteDatabase database) {
        database.execSQL(DATABASE_CREATE);
    }

    // Method is called during an upgrade of the database,
    @Override
    public void onUpgrade(SQLiteDatabase database,int oldVersion,int newVersion){
        Log.w(MyDatabaseHelper.class.getName(),
                         "Upgrading database from version " + oldVersion + " to "
                         + newVersion + ", which will destroy all old data");
        database.execSQL("DROP TABLE IF EXISTS MyEmployees");
        onCreate(database);
    }
}

Теперь вы можете использовать этот класс, как показано ниже,

public class MyDB{  

    private MyDatabaseHelper dbHelper;  

    private SQLiteDatabase database;  

    public final static String EMP_TABLE="MyEmployees"; // name of table 

    public final static String EMP_ID="_id"; // id value for employee
    public final static String EMP_NAME="name";  // name of employee

    /** 
     * 
     * @param context 
     */  
    public MyDB(Context context){  
        dbHelper = new MyDatabaseHelper(context);  
        database = dbHelper.getWritableDatabase();  
    }


    public long createRecords(String id, String name){  
        ContentValues values = new ContentValues();  
        values.put(EMP_ID, id);  
        values.put(EMP_NAME, name);  
        return database.insert(EMP_TABLE, null, values);  
    }    

    public Cursor selectRecords() {
        String[] cols = new String[] {EMP_ID, EMP_NAME};  
        Cursor mCursor = database.query(true, EMP_TABLE,cols,null  
            , null, null, null, null, null);  
        if (mCursor != null) {  
            mCursor.moveToFirst();  
        }  
        return mCursor; // iterate to get each value.
    }
}

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

Ответ 2

Следующие ссылки помогут вам

1. База данных Android Sqlite

2. Учебное пособие 1

Класс помощника базы данных:

Вспомогательный класс для управления созданием базы данных и управлением версиями.

Вы создаете подкласс, реализующий onCreate(SQLiteDatabase), onUpgrade(SQLiteDatabase, int, int) и необязательно onOpen(SQLiteDatabase), и этот класс заботится о том, чтобы открыть базу данных, если она существует, создавая ее, если это не так, и, при необходимости, обновляя ее. Транзакции используются, чтобы убедиться, что база данных всегда находится в разумном состоянии.

Этот класс упрощает реализацию ContentProvider для отсрочки открытия и обновления базы данных до ее первого использования, чтобы избежать блокировки запуска приложений при длительных обновлениях баз данных.

Вам нужно больше ссылаться на эту ссылку Sqlite Helper

Ответ 3

Класс DBHelper - это то, что обрабатывает открытие и закрытие баз данных sqlite, а также создание и обновление, и достойная статья о том, как все это работает, здесь. Когда я начал андроид, это было очень полезно (однако я был objective-c в последнее время и забыл, что большинство из них будет использоваться.

Ответ 4

С помощью класса Helper вы можете получить доступ к базе данных SQLite и выполнять различные операции над ним, переопределяя методы onCreate() и onUpgrade().