GithubHelp home page GithubHelp logo

vehicledrivingdatacollect's Introduction

车辆行驶数据收集APP

介绍

基于Android智能手机,收集车辆行驶过程中的加速度、角速度和GPS位置等信息

目录结构

.
|-- app
|---- src
|   |---- main  
|   |   |---- res                                               // UI资源文件
|   |   |---- java/com/hybrid/tripleldc                         // 核心代码
|   |   |   |---- bean
|   |   |   |       |---- base/BaseSensorData.java              // 传感器数据基类
|   |   |   |       |---- Acceleration.java                     // 加速度
|   |   |   |       |---- ArgbEvaluator.java                    // 渐变色插值
|   |   |   |       |---- DataCollectConfig.java                // 数据收集配置
|   |   |   |       |---- Device.java                           // 设备
|   |   |   |       |---- GPSPosition.java                      // GPS位置
|   |   |   |       |---- GravityAcceleration.java              // 重力加速度
|   |   |   |       |---- InertialSequence.java                 // 惯性数据序列(实时上传时使用)
|   |   |   |       |---- LaneChangeInfo.java                   // 变道事件(实时上传时使用)
|   |   |   |       |---- LinearAcceleration.java               // 线性加速度
|   |   |   |       |---- Orientation.java                      // 方向
|   |   |   |---- config
|   |   |   |       |---- DataConst.java                        // 数据格式,网络请求前缀等全局配置
|   |   |   |       |---- UIConst.java                          // 提示和弹框消息
|   |   |   |---- control
|   |   |   |       |---- DataCollectControl.java               // 数据收集(实时上传)的流程和控制逻辑
|   |   |   |       |---- OfflineDataCollectControl.java        // 数据收集(存储到本地)的流程和控制逻辑
|   |   |   |---- global
|   |   |   |       |---- App.java                              // 自定义Application(进行Realm数据库配置)
|   |   |   |       |---- TripleLDCMigration.java               // Realm数据库版本配置
|   |   |   |       |---- TripleLDCModule.java                  // Realm数据库表配置
|   |   |   |---- service
|   |   |   |       |---- DCService.java                        // 数据收集服务
|   |   |   |       |---- DUService.java                        // 数据上传服务(实时上传) 
|   |   |   |---- util
|   |   |   |       |---- io
|   |   |   |       |   |---- AsyncTaskRunner.java              // 异步任务
|   |   |   |       |   |---- FileIOUtil.java                   // 文件IO
|   |   |   |       |   |---- LogUtil.java                      // 日志工具
|   |   |   |       |   |---- RealmHelper.java                  // Realm数据库
|   |   |   |       |---- location
|   |   |   |       |   |---- GPSLocation.java                  // GPS位置
|   |   |   |       |   |---- GPSLocationListener.java          // GPS位置回调
|   |   |   |       |   |---- GPSLocationManager.java           // GPS服务注册管理
|   |   |   |       |   |---- GPSProviderStatus.java            // GPS服务状态
|   |   |   |       |---- sensor
|   |   |   |       |   |---- acceleration                      // 加速度计
|   |   |   |       |   |   |---- AccelerationSensor.java
|   |   |   |       |   |   |---- GravitySensor.java
|   |   |   |       |   |   |---- LinearAccelerationSensor.java
|   |   |   |       |   |---- gyroscope                         // 陀螺仪
|   |   |   |       |   |   |---- GyroSensor.java
|   |   |   |       |   |---- orientation                       // 方向
|   |   |   |       |   |   |---- OrientSensor.java
|   |   |   |       |   |---- BaseSensor.java                   // 传感器基类
|   |   |   |       |---- system
|   |   |   |       |   |---- AppUtil.java                      // 应用权限请求
|   |   |   |       |   |---- DateUtil.java                     // 日期格式转换
|   |   |   |       |   |---- SystemUtil.java                   // 系统文件调用
|   |   |   |       |---- task
|   |   |   |       |   |---- SensorDataExportTask.java         // 传感器数据导出
|   |   |   |       |---- ui
|   |   |   |       |   |---- AnimatorUtil.java                 // 动画
|   |   |   |       |   |---- DialogUtil.java                   // 对话框
|   |   |   |       |   |---- ToastUtil.java                    // 提示
|   |   |   |       |---- TripleLDCUtil.java                
|   |   |   |---- view
|   |   |   |       |---- activity                              // 界面
|   |   |   |       |   |--- base                               // 界面基类
|   |   |   |       |   |   |--- BaseActivity.java              
|   |   |   |       |   |---- DataCollectActivity.java          // 数据收集(实时上传)界面
|   |   |   |       |   |---- GPSTestActivity.java               
|   |   |   |       |   |---- OfflineDataCollectActivity.java   // 数据收集(存储到本地)界面
|   |   |   |       |   |---- SettingActivity.java              // 传感器数据导出界面
|   |   |   |       |   |---- TestActivity.java                  
|   |   |   |       |---- fragment
|   |   |   |       |---- widget                                // UI组件
|   |   |   |       |   |---- DCConfigView.java                 // 数据收集配置
|   |   |   |       |   |---- DCDisplayView.java                // 数据收集展示
|   |   |   |       |   |---- DCMainControlView.java            // 数据收集控制
|   |   |   |       |   |---- MainControlView.java              // 主界面控制
|   |   |   |       |   |---- MainDisplayView.java              // 主界面展示
|   |   |   |---- MainActivity.java                             // 程序入口(主界面)
|   |   |---- AndroidManifest.xml                               // UI资源文件
|---- build.grale                                               // gradle编译脚本
|---- proguard-rules.pro                                        // 混淆文件

主要界面展示

主界面

home interface normal home interface working

数据收集界面

data collection interface normal data collection interface working

数据收集配置弹窗

注意: 长按数据收集界面 Start/Collecting Button 展示

data collection config dialog online data collection config dialog offline

数据导出界面

data exprot interface normal data exprot interface working data exprot interface finished

数据存储目录

日志文件

注意: 需要修改 LogUtil,打开写日志开关

private static boolean isNeedWriteLogToFile = true;

日志输出目录: /sdcard/Android/data/com.hybrid.tripleldc/files/Log

传感器数据文件

在数据导出界面进行导出后,保存到以下目录
传感器数据输出目录: /sdcard/Android/data/com.hybrid.tripleldc/files/InertialSequence

其他

请按照自己的需求参考各种模块的实现方式吧~

vehicledrivingdatacollect's People

Contributors

hybridjoy avatar

Stargazers

 avatar Near avatar

Watchers

 avatar

vehicledrivingdatacollect's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.