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/sync/up/OfflineSurveillanceUpSync.java | 94 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 93 insertions(+), 1 deletions(-) diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/OfflineSurveillanceUpSync.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/OfflineSurveillanceUpSync.java index 6f11149..de84af2 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/OfflineSurveillanceUpSync.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/OfflineSurveillanceUpSync.java @@ -1,5 +1,22 @@ package cn.com.basic.face.service.sync.up; +import com.alibaba.fastjson.JSONArray; + +import org.xutils.http.RequestParams; +import org.xutils.x; + +import java.io.File; +import java.io.FileWriter; +import java.util.List; + +import cn.com.basic.face.base.BaseApplication; +import cn.com.basic.face.discern.common.BaseCommonCallBack; +import cn.com.basic.face.discern.common.CommonVariables; +import cn.com.basic.face.discern.query.item.UnknownQueryItem; +import cn.com.basic.face.service.sqlite.SurveillanceDao; +import cn.com.basic.face.util.AppApi; +import cn.com.basic.face.util.FileUtil; + public class OfflineSurveillanceUpSync extends BaseSync { private static OfflineSurveillanceUpSync instance = new OfflineSurveillanceUpSync(); @@ -7,13 +24,88 @@ return instance; } + + public void upSync() { + final UnknownQueryItem item = SurveillanceDao.getInstance().readOfflineUnknownFromLocal(); + try { + RequestParams params = new RequestParams(); + + File rawSurveillancePhotoFile = FileUtil.getFile(item.getRawDataPath()); + + params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId()); + params.addBodyParameter("InOrOutCamera", item.getCameraInOrOut() + ""); + params.addBodyParameter("deviceId", BaseApplication.getInstance().getAndroidDevice().getDeviceId()); + params.addBodyParameter("rawSurveillancePhoto", rawSurveillancePhotoFile); + + File path = BaseApplication.getInstance().getFilesDir(); + File f0 = new File(path, "f0"); + if (!f0.exists()) { + f0.createNewFile(); + } + + FileWriter fw0 = new FileWriter(f0); + fw0.write("test1"); + fw0.close(); + params.setUri(AppApi.BASE_URL + AppApi.SURVEILLANCE_UPLOAD); + params.addBodyParameter("f0", f0); + params.addBodyParameter("rawSurveillancePhoto", rawSurveillancePhotoFile); + params.addBodyParameter("androidCreateTime", item.getCreateTime()); + params.addBodyParameter("offlineUnknown", CommonVariables.Surveillance.OFFLINE_SURVEILLANCE_ITEM_TYPE +""); + params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId()); + x.http().post(params, new BaseCommonCallBack() { + @Override + public void success() { + try { + if (1==1) { + SurveillanceDao.getInstance().removeLocalSqliteRecord(item); + } + sync(); + } catch(Exception e) { + e.printStackTrace(); + } + } + }); + }catch(Exception e) { + e.printStackTrace(); + } + } + + /** + *offline_surveillance琛ㄥ悜涓婂悓姝� + */ @Override public void doSync() { + try{ + final String tableName = "offline_surveillance"; + RequestParams params = new RequestParams(AppApi.BASE_URL + AppApi.UP_SYNCHRON); + params.addBodyParameter("tableName", tableName); + final List list = SurveillanceDao.getInstance().getSurveillanceList(); + params.addBodyParameter("data", JSONArray.toJSONString(list)); + params.addBodyParameter("deviceCompanyId",BaseApplication.getInstance().getAndroidDevice().getCompanyId()); + x.http().post(params, new BaseCommonCallBack() { + public void success() { + SurveillanceDao.getInstance().delSurllanceList(list); + sync(); + } + }); + }catch(Exception e){ + e.printStackTrace(); + } } + @Override public boolean hasMore() { - return false; + int count= SurveillanceDao.getInstance().getSynDataCount(); + if(count==0){ + return false; + } + return true; } + + public boolean More() { + return SurveillanceDao.getInstance().hasMoreOfflineSurveillance(); + } + } -- Gitblit v1.8.0