OSDN Git Service

ワークスペース初期構築
[jugglemaster/source.git] / workspace / JuggleMaster / src / com / jm / db / DatabaseHelper.java
1 package com.jm.db;\r
2 \r
3 import android.content.Context;\r
4 import android.database.SQLException;\r
5 import android.database.sqlite.SQLiteDatabase;\r
6 import android.database.sqlite.SQLiteOpenHelper;\r
7 \r
8 import com.jm.PatternList;\r
9 import com.jm.utility.Debug;\r
10 import com.jm.utility.JmException;\r
11 \r
12 public class DatabaseHelper extends SQLiteOpenHelper {\r
13         private static DatabaseHelper instance = null;\r
14 \r
15         public static DatabaseHelper getInstance() {\r
16                 return instance;\r
17         }\r
18 \r
19         public static void init(Context context) throws JmException {\r
20                 if (instance != null){\r
21                         return;\r
22                 }\r
23                 DatabaseHelper helper = new DatabaseHelper(context);\r
24                 SQLiteDatabase db = helper.getWritableDatabase();\r
25                 int count;\r
26                 count = Dao.getInstance().count();\r
27                 Dao.getInstance().start(db);\r
28                 if (count <= 0) {\r
29                         new PatternList();\r
30                 }\r
31         }\r
32 \r
33         public DatabaseHelper(Context context) {\r
34                 super(context, "JuggleMaster.db", null, 1);\r
35                 instance = this;\r
36         }\r
37 \r
38         @Override\r
39         public void onCreate(SQLiteDatabase db) {\r
40                 db.beginTransaction();\r
41                 try {\r
42                         Dao.getInstance().init(db);\r
43                         db.setTransactionSuccessful();\r
44                 } catch (SQLException e) {\r
45                         Debug.d(this, null, e);\r
46                         throw e;\r
47                 } finally {\r
48                         db.endTransaction();\r
49                 }\r
50         }\r
51 \r
52         @Override\r
53         public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {\r
54 \r
55         }\r
56 }\r