OSDN Git Service

Mac移行後
[train-delayed/source.git] / workspace / TrainDelayed / src / com / td / db / PrefectureDao.java
1 package com.td.db;\r
2 \r
3 import java.util.ArrayList;\r
4 import java.util.List;\r
5 \r
6 import android.database.Cursor;\r
7 import android.database.sqlite.SQLiteDatabase;\r
8 import android.database.sqlite.SQLiteStatement;\r
9 \r
10 import com.td.utility.Debug;\r
11 \r
12 public class PrefectureDao {\r
13         private static PrefectureDao instance = null;\r
14         private SQLiteStatement insertStmt = null;\r
15         private SQLiteStatement deleteStmt = null;\r
16 \r
17         public static PrefectureDao getInstance() {\r
18                 if (instance == null) {\r
19                         instance = new PrefectureDao();\r
20                 }\r
21                 return instance;\r
22         }\r
23 \r
24         private PrefectureDao() {\r
25 \r
26         }\r
27 \r
28         public void onCreate(SQLiteDatabase db) {\r
29                 db.execSQL("CREATE TABLE PREFECTURE ("\r
30                                 + android.provider.BaseColumns._ID\r
31                                 + " INTEGER PRIMARY KEY AUTOINCREMENT," + "NAME TEXT" + ");");\r
32         }\r
33 \r
34         public void init(SQLiteDatabase db) {\r
35 \r
36         }\r
37 \r
38         public void start(SQLiteDatabase db) {\r
39                 insertStmt = db.compileStatement("INSERT INTO PREFECTURE (" + "NAME"\r
40                                 + ") VALUES (" + "?" + ");");\r
41                 deleteStmt = db.compileStatement("DELETE FROM PREFECTURE");\r
42         }\r
43 \r
44         public List<Prefecture> search() {\r
45                 return search(null, null, android.provider.BaseColumns._ID);\r
46         }\r
47 \r
48         private List<Prefecture> search(String selection, String[] selectionArgs,\r
49                         String orderBy) {\r
50                 List<Prefecture> list = new ArrayList<Prefecture>();\r
51                 DatabaseHelper helper = DatabaseHelper.getInstance();\r
52                 SQLiteDatabase db = helper.getReadableDatabase();\r
53 \r
54                 Cursor cursor = db.query("PREFECTURE", new String[] {\r
55                                 android.provider.BaseColumns._ID, "NAME", }, selection,\r
56                                 selectionArgs, null, null, orderBy);\r
57                 try {\r
58                         cursor.moveToFirst();\r
59                         int size = cursor.getCount();\r
60                         for (int i = 0; i < size; i++) {\r
61                                 Prefecture prefecture = new Prefecture(cursor.getInt(0),\r
62                                                 cursor.getString(1));\r
63                                 list.add(prefecture);\r
64                                 cursor.moveToNext();\r
65                         }\r
66                 } finally {\r
67                         if (cursor != null) {\r
68                                 cursor.close();\r
69                         }\r
70                 }\r
71                 return list;\r
72         }\r
73 \r
74         public void delete() {\r
75                 DatabaseHelper helper = DatabaseHelper.getInstance();\r
76                 SQLiteDatabase db = helper.getWritableDatabase();\r
77                 db.beginTransaction();\r
78                 try {\r
79                         SQLiteStatement stmt = deleteStmt;\r
80                         stmt.execute();\r
81                         db.setTransactionSuccessful();\r
82                 } finally {\r
83                         db.endTransaction();\r
84                 }\r
85         }\r
86 \r
87         public long addNT(Prefecture prefecture) {\r
88                 int i = 1;\r
89                 SQLiteStatement stmt = insertStmt;\r
90                 stmt.bindString(i++, prefecture.getName());\r
91                 long id = stmt.executeInsert();\r
92                 return id;\r
93         }\r
94 \r
95         public void deleteNT() {\r
96                 SQLiteStatement stmt = deleteStmt;\r
97                 stmt.execute();\r
98         }\r
99 }\r