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; } 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(); } } } 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(); } } } 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