概要

Androidには、SQLiteというデータベース管理システム(Database Management System)が標準で搭載されています。
SQLiteを使えば、大量データの保存や検索が簡単に行えます。

データベースの保存先は、次のディレクトリです。
/data/data/<パッケージ名>/databases/データベース名

データベースヘルパー

SQLiteをアプリケーション内で使用するためには、「データベースヘルパー」(Databasehelper) を作る必要があります。
class DatabaseHelper extends SQLiteOpenHelper {
	public static final String DB_NAME = "hoge.db";
	public static final int DB_VERSION = 1;

	public DatabaseHelper(Context context) {
		super(context, DB_NAME, null, DB_VERSION);
	}
	
	@Override
	public void onCreate(SQLiteDatabase db) {
		db.execSQL("CREATE TABLE foo (id INTEGER PRIMARY KEY AUTOINCREMENT, content TEXT)");
	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		db.execSQL("DROP TABLE IF EXISTS hoge");
		onCreate(db);
	}	
}

コンストラクタ

ファイル名やバージョン番号などを引数にして、
SQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version)
というスーパークラスのコンストラクタを呼び出すように定義します
(3 個目の引数はnullでかまいません)。

onCreate(SQLiteDatabase db)

データベースが最初に生成されるときに呼び出されるメソッドです。
このメソッドは、通常、テーブル生成を行うSQLを実行します。

onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)

データベースのアップグレードが必要になったときに呼び出されるメソッドです。

データベースオブジェクトの取得

データベースヘルパーを生成し(DatabaseHelper helper = new DatabaseHelper(context);)
用途に応じて、次のいづれかのメソッドを使って、データベースオブジェクトを取得します。

SQLiteDatabase getReadableDatabase()

読み込み専用のデータベースオブジェクトの取得

SQLiteDatabase getWritableDatabase()

読み書き可能なデータベースオブジェクトの取得

行の取得

Cursor c = db.query(
"capitals",
new String[] { "capital" },
"prefecture=?",
new String[] { "東京" },
null, null, null);
c.moveToFirst();
String capital = c.getString(0);
  • パラメータについて
    • 検索対象のテーブル名
    • 取得する値のリスト
    • WHERE句(プレースホルダーでの指定可能)
    • プレースホルダーを置換する値のリスト
    • GROUP BY句
    • ORDER BY句
    • HAVING句

行の挿入

ContentValues values = new ContentValues(2);
values.put("prefecture", "北海道");
values.put("capital", "札幌");
db.insert("capitals", null, values);
  • ContentValuesオブジェクトにデータをセットし、データベースオブジェクトのinsertメソッドを実行する

このページへのコメント

WnRhYO A big thank you for your blog post. Really Great.

Posted by awesome things! 2014年01月22日(水) 21:58:10

SQLite - Android鐃緒申鐃竣リ開発鐃瞬削申 - Seesaa Wiki鐃淑ワ申鐃緒申鐃緒申鐃緒申 for 鐃緒申鐃殉¥申鐃夙フワ申鐃緒申 ≪潟若 筝荀 http://www.pslcbi.com/moncler2014.html

Posted by ≪潟若 筝荀 2013年12月10日(火) 10:33:51

SQLite - Android鐃緒申鐃竣リ開発鐃瞬削申 - Seesaa Wiki鐃淑ワ申鐃緒申鐃緒申鐃緒申 for 鐃緒申鐃殉¥申鐃夙フワ申鐃緒申 ≪潟若 ≪ http://www.pslcbi.com/moncler2014.html

Posted by ≪潟若 ≪ 2013年12月07日(土) 19:50:00

ShcLqB <a href="http://yeqmfbtvxkji.com/">yeqmfbtvxkji</a>, [url=http://hgfhinruqxgu.com/]hgfhinruqxgu[/url], [link=http://alilmqdyfbxk.com/]alilmqdyfbxk[/link], http://fggzfjrtrsrx.com/

Posted by nxlbzhzidk 2013年11月14日(木) 14:54:51

SLwPsA <a href="http://burmyvwanhhl.com/">burmyvwanhhl</a>, [url=http://xujfwbompvip.com/]xujfwbompvip[/url], [link=http://sbnzjctvjuiy.com/]sbnzjctvjuiy[/link], http://blvdwnpqnduo.com/

Posted by fhvpjbyxzb 2013年09月22日(日) 01:12:31
http://wthqnezmyivj.com/

管理人のみ編集できます