From 93d13b3bfa70309f4c2c5d15826a5ae737d3be81 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 19 七月 2017 15:45:40 +0800
Subject: [PATCH]
---
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java | 47 +++++++++++++++++++++++
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/BaseApplication.java | 7 +++
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/SurveillanceDao.java | 20 +++++++++
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/FileUtil.java | 5 ++
4 files changed, 77 insertions(+), 2 deletions(-)
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/BaseApplication.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/BaseApplication.java
index 46a461a..a704763 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/BaseApplication.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/BaseApplication.java
@@ -12,6 +12,7 @@
import cn.com.basic.face.discern.entity.Device;
import cn.com.basic.face.service.DictionaryMng;
import cn.com.basic.face.service.DeviceMng;
+import cn.com.basic.face.service.SurveillanceMng;
import cn.com.basic.face.util.WindowsUtil;
import com.facebook.drawee.backends.pipeline.Fresco;
@@ -95,6 +96,9 @@
connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED) {
connected = true;
}
+ if (connected) {
+ SurveillanceMng.getInstance().sendOfflineUnknownToServer();
+ }
return !connected;
}
@@ -105,6 +109,9 @@
connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED) {
connected = true;
}
+ if (connected) {
+ SurveillanceMng.getInstance().sendOfflineUnknownToServer();
+ }
return connected;
}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
index 48a117c..19a4315 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
@@ -100,14 +100,59 @@
}
}
- public void sendOfflineUnknownToInternet() {
+ public void sendOfflineUnknownToServer() {
+ if (!BaseApplication.deviceAvailable) {
+ return;
+ }
UnknownQueryItem item = SurveillanceDao.getInstance().readOfflineUnknownFromLocal();
if (item == null) {
return;
}
+ syncOfflineData(item);
+ }
+ private void syncOfflineData(final UnknownQueryItem item) {
+ try {
+ if (fileIndex > 30) {
+ fileIndex = 1;
+ }
+ fileIndex++;
+ 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);
+ x.http().post(params, new BaseCommonCallBack() {
+ @Override
+ public void success() {
+ try {
+ if (1==1) {
+ SurveillanceDao.getInstance().removeLocalSqliteRecord(item);
+ }
+ } catch(Exception e) {
+ e.printStackTrace();
+ }
+ }
+ });
+ }catch(Exception e) {
+ e.printStackTrace();
+ }
}
}
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 b9b1b38..1ebb548 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
@@ -4,6 +4,7 @@
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Bitmap;
+import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@@ -56,7 +57,7 @@
public UnknownQueryItem readOfflineUnknownFromLocal() {
UnknownQueryItem item = null;
- String sql = "select raw_data,camera_in_or_out,create_time from offline_unknown order by create_time create_time limit 1";
+ 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[]{});
@@ -71,4 +72,21 @@
return item;
}
+ public void removeLocalSqliteRecord(UnknownQueryItem item) {
+ try {
+ File file = FileUtil.getFile(item.getRawDataPath());
+ 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();
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/FileUtil.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/FileUtil.java
index f5b0f29..0bf9b74 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/FileUtil.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/FileUtil.java
@@ -44,6 +44,11 @@
return null;
}
+ public static File getFile(String shortFileName) {
+ String dir = MainActivity.getInstance().getFilesDir().getAbsolutePath();
+ return new File(dir, shortFileName);
+ }
+
public static byte[] readFile(File file) {
// Open file
--
Gitblit v1.8.0