さて、長いこと放置していたはてなダイアリーの方ですが、まとめ書きした方がいいものは、やっぱりこちらに書くということで。 AndroidでSQLiteを使うケースは多々あると思いますが、明言されていない注意点があるので忘備録がてら。 SQLiteDatabase#closeは明示で呼ぶな、Cursor#closeは明示で呼べ これはSQLiteの作りの話ですが、SQLiteではマルチスレッドに対してコネクションオープンからクローズまでは保障する、という作りになっています。 要はコネクション単位でスレッドセーフですよ、ということ。 AndroidでSQLiteを使って検索系の処理をするのに、いわゆるWebアプリ的な作りで考えると、更新系処理ではCUD処理のあとにSQLiteDatabase#closeとしがちですが、android.database.sqlite.SQLiteException
AndroidでSQLiteを使用するので、テーブルを作りたいけど、テーブル作成時のルールや注意点ってあるの? Androidでは、SQLiteというリレーショナルデータベースが使えます。 データを保存するには、まずはテーブルを作成しなければなりません。 テーブル作成時の決まり事、注意点としては、SQLiteの仕様としては特にないです。 しかし、Androidで用意されているSQLite関係のクラスを利用する際には、ある事を前提として実装されている場合があり、それらのクラスを利用する為には、その前提となっているルールに従っておかなければなりません。 以下が、そのルールです。 ID列を定義する 「列」とは、「カラム」「フィールド」ともいいます。 「ID」とは、それぞれのレコードに対して、一意の番号となる数字の事です。 一つのテーブルの中で重複したIDは無い、といえばわかりやすいでしょうか。
データベースの削除はエミュレータのManage Applicationsから行おう なお、アプリケーションをアンインストールするとファイルとして作成したデータベースも自動的に削除されるので、ご安心ください。また、削除はAndroid SDKのDDMS(Dalvik Debug Monitor Service)からではなく、Androidエミュレータの[Manage Applications]から行ってください。 DDMSからアプリの削除を行うと、アプリケーションが作成したデータベースやファイルは削除されませんので、注意が必要です。 検索はSQL文でも繰り返しバインドでも 最もよく使うSQL文は、INSERT文やDELETE文、UPDATE文、SELECT文ですが、既出のSQLiteDatabase#execSQL(String)では、SELECT文は使用できません。SQLiteStatem
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く