From 9e5babf9db52e64bdae60137be7696e56241fca6 Mon Sep 17 00:00:00 2001
From: xingzilong <xingzilong@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期五, 18 八月 2017 18:12:17 +0800
Subject: [PATCH] H264 NALU解析  并在RTSPServer判断

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/SurveillanceDao.java |  107 ++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 76 insertions(+), 31 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/SurveillanceDao.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/SurveillanceDao.java
index 1ebb548..6cc0f26 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/SurveillanceDao.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/SurveillanceDao.java
@@ -2,21 +2,20 @@
 
 import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
-import android.graphics.Bitmap;
 
 import java.io.File;
 import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.UUID;
 
-import cn.com.basic.face.base.Config;
-import cn.com.basic.face.discern.query.item.SurveillancePhotoQueryItem;
+import cn.com.basic.face.base.BaseApplication;
+import cn.com.basic.face.base.MainActivity;
+import cn.com.basic.face.discern.entity.OfflineSurveillance;
 import cn.com.basic.face.discern.query.item.SurveillanceQueryItem;
 import cn.com.basic.face.discern.query.item.UnknownQueryItem;
 import cn.com.basic.face.util.FileUtil;
-import cn.com.basic.face.util.SurveillanceQueryItemUtil;
-import cn.com.basic.face.util.UnknownSurveillanceQueryItemUtil;
 
 public class SurveillanceDao {
 
@@ -30,22 +29,28 @@
         if (bitmapList == null || bitmapList.size() == 0) {
             return;
         }
-        String rawDataFileName = UUID.randomUUID().toString()+"";
-        FileUtil.writeToFile(rawDataFileName, rawData);
-        String headPicture = "";
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        String createTime = sdf.format(new Date());
-        String sql = "insert offline_unknown(raw_data_path, camera_in_or_out, create_time) values('"+
-                rawDataFileName+"','"+
-                cameraInOrOut+"','"+
-                createTime+"','"+
-                "null" +"')";
-        SQLiteDatabase db = Config.sqlMap.getDb();
-        db.beginTransaction();
-        db.execSQL(sql);
-        db.endTransaction();
+        SQLiteDatabase db = null;
+        try {
+            String rawDataFileName = UUID.randomUUID().toString() + "";
+            FileUtil.writeToFile(rawDataFileName, rawData);
+            String headPicture = "";
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            String createTime = sdf.format(new Date());
+            String surveillanceId = UUID.randomUUID().toString();
+            String deviceId = BaseApplication.getInstance().getAndroidDevice().getDeviceId();
+            MainActivity.getInstance().db.execSQL(
+                    "insert into offline_surveillance(surveillance_id,device_id,raw_data_path, camera_in_or_out, create_time,device_company_id) values('" +
+                            surveillanceId + "','" +
+                            deviceId + "','" +
+                            rawDataFileName + "','" +
+                            cameraInOrOut + "','" +
+                            createTime + "','" +
+                            BaseApplication.getInstance().getAndroidDevice().getCompanyId() + "'" +")"
+            );
 
-        UnknownSurveillanceQueryItemUtil.getInstance().addItems(bitmapList);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
 
         //浜哄憳娉ㄥ唽鍙互閫夋嫨鏈湴鍥剧墖
         //鍚屾涓存椂琛�
@@ -57,18 +62,13 @@
 
     public UnknownQueryItem readOfflineUnknownFromLocal() {
         UnknownQueryItem item = null;
-        String sql = "select raw_data_path,camera_in_or_out,create_time from offline_unknown order by create_time create_time limit 1";
-        SQLiteDatabase db = Config.sqlMap.getDb();
-        db.beginTransaction();
-        Cursor c = db.rawQuery(sql, new String[]{});
+        Cursor c = MainActivity.getInstance().db.rawQuery("select raw_data_path,camera_in_or_out,create_time from offline_surveillance order by create_time limit 1", new String[]{});
         if (c.moveToFirst()) {
             item = new UnknownQueryItem();
             item.setRawDataPath(c.getString(c.getColumnIndex("raw_data_path")));
             item.setCameraInOrOut(c.getString(c.getColumnIndex("camera_in_or_out")));
             item.setCreateTime(c.getString(c.getColumnIndex("create_time")));
         }
-        c.close();
-        db.endTransaction();
         return item;
     }
 
@@ -78,15 +78,60 @@
             if (file.exists()) {
                 file.delete();
             }
-            String sql = "delete from offline_unknown where raw_data_path='"+item.getRawDataPath()+"'";
-            SQLiteDatabase db = Config.sqlMap.getDb();
-            db.beginTransaction();
-            db.execSQL(sql);
-            db.endTransaction();
+            MainActivity.getInstance().db.execSQL("delete from offline_surveillance where raw_data_path='"+item.getRawDataPath()+"'");
         }
         catch (Exception e) {
             e.printStackTrace();
         }
     }
 
+    public boolean hasMoreOfflineSurveillance() {
+        boolean hasMore = false;
+        String sql = "select count(*) from offline_surveillance order by create_time ";
+        Cursor c = MainActivity.getInstance().db.rawQuery(sql, new String[]{});
+        if (c.moveToFirst()) {
+            hasMore = c.getInt(0) > 0;
+        }
+        return hasMore;
+    }
+
+    /**
+     * 鍔犺浇OfflineSurllance琛�
+     * @return
+     */
+    public List<OfflineSurveillance>  getSurveillanceList(){
+        String sql="select surveillance_id,raw_data_path,camera_in_or_out,create_time,device_id from offline_surveillance limit 0, 10";
+        List<OfflineSurveillance> list=new ArrayList<OfflineSurveillance>();
+        OfflineSurveillance result=null;
+        Cursor c =MainActivity.getInstance().db.rawQuery(sql,new String[]{});
+        String deviceCompanyId = BaseApplication.getInstance().getAndroidDevice().getCompanyId();
+        String deviceId = BaseApplication.getInstance().getAndroidDevice().getDeviceId();
+        while (c.moveToNext()) {
+            result=new OfflineSurveillance();
+            result.setDeviceCompanyId(deviceCompanyId);
+            result.setDeviceId(deviceId);
+            result.setCameraInOrOut(c.getString(c.getColumnIndex("camera_in_or_out")));
+            result.setCreateTime(c.getString(c.getColumnIndex("create_time")));
+            result.setRawDataPath(c.getString(c.getColumnIndex("raw_data_path")));
+            result.setSurveillanceId(c.getString(c.getColumnIndex("surveillance_id")));
+            list.add(result);
+        }
+        return  list;
+    }
+
+    //鍒犻櫎宸蹭笂浼犵粰鏈嶅姟鍣ㄧ殑鏁版嵁
+    public void delSurllanceList(List<OfflineSurveillance> list){
+        for (OfflineSurveillance item : list) {
+            String sql="delete from offline_surveillance where 1=1 and surveillance_id='"+item.getSurveillanceId()+"'";
+            MainActivity.getInstance().db.execSQL(sql);
+        }
+    }
+
+    //鑾峰彇鏈悓姝ユ暟鎹�绘暟
+    public int  getSynDataCount(){
+        String sql="select count(*) from offline_surveillance";
+        Cursor c =MainActivity.getInstance().db.rawQuery(sql,new String[]{});
+        c.moveToFirst();
+        return c.getInt(0);
+    }
 }

--
Gitblit v1.8.0