database utils

chengzhenyu 8 年之前
父節點
當前提交
b3c25d747a

+ 4 - 0
app/src/main/java/ai/pai/lensman/bean/PhotoBean.java

@@ -11,6 +11,10 @@ public class PhotoBean implements Serializable{
11 11
 
12 12
     public String photoName;
13 13
 
14
+    public int sessionSeq;
15
+
16
+    public long sessionDate;
17
+
14 18
     public String sessionId;
15 19
 
16 20
     public String lensmanId;

+ 1 - 0
app/src/main/java/ai/pai/lensman/bean/SessionBean.java

@@ -8,6 +8,7 @@ import ai.pai.lensman.bean.PhotoBean;
8 8
 public class SessionBean implements Serializable{
9 9
 
10 10
     public int sessionSeq;
11
+    public long sessionDate;
11 12
     public String sessionId;
12 13
     public ArrayList<PhotoBean> sessionPhotos;
13 14
 

+ 4 - 0
app/src/main/java/ai/pai/lensman/db/DBHelper.java

@@ -19,6 +19,8 @@ public class DBHelper extends SQLiteOpenHelper{
19 19
         String CAPTURE_TIME = "capture_time";
20 20
         String SESSION_ID = "session_id";
21 21
         String LENSMAN_ID = "lensman_id";
22
+        String SESSION_DATE = "session_date";
23
+        String SESSION_SEQ = "session_seq";
22 24
         String IS_RAW_PHOTO= "is_raw_photo";
23 25
         String IS_UPLOADED = "is_uploaded";
24 26
 
@@ -61,6 +63,8 @@ public class DBHelper extends SQLiteOpenHelper{
61 63
         sql.append(PHOTO_INFO_COLUMNS.LENSMAN_ID).append(" VARCHAR, ");
62 64
         sql.append(PHOTO_INFO_COLUMNS.SESSION_ID).append(" VARCHAR, ");
63 65
         sql.append(PHOTO_INFO_COLUMNS.IS_RAW_PHOTO).append(" INTEGER, ");
66
+        sql.append(PHOTO_INFO_COLUMNS.SESSION_SEQ).append(" INTEGER, ");
67
+        sql.append(PHOTO_INFO_COLUMNS.SESSION_DATE).append(" LONG, ");
64 68
         sql.append(PHOTO_INFO_COLUMNS.IS_UPLOADED).append(" INTEGER, ");
65 69
         sql.append(PHOTO_INFO_COLUMNS.CAPTURE_TIME).append(" LONG ");
66 70
         sql.append(")");

+ 71 - 2
app/src/main/java/ai/pai/lensman/db/DBService.java

@@ -5,7 +5,12 @@ import android.content.Context;
5 5
 import android.database.Cursor;
6 6
 import android.database.sqlite.SQLiteDatabase;
7 7
 
8
+import com.android.common.utils.LogHelper;
9
+
10
+import java.util.ArrayList;
11
+
8 12
 import ai.pai.lensman.bean.PhotoBean;
13
+import ai.pai.lensman.bean.SessionBean;
9 14
 
10 15
 
11 16
 public class DBService {
@@ -42,6 +47,23 @@ public class DBService {
42 47
         }
43 48
     }
44 49
 
50
+    public void clearDB(){
51
+        SQLiteDatabase db = null;
52
+        try{
53
+            db = dbHelper.getReadableDatabase();
54
+            db.beginTransaction();
55
+            db.execSQL("delete from "+ DBHelper.PHOTO_INFO_TABLE);
56
+        }catch (Exception e){
57
+            LogHelper.e(TAG,"clear db ,error occurs "+e);
58
+        }finally {
59
+            try {
60
+                db.endTransaction();
61
+            } catch (Exception e) {
62
+                e.printStackTrace();
63
+            }
64
+            closeDB(db);
65
+        }
66
+    }
45 67
 
46 68
     private PhotoBean cursor2PhotoBean(Cursor c) {
47 69
         PhotoBean item = new PhotoBean();
@@ -53,6 +75,8 @@ public class DBService {
53 75
         item.photoId = c.getLong(c.getColumnIndex(DBHelper.PHOTO_INFO_COLUMNS.PHOTO_ID));
54 76
         item.photoName = c.getString(c.getColumnIndex(DBHelper.PHOTO_INFO_COLUMNS.PHOTO_NAME));
55 77
         item.photoPath = c.getString(c.getColumnIndex(DBHelper.PHOTO_INFO_COLUMNS.PHOTO_PATH));
78
+        item.sessionDate = c.getLong(c.getColumnIndex(DBHelper.PHOTO_INFO_COLUMNS.SESSION_DATE));
79
+        item.sessionSeq = c.getInt(c.getColumnIndex(DBHelper.PHOTO_INFO_COLUMNS.SESSION_SEQ));
56 80
         return item;
57 81
     }
58 82
 
@@ -66,19 +90,64 @@ public class DBService {
66 90
         cv.put(DBHelper.PHOTO_INFO_COLUMNS.SESSION_ID, item.sessionId);
67 91
         cv.put(DBHelper.PHOTO_INFO_COLUMNS.LENSMAN_ID,item.lensmanId);
68 92
         cv.put(DBHelper.PHOTO_INFO_COLUMNS.IS_UPLOADED,item.isUploaded);
93
+        cv.put(DBHelper.PHOTO_INFO_COLUMNS.SESSION_DATE,item.sessionDate);
94
+        cv.put(DBHelper.PHOTO_INFO_COLUMNS.SESSION_SEQ,item.sessionSeq);
69 95
         return cv;
70 96
     }
71 97
 
72 98
     public void addPhotoBean(PhotoBean bean){
73
-
99
+        SQLiteDatabase db = null;
100
+        synchronized (DB_LOCK) {
101
+            try {
102
+                db = dbHelper.getWritableDatabase();
103
+                db.beginTransaction();
104
+                db.insertWithOnConflict(DBHelper.PHOTO_INFO_TABLE, null, photoBean2ContentValues(bean),
105
+                        SQLiteDatabase.CONFLICT_REPLACE);
106
+                db.setTransactionSuccessful();
107
+            } catch (Exception e) {
108
+                LogHelper.d(TAG, "dbservice addUploadPhoto error happen " + e);
109
+            } finally {
110
+                try {
111
+                    db.endTransaction();
112
+                } catch (Exception e) {
113
+                    e.printStackTrace();
114
+                }
115
+                closeDB(db);
116
+            }
117
+        }
74 118
     }
75 119
 
76 120
     public void updatePhotoBean(PhotoBean bean){
77
-
121
+        addPhotoBean(bean);
78 122
     }
79 123
 
80 124
     public void deletePhotoBean(PhotoBean bean){
125
+        SQLiteDatabase db = null;
126
+        synchronized (DB_LOCK) {
127
+            try {
128
+                db = dbHelper.getReadableDatabase();
129
+                db.beginTransaction();
130
+                db.execSQL("delete  from " + DBHelper.PHOTO_INFO_TABLE + " where "
131
+                        + DBHelper.PHOTO_INFO_COLUMNS.PHOTO_PATH + " = '" + bean.photoPath + "'");
132
+                db.setTransactionSuccessful();
133
+            } catch (Exception e) {
134
+                LogHelper.d(TAG, "dbservice deleteUploadPhoto error happen " + e);
135
+            } finally {
136
+                try {
137
+                    db.endTransaction();
138
+                } catch (Exception e) {
139
+                    e.printStackTrace();
140
+                }
141
+                closeCursorAndDB(null, db);
142
+            }
143
+        }
144
+    }
145
+
146
+    public ArrayList<SessionBean> getSessionBeanListByDay(){
147
+        ArrayList<SessionBean> sessionBeanArrayList = new ArrayList<>();
148
+        //TODO
81 149
 
150
+        return sessionBeanArrayList;
82 151
     }
83 152
 
84 153
 }