私はAndroidが初めてなので、SQLiteデータベースを使用する必要があるアプリケーションを作成する必要があります。私はSQLiteを十分に装備していません。
SQLiteOpenHelper
クラスの目的と使用方法を教えてください。また、簡単なデータベースの作成と挿入の例を提供してください。
Sqliteヘルパークラスは、データベースの作成とバージョン管理を管理するのに役立ちます。 SQLiteOpenHelperは、すべてのデータベース管理アクティビティを処理します。それを使用するには、
1 .SQLiteOpenHelper
のonCreate(), onUpgrade()
メソッドをオーバーライドします。オプションでonOpen()メソッドをオーバーライドします。
2。このサブクラスを使用して、読み取り可能または書き込み可能なデータベースを作成し、SQLiteDatabaseの4つのAPIメソッド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クラスを使用して、すべてのデータベース操作を実行できます。レコードの作成は、値を挿入するのに役立ちます。同様に、更新および削除のための独自の関数を使用できます。
次のリンクはあなたを助けます
データベースヘルパークラス:
データベースの作成とバージョン管理を管理するヘルパークラス。
onCreate(SQLiteDatabase)
、onUpgrade(SQLiteDatabase, int, int)
およびオプションでonOpen(SQLiteDatabase)
を実装するサブクラスを作成します。このクラスは、データベースが存在する場合はそれを開き、存在しない場合は作成し、必要に応じてアップグレードします。トランザクションは、データベースが常に適切な状態にあることを確認するために使用されます。
このクラスを使用すると、ContentProvider
実装でデータベースのオープンとアップグレードを最初に使用するまで延期し、長時間実行されるデータベースアップグレードでアプリケーションの起動がブロックされるのを回避できます。
このリンクをもっと参照する必要があります Sqlite Helper
DBHelperクラスは、sqliteデータベースのオープンとクローズ、および作成と更新を処理するものであり、すべての仕組みに関する適切な記事は here です。 Androidを開始したとき、それは非常に便利でした(ただし、最近客観的でしたが、ほとんどの使用を忘れていました)。
ヘルパークラスを使用すると、SQLiteデータベースにアクセスでき、onCreate()メソッドとonUpgrade()メソッドをオーバーライドすることで、さまざまな操作を実行できます。
http://technologyguid.com/Android-sqlite-database-app-example/