回答編集履歴

1

ソースコードの修正

2015/10/22 07:18

投稿

退会済みユーザー
test CHANGED
@@ -1,6 +1,6 @@
1
1
  あなたの**SQLiteDatabase**では,Activityの内部クラスとして**MySQLiteOpenHelper**を利用していますね.この書き方は,**SQLiteDatabase**からアクセスすることのみを想定しているように見えます.
2
2
 
3
-
3
+ 他の方も書かれている通り,Helperクラスを作成.別なクラス(Activity内など)から利用しましょう.
4
4
 
5
5
  実用上は↓のような形にすることが多いです.
6
6
 
@@ -36,7 +36,7 @@
36
36
 
37
37
  /* カラム名には "id" ではなく "_id" を使いましょう */
38
38
 
39
- private static final String CREATE_TABLE = "create table " + TABLE_NAME + " ( " +
39
+ private static final String CREATE_TABLE = "create table " + TABLE_NAME + "(" +
40
40
 
41
41
  COLUMN_ID + " integer primary key autoincrement," +
42
42
 
@@ -114,4 +114,20 @@
114
114
 
115
115
  sqLiteDatabase.insert(MySQLiteOpenHelper.TABLE_NAME, null, values);
116
116
 
117
+
118
+
119
+ /* 使い終わったらクローズしましょう */
120
+
121
+ sqLiteDatabase.close();
122
+
123
+
124
+
125
+ /* もちろんデータを書き込む際,毎回開いて閉じてしているのはリソースの面から合理的とはいえません */
126
+
127
+ /* Activity の onCreate 内などで一度だけ getWritableDatabase() を行い */
128
+
129
+ /* それを使い回しましょう */
130
+
131
+ /* onDestroy 内で閉じる処理をかけば十分です */
132
+
117
133
  ```