最新自己和朋友在做一个APP的项目,这里做个整理,一是当做记录,二是希望对大家有帮助。这个项目涵盖的知识点还是很多的,除了常用的UI,从http服务器到tcp终端连接都有所涉及。废话少说,下面言归正传。

此app主要实现用智能手机对控制器(比如车载,电梯等所有电子设备)进行参数设置,功能调试,运行状态实时监视,参数上传于下载,控制系统固件烧录等功能。智能手机软件通过WIFI透传模块与控制器进行通信,智能手机通过3G/4G无线网络与服务器相连。架构图如下:

1.云服务器:

如图所示:左边的云服务器提供云端服务模块,主要包括管理云平台,第三方云服务平台(JPUSH, 短信平台等)。其中管理云平台主要管理每个厂家,每个设备系列的固件版本信息,功能参数表,调试信息表等数据,手机调试终端通过HTTP和云服务器进行通讯,获取信息。同时云平台还通过HTTP协议接受手机端上传的调试信息,文件,经验分享等内容。安卓APP的开发可以用retrofit开源库实现。

2.手机终端:

调试人员通过手机终端从云服务器获取调试参数文件,然后将参数等指令封装成一定协议格式,最后发送给控制器设备。同时手机根据一定协议解析返回数据,并最终将返回数据显示在手机上。

2.1 数据存储:

在手机上,数据存储有两种方式,主要是sqlite数据库和 本地文件系统。

Sqlite数据库:

在sqlite数据库中主要保存从云服务器获取的参数信息,经验分享的内容等。安卓APP开发可以用greendao库。

本地文件系统:

从服务器上下载的数据中,有一些数据是以文件的格式下载到手机上 ,比如json文件,固件文件,体检报告等

2.2 网络服务层

主要工作有文件下载管理,网络请求HTTP WEBAPI封装等。这部分主要任务是和云服务器进行数据交互。

2.3 跨平台中间件

主要实现了通过socket对通信协议的封装,wifi透传模块的通信,命令资源管理。跨平台中间件是基于Dropbox开源Djinni框架实现。

2.4 第三方组件

采用 目前业界流行的服务组件,比如JPUSH消息推送,百度地图SDK,短信验证,友盟统计等。

2.5 业务逻辑层

把与界面无关的逻辑按功能模块进行封装,主要有文件下载管理,用户权限管理,设备连接管理,用户日志管理,实时监控管理,固件文件管理等

2.6 UI层

实现和用户交互的界面及一些通用组件的实现。

Android APP智能控制设备相关推荐

  1. Android APP物联网设备无网模式设计

    1APP缓存 APP缓存是为了支持APP和设备在没有网络的情况下任然可以使用,APP在启动时如果有网络会从平台缓存当前用户的所有数据,包括家庭,房间,设备,设备控制信息,场景信息等 2双mqtt模式 ...

  2. Android APP检查设备是否为平板

    正文 Android APP判断设备是否为平板的三种方法: 通过屏幕尺寸判断.一般来说,平板电脑的屏幕尺寸比手机大很多,可以根据屏幕的长宽比和尺寸等信息来区分设备类型. 通过屏幕像素密度判断.一般来说 ...

  3. Android APP如何简单快速实现控制硬件设备并实现APP签名

    Android APP如何简单快速实现控制硬件设备 driver(C)层 硬件控制 节点的创建 APP(java)层 native(C/C++)层 接下来上干货,重点说说实现流程 Android st ...

  4. 2022-01-26 Android app java 获取设备制造商的方法:Build.MANUFACTURER,实际上是读ro.product.manufacturer的值。

    一.Android app java 获取设备制造商的方法:Build.MANUFACTURER 二.例如  二.分析Build.MANUFACTURER流程,实际上是读ro.product.manu ...

  5. android app 手机号码,android 安卓APP获取手机设备信息和手机号码的代码示例 .

    下面我从安卓开发的角度,简单写一下如何获取手机设备信息和手机号码 准备条件:一部安卓手机.手机SIM卡确保插入手机里.eclipse ADT和android-sdk开发环境 第一步:新建一个andro ...

  6. android app 手机号码,android 安卓APP获取手机设备信息和手机号码的代码示例

    下面我从安卓开发的角度,简单写一下如何获取手机设备信息和手机号码 准备条件:一部安卓手机.手机SIM卡确保插入手机里.eclipse ADT和android-sdk开发环境 第一步:新建一个andro ...

  7. android设备启动不起来,android – app不会在设备上启动

    我是 Java, Eclipse和 Android应用程序开发的老手.我正在浏览 Android app tutorial,但似乎无法在我的设备上启动第一课.在解决了一些阻止项目编译的问题后,我能够让 ...

  8. teamviewer设备数量上限_智能控制设备连接故障排除

    智能家居控制设备,物联网,设备连接中配对和不在线常见问题故障排除方法: 手机通过WIFI 是否可以正常上网,如果不能正常上网,先要解决这个问题,很多设备是需要通过互联网才可以正常接入工作的. 手机和智 ...

  9. 蓝牙模块hc05原理图_使用步进电机和Android App的蓝牙控制迷你升降机

    背景知识视频教程 使用App Inventor创建Android应用​viadean.com Arduino微控制器:学习Arduino制作项目 - 国外课栈​viadean.com Arduino ...

最新文章

  1. (转)Unity Assets目录下的特殊文件夹名称(作用和是否会被打包到build中)
  2. 完整的项目工程目录结构
  3. Atitit.木马病毒自动启动-------------win7计划任务的管理
  4. 多个vue项目合并成一个_集美们,快看如何一步将多个PDF合并成一个PDF
  5. sqlmap安装_黑客神器系列篇章之“sqlmapquot;
  6. 文件上传限制文件类型
  7. bjui 公共的弹窗确认 取消 改变文字
  8. Zookeeper总结——知识点、选举机制、客户端操作及写数据流程、API操作、zookeeper分布式锁之 Curator、ZAB协议、CAP理论之zookeeper的CP理论
  9. springboot办公用品采购领用管理系统java
  10. opencv与pcl去找质心
  11. wps里ppt怎么换另一个的模板_现学现用极简技术|智能PPT,一个按键轻松搞定专业的制作!...
  12. NIOS II 15:AD7606共享SDRAM
  13. 万能险生存金什么意思,一文告诉你!
  14. 浅谈 Java 中的排序
  15. win10光驱位连接计算机,搞定Win10系统识别不了光驱位机械硬盘的设置方法
  16. 三维vr全景摄影展示满足产品720立体浏览
  17. 解决sublime无法下载插件问题
  18. ADAS需要用到的技术
  19. WIN10系统下运行地下管线数据处理系统
  20. 【沃顿商学院学习笔记】管理学——09行业对腐败的控制 Corruption Control By Industries

热门文章

  1. keil5库文件安装失败_在深度Linux玩Windows游戏,可以这样安装wine的最新版
  2. “Apple Glass”设备(苹果眼镜)的功能介绍
  3. mysql 增加超级用户_给MySQL添加超级用户权限
  4. OpenCV(C++)学习笔记二:图片的位置与形状(平移、旋转、缩放、投影)
  5. ORCAD使用中常见问题汇集及答案
  6. 分布式系统中的通信机制
  7. 全志T507去掉IO扩展芯片,保留扩展引脚功能
  8. Android面试送分题:最新Android面试题整理,详细的Android学习指南
  9. 腾讯资深软件测试工程师通过案例带你轻松玩转JMeter
  10. cesium矩阵和方位角heading ,pitch, roll的相互转换