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