data model and database structure

chengzhenyu 8 年之前
父节点
当前提交
be4987b306

+ 5 - 0
app/src/main/AndroidManifest.xml

@@ -76,6 +76,11 @@
76 76
             android:label="@string/app_name"
77 77
             android:screenOrientation="portrait"></activity>
78 78
 
79
+        <service android:name=".service.UpgradeService" />
80
+
81
+        <service android:name=".service.UploadService" />
82
+
83
+
79 84
     </application>
80 85
 
81 86
 </manifest>

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

@@ -0,0 +1,23 @@
1
+package ai.pai.lensman.bean;
2
+
3
+
4
+import java.io.Serializable;
5
+
6
+public class PhotoBean implements Serializable{
7
+
8
+    public long    photoId;
9
+
10
+    public String photoPath;
11
+
12
+    public String photoName;
13
+
14
+    public String sessionId;
15
+
16
+    public String lensmanId;
17
+
18
+    public long captureTime;
19
+
20
+    public boolean isUploaded;
21
+
22
+    public boolean isRawPhoto;
23
+}

+ 2 - 2
app/src/main/java/ai/pai/lensman/upload/SessionBean.java

@@ -1,9 +1,9 @@
1
-package ai.pai.lensman.upload;
1
+package ai.pai.lensman.bean;
2 2
 
3 3
 import java.io.Serializable;
4 4
 import java.util.ArrayList;
5 5
 
6
-import ai.pai.lensman.session.PhotoBean;
6
+import ai.pai.lensman.bean.PhotoBean;
7 7
 
8 8
 public class SessionBean implements Serializable{
9 9
 

+ 1 - 1
app/src/main/java/ai/pai/lensman/box/ApiService.java

@@ -2,7 +2,7 @@ package ai.pai.lensman.box;
2 2
 
3 3
 import java.util.List;
4 4
 
5
-import ai.pai.lensman.session.PhotoBean;
5
+import ai.pai.lensman.bean.PhotoBean;
6 6
 import retrofit2.Call;
7 7
 import retrofit2.http.Field;
8 8
 import retrofit2.http.FormUrlEncoded;

+ 13 - 110
app/src/main/java/ai/pai/lensman/db/DBHelper.java

@@ -10,66 +10,21 @@ public class DBHelper extends SQLiteOpenHelper{
10 10
     private static final int DB_VERSION = 1;
11 11
     private static DBHelper instance;
12 12
 
13
-    public static final String GROUP_INFO_TABLE = "group_info_table";
14
-
15
-    public static final String GROUP_LIST_TABLE = "group_list_table";
16
-
17
-    public interface GROUP_INFO_COLUMNS {
18
-        String GROUP_NAME = "group_name";
19
-        String GROUP_ID = "group_id";
20
-        String CREATE_TIME = "create_time";
21
-        String GROUP_LOCK = "is_locked";
22
-        String GROUP_DESC = "group_desc";
23
-        String GROUP_FROM = "group_from";
24
-        String GROUP_AVATAR_ID = "group_avatar_id";
25
-        String GROUP_AVATAR_URL = "group_avatar_url";
26
-        String GROUP_PHOTO_COUNT = "group_photo_count";
27
-        String CURRENT_PHOTO_ID = "current_id";
28
-        String LAST_ENTER_TIME = "last_enter_time";
29
-    }
30
-
31
-
32 13
     public static final String PHOTO_INFO_TABLE = "photo_info_table";
33 14
 
34
-    public static final String RECENT_PHOTO_TABLE = "recent_photos_table";
35
-
36
-
37 15
     public interface PHOTO_INFO_COLUMNS {
38
-        String PHOTO_NAME = "photo_name";
39 16
         String PHOTO_ID = "photo_id";
17
+        String PHOTO_NAME = "photo_name";
18
+        String PHOTO_PATH = "photo_path";
40 19
         String CAPTURE_TIME = "capture_time";
41
-        String THUMBNAIL_URL = "thumbnail_url";
42
-        String PHOTO_URL = "photo_url";
43
-        String PHOTO_GROUP_ID = "group_id";
44
-        String PHOTO_UPLOADER_ID = "uploader_id";
45
-        String THUMBNAIL_WIDTH = "width";
46
-        String THUMBNAIL_HEIGHT = "height";
47
-        String GROUP_AVATAR = "group_avatar";
48
-        String UPLOADER_NAME = "uploader_name";
49
-        String UPLOADER_AVATAR = "uploader_avatar";
50
-        String COMMENT_NUM = "comment_num";
51
-        String THUMBUP_NUM = "thumbup_num";
52
-        String GROUP_NAME = "group_name";
53
-        String GROUP_DEFAULT_AVATAR = "group_default_avatar";
54
-        String PHOTO_FROM = "photo_from";
55
-        String GROUP_FROM = "group_from";
56
-        String THUMB_UP = "thumb_up";
57
-        String BIG_THUMBNAIL_URL = "big_thumbnail_url";
58
-        String MEDIUM_PHOTO_URL = "medium_photo_url";
59
-        String RAW_PHOTO_URL = "raw_photo_url";
60
-        String SHARE_PHOTO_URL = "share_url";
61
-    }
62
-
63
-    public static final String UPLOAD_PHOTO_TABLE = "upload_photos_table";
20
+        String SESSION_ID = "session_id";
21
+        String LENSMAN_ID = "lensman_id";
22
+        String IS_RAW_PHOTO= "is_raw_photo";
23
+        String IS_UPLOADED = "is_uploaded";
64 24
 
65
-    public interface UPLOAD_PHOTO_COLUMNS {
66
-        String PHOTO_PATH = "photo_path";
67
-        String USER_ID = "user_id";
68
-        String GROUP_ID = "group_id";
69
-        String NICK_NAME = "nickname";
70
-        String CREATE_TIME = "create_time";
71 25
     }
72 26
 
27
+
73 28
     private DBHelper(Context context){
74 29
         super(context,DB_NAME,null,DB_VERSION);
75 30
     }
@@ -92,31 +47,9 @@ public class DBHelper extends SQLiteOpenHelper{
92 47
     }
93 48
 
94 49
     private void createTables(SQLiteDatabase db){
95
-        createUploadTable(db);
96
-        createGroupTable(db,GROUP_INFO_TABLE);
97
-        createGroupTable(db,GROUP_LIST_TABLE);
98 50
         createPhotoTable(db,PHOTO_INFO_TABLE);
99
-        createPhotoTable(db,RECENT_PHOTO_TABLE);
100 51
     }
101 52
 
102
-    private void createGroupTable(SQLiteDatabase db, String tableName){
103
-        StringBuilder sql = new StringBuilder();
104
-        sql.append("CREATE TABLE IF NOT EXISTS ");
105
-        sql.append(tableName).append("( ");
106
-        sql.append(GROUP_INFO_COLUMNS.GROUP_ID).append(" VARCHAR PRIMARY KEY, ");
107
-        sql.append(GROUP_INFO_COLUMNS.GROUP_NAME).append(" VARCHAR, ");
108
-        sql.append(GROUP_INFO_COLUMNS.GROUP_DESC).append(" VARCHAR, ");
109
-        sql.append(GROUP_INFO_COLUMNS.GROUP_FROM).append(" VARCHAR, ");
110
-        sql.append(GROUP_INFO_COLUMNS.GROUP_AVATAR_URL).append(" VARCHAR, ");
111
-        sql.append(GROUP_INFO_COLUMNS.GROUP_PHOTO_COUNT).append(" INTEGER, " );
112
-        sql.append(GROUP_INFO_COLUMNS.GROUP_LOCK).append(" INTEGER, ");
113
-        sql.append(GROUP_INFO_COLUMNS.LAST_ENTER_TIME).append(" LONG, ");
114
-        sql.append(GROUP_INFO_COLUMNS.GROUP_AVATAR_ID).append(" INTEGER, ");
115
-        sql.append(GROUP_INFO_COLUMNS.CURRENT_PHOTO_ID).append(" INTEGER, ");
116
-        sql.append(GROUP_INFO_COLUMNS.CREATE_TIME).append(" VARCHAR ");
117
-        sql.append(")");
118
-        db.execSQL(sql.toString());
119
-    }
120 53
 
121 54
     private void createPhotoTable(SQLiteDatabase db, String tableName){
122 55
         StringBuilder sql = new StringBuilder();
@@ -124,44 +57,14 @@ public class DBHelper extends SQLiteOpenHelper{
124 57
         sql.append(tableName).append("(");
125 58
         sql.append(PHOTO_INFO_COLUMNS.PHOTO_ID).append(" LONG PRIMARY KEY, ");
126 59
         sql.append(PHOTO_INFO_COLUMNS.PHOTO_NAME).append(" VARCHAR, ");
127
-        sql.append(PHOTO_INFO_COLUMNS.PHOTO_GROUP_ID).append(" VARCHAR, ");
128
-        sql.append(PHOTO_INFO_COLUMNS.PHOTO_UPLOADER_ID).append(" VARCHAR, ");
129
-        sql.append(PHOTO_INFO_COLUMNS.CAPTURE_TIME).append(" VARCHAR, ");
130
-        sql.append(PHOTO_INFO_COLUMNS.PHOTO_URL).append(" VARCHAR, ");
131
-        sql.append(PHOTO_INFO_COLUMNS.GROUP_AVATAR).append(" VARCHAR, ");
132
-        sql.append(PHOTO_INFO_COLUMNS.GROUP_DEFAULT_AVATAR).append(" VARCHAR, ");
133
-        sql.append(PHOTO_INFO_COLUMNS.GROUP_NAME).append(" VARCHAR, ");
134
-        sql.append(PHOTO_INFO_COLUMNS.UPLOADER_AVATAR).append(" VARCHAR, ");
135
-        sql.append(PHOTO_INFO_COLUMNS.UPLOADER_NAME).append(" VARCHAR, ");
136
-        sql.append(PHOTO_INFO_COLUMNS.COMMENT_NUM).append(" INTEGER, ");
137
-        sql.append(PHOTO_INFO_COLUMNS.THUMBUP_NUM).append(" INTEGER, ");
138
-        sql.append(PHOTO_INFO_COLUMNS.GROUP_FROM).append(" INTEGER, ");
139
-        sql.append(PHOTO_INFO_COLUMNS.THUMB_UP).append(" INTEGER, ");
140
-        sql.append(PHOTO_INFO_COLUMNS.PHOTO_FROM).append(" INTEGER, ");
141
-        sql.append(PHOTO_INFO_COLUMNS.THUMBNAIL_WIDTH).append(" SHORT, ");
142
-        sql.append(PHOTO_INFO_COLUMNS.THUMBNAIL_HEIGHT).append(" SHORT, ");
143
-        sql.append(PHOTO_INFO_COLUMNS.BIG_THUMBNAIL_URL).append(" VARCHAR, ");
144
-        sql.append(PHOTO_INFO_COLUMNS.MEDIUM_PHOTO_URL).append(" VARCHAR, ");
145
-        sql.append(PHOTO_INFO_COLUMNS.RAW_PHOTO_URL).append(" VARCHAR, ");
146
-        sql.append(PHOTO_INFO_COLUMNS.SHARE_PHOTO_URL).append(" VARCHAR, ");
147
-        sql.append(PHOTO_INFO_COLUMNS.THUMBNAIL_URL).append(" VARCHAR ");
148
-        sql.append(")");
149
-        db.execSQL(sql.toString());
150
-    }
151
-
152
-
153
-    private void createUploadTable(SQLiteDatabase db){
154
-        StringBuilder sql = new StringBuilder();
155
-        sql.append("CREATE TABLE IF NOT EXISTS ");
156
-        sql.append(UPLOAD_PHOTO_TABLE).append("(");
157
-        sql.append(UPLOAD_PHOTO_COLUMNS.PHOTO_PATH).append(" VARCHAR PRIMARY KEY, ");
158
-        sql.append(UPLOAD_PHOTO_COLUMNS.GROUP_ID).append(" VARCHAR, ");
159
-        sql.append(UPLOAD_PHOTO_COLUMNS.USER_ID).append(" VARCHAR, ");
160
-        sql.append(UPLOAD_PHOTO_COLUMNS.CREATE_TIME).append(" LONG, ");
161
-        sql.append(UPLOAD_PHOTO_COLUMNS.NICK_NAME).append(" VARCHAR ");
60
+        sql.append(PHOTO_INFO_COLUMNS.PHOTO_PATH).append(" VARCHAR, ");
61
+        sql.append(PHOTO_INFO_COLUMNS.LENSMAN_ID).append(" VARCHAR, ");
62
+        sql.append(PHOTO_INFO_COLUMNS.SESSION_ID).append(" VARCHAR, ");
63
+        sql.append(PHOTO_INFO_COLUMNS.IS_RAW_PHOTO).append(" INTEGER, ");
64
+        sql.append(PHOTO_INFO_COLUMNS.IS_UPLOADED).append(" INTEGER, ");
65
+        sql.append(PHOTO_INFO_COLUMNS.CAPTURE_TIME).append(" LONG ");
162 66
         sql.append(")");
163 67
         db.execSQL(sql.toString());
164 68
     }
165 69
 
166
-
167 70
 }

+ 43 - 1
app/src/main/java/ai/pai/lensman/db/DBService.java

@@ -1,9 +1,12 @@
1 1
 package ai.pai.lensman.db;
2 2
 
3
+import android.content.ContentValues;
3 4
 import android.content.Context;
4 5
 import android.database.Cursor;
5 6
 import android.database.sqlite.SQLiteDatabase;
6 7
 
8
+import ai.pai.lensman.bean.PhotoBean;
9
+
7 10
 
8 11
 public class DBService {
9 12
 
@@ -11,7 +14,7 @@ public class DBService {
11 14
     private static Object DB_LOCK = new Object();
12 15
     private DBHelper dbHelper;
13 16
 
14
-    private static final String TAG = "czy";
17
+    private static final String TAG = "DBService";
15 18
 
16 19
     private DBService(Context context) {
17 20
         dbHelper = DBHelper.getInstance(context);
@@ -39,4 +42,43 @@ public class DBService {
39 42
         }
40 43
     }
41 44
 
45
+
46
+    private PhotoBean cursor2PhotoBean(Cursor c) {
47
+        PhotoBean item = new PhotoBean();
48
+        item.lensmanId = c.getString(c.getColumnIndex(DBHelper.PHOTO_INFO_COLUMNS.LENSMAN_ID));
49
+        item.sessionId = c.getString(c.getColumnIndex(DBHelper.PHOTO_INFO_COLUMNS.SESSION_ID));
50
+        item.isRawPhoto =(c.getInt(c.getColumnIndex(DBHelper.PHOTO_INFO_COLUMNS.IS_RAW_PHOTO))>0);
51
+        item.isUploaded = (c.getInt(c.getColumnIndex(DBHelper.PHOTO_INFO_COLUMNS.IS_UPLOADED))>0);
52
+        item.captureTime = c.getLong(c.getColumnIndex(DBHelper.PHOTO_INFO_COLUMNS.CAPTURE_TIME));
53
+        item.photoId = c.getLong(c.getColumnIndex(DBHelper.PHOTO_INFO_COLUMNS.PHOTO_ID));
54
+        item.photoName = c.getString(c.getColumnIndex(DBHelper.PHOTO_INFO_COLUMNS.PHOTO_NAME));
55
+        item.photoPath = c.getString(c.getColumnIndex(DBHelper.PHOTO_INFO_COLUMNS.PHOTO_PATH));
56
+        return item;
57
+    }
58
+
59
+    private ContentValues photoBean2ContentValues(PhotoBean item) {
60
+        ContentValues cv = new ContentValues();
61
+        cv.put(DBHelper.PHOTO_INFO_COLUMNS.CAPTURE_TIME, item.captureTime);
62
+        cv.put(DBHelper.PHOTO_INFO_COLUMNS.IS_RAW_PHOTO, item.isRawPhoto ? 1: 0);
63
+        cv.put(DBHelper.PHOTO_INFO_COLUMNS.PHOTO_ID, item.photoId);
64
+        cv.put(DBHelper.PHOTO_INFO_COLUMNS.PHOTO_NAME, item.photoName);
65
+        cv.put(DBHelper.PHOTO_INFO_COLUMNS.PHOTO_PATH, item.photoPath);
66
+        cv.put(DBHelper.PHOTO_INFO_COLUMNS.SESSION_ID, item.sessionId);
67
+        cv.put(DBHelper.PHOTO_INFO_COLUMNS.LENSMAN_ID,item.lensmanId);
68
+        cv.put(DBHelper.PHOTO_INFO_COLUMNS.IS_UPLOADED,item.isUploaded);
69
+        return cv;
70
+    }
71
+
72
+    public void addPhotoBean(PhotoBean bean){
73
+
74
+    }
75
+
76
+    public void updatePhotoBean(PhotoBean bean){
77
+
78
+    }
79
+
80
+    public void deletePhotoBean(PhotoBean bean){
81
+
82
+    }
83
+
42 84
 }

+ 19 - 0
app/src/main/java/ai/pai/lensman/service/UploadService.java

@@ -0,0 +1,19 @@
1
+package ai.pai.lensman.service;
2
+
3
+import android.app.IntentService;
4
+import android.content.Intent;
5
+
6
+public class UploadService extends IntentService {
7
+
8
+    private static final String TAG = "UploadService";
9
+
10
+    public UploadService(){
11
+        super(TAG);
12
+    }
13
+
14
+    @Override
15
+    protected void onHandleIntent(Intent intent) {
16
+
17
+    }
18
+
19
+}

+ 0 - 10
app/src/main/java/ai/pai/lensman/session/PhotoBean.java

@@ -1,10 +0,0 @@
1
-package ai.pai.lensman.session;
2
-
3
-
4
-import java.io.Serializable;
5
-
6
-public class PhotoBean implements Serializable{
7
-
8
-    public String photoPath;
9
-
10
-}

+ 1 - 0
app/src/main/java/ai/pai/lensman/session/PhotoRecyclerAdapter.java

@@ -12,6 +12,7 @@ import com.android.common.utils.DeviceUtils;
12 12
 import java.util.ArrayList;
13 13
 
14 14
 import ai.pai.lensman.R;
15
+import ai.pai.lensman.bean.PhotoBean;
15 16
 import butterknife.BindView;
16 17
 import butterknife.ButterKnife;
17 18
 

+ 2 - 1
app/src/main/java/ai/pai/lensman/session/SessionActivity.java

@@ -10,8 +10,9 @@ import android.widget.TextView;
10 10
 
11 11
 import ai.pai.lensman.R;
12 12
 import ai.pai.lensman.base.BaseActivity;
13
+import ai.pai.lensman.bean.PhotoBean;
13 14
 import ai.pai.lensman.qrcode.QRCaptureActivity;
14
-import ai.pai.lensman.upload.SessionBean;
15
+import ai.pai.lensman.bean.SessionBean;
15 16
 import butterknife.BindView;
16 17
 import butterknife.ButterKnife;
17 18
 import butterknife.OnClick;

+ 2 - 0
app/src/main/java/ai/pai/lensman/session/SessionContract.java

@@ -1,5 +1,7 @@
1 1
 package ai.pai.lensman.session;
2 2
 
3
+import ai.pai.lensman.bean.PhotoBean;
4
+
3 5
 /**
4 6
  * Created by chengzhenyu on 2016/7/7.
5 7
  */

+ 1 - 0
app/src/main/java/ai/pai/lensman/session/SessionInteractor.java

@@ -6,6 +6,7 @@ import java.util.List;
6 6
 import java.util.Timer;
7 7
 import java.util.TimerTask;
8 8
 
9
+import ai.pai.lensman.bean.PhotoBean;
9 10
 import ai.pai.lensman.box.ApiClient;
10 11
 import ai.pai.lensman.db.Preferences;
11 12
 import retrofit2.Call;

+ 2 - 0
app/src/main/java/ai/pai/lensman/session/SessionPresenterImpl.java

@@ -4,6 +4,8 @@ import android.content.Context;
4 4
 
5 5
 import java.util.ArrayList;
6 6
 
7
+import ai.pai.lensman.bean.PhotoBean;
8
+
7 9
 public class SessionPresenterImpl implements SessionContract.SessionPresenter ,SessionInteractor.SessionListener{
8 10
 
9 11
     private Context context;

+ 1 - 0
app/src/main/java/ai/pai/lensman/upload/SessionRecyclerAdapter.java

@@ -13,6 +13,7 @@ import com.android.common.utils.DeviceUtils;
13 13
 import java.util.ArrayList;
14 14
 
15 15
 import ai.pai.lensman.R;
16
+import ai.pai.lensman.bean.SessionBean;
16 17
 import butterknife.BindView;
17 18
 import butterknife.ButterKnife;
18 19
 

+ 1 - 0
app/src/main/java/ai/pai/lensman/upload/UploadActivity.java

@@ -13,6 +13,7 @@ import java.util.ArrayList;
13 13
 
14 14
 import ai.pai.lensman.R;
15 15
 import ai.pai.lensman.base.BaseActivity;
16
+import ai.pai.lensman.bean.SessionBean;
16 17
 import ai.pai.lensman.briefs.BriefsActivity;
17 18
 import butterknife.BindView;
18 19
 import butterknife.ButterKnife;

+ 2 - 0
app/src/main/java/ai/pai/lensman/upload/UploadContract.java

@@ -2,6 +2,8 @@ package ai.pai.lensman.upload;
2 2
 
3 3
 import java.util.ArrayList;
4 4
 
5
+import ai.pai.lensman.bean.SessionBean;
6
+
5 7
 /**
6 8
  * Created by chengzhenyu on 2016/7/7.
7 9
  */

+ 1 - 0
app/src/main/java/ai/pai/lensman/upload/UploadPresenterImpl.java

@@ -5,6 +5,7 @@ import android.content.Intent;
5 5
 
6 6
 import java.util.ArrayList;
7 7
 
8
+import ai.pai.lensman.bean.SessionBean;
8 9
 import ai.pai.lensman.session.SessionActivity;
9 10
 
10 11
 public class UploadPresenterImpl implements UploadContract.UploadPresenter {