android 手机管理软件 发布开源代码
今天android 开源代码发布。 并在随后的博文里会对部分代码进行解析。
关于android manager 软件博文地址为:http://blog.csdn.net/acanoe/article/details/9044525
PC 端源码地址为:https://github.com/acanoe/androidmanager
android 手机端源码地址为:https://github.com/acanoe/phonemanager
项目主要涉猎的技术方向为:QT,Linux C, android SDK/NDK。
项目纵览:
主机主动发送请求TCP
1.数据通信命令、应答格式:
标志 | 命令CMD | 数据长度Length | 数据DATA |
0x77777777 | 1byte | 4byte | Length |
2.数据通信各字段说明:
字段 | 长度 | 说明 | 补充 |
标志 | 4 | 标示一个数据包的开始,用于数据包的对齐. | |
CMD | 1 | 命令字,各种操作的指令 | 该字段发送和接收应该相同 |
Length | 4 | 数据区的四个字节,表示数据长度Length字节,先传输高位字节,再顺次传输其余低位字节,即大端模式 | |
Data | Length | 共Length个字节的数据DATA。若Length=0,则无此区域。 |
通信协议描述:
每一帧数据需要以包头为起始点,客户端需要按接收的包头来校验数据,按数据命令CMD来解析数据包,目前数据包帧格式为:
#defineCMD_IMAGE1 // 图片数据包
#defineCMD_VIDEO2 // 视频数据包
#defineCMD_MUSIC3 // 音乐数据包
#defineCMD_APP4 // 应用数据包
#defineCMD_MMS5 // 短信数据包
#defineCMD_BOOK6 // 电话簿数据包
#defineCMD_STORAGE7 // 存储数据包
#defineCMD_SENDMESSAGE8 // 发送短信数据包
#defineCMD_CALLPHONE 9 // 打电话数据包
#defineCMD_ALL 10 // 所有数据总数据包
3.4软件流程
数据接收成功跳转到UI
软件开启
USB端口检测
发现android设备 有新版本安装
检测客户端应用版本
等待数据 无新版本,启动
加载UI界面
跳转到界面
数据接收失败post失败信号
进入正常数据访问流程
4.1.2.2NDK底层模块
AndoridndkAPI
publicstaticnativeintsetappinfo(intapppath,intappattribute,
Stringappname,Stringpackname,Stringappversion,Stringsize,intcount);
publicstaticnativevoidsetimageinfo(Stringname,Stringpath,
Stringsize,intcount);
publicstaticnativevoidsetvideoinfo(Stringname,Stringpath,
Stringsize,intcount);
publicstaticnativevoidsetmusicinfo(Stringname,Stringpath,
Stringsize,intcount);
publicstaticnativeintsetbookinfo(Stringname,Stringnumber,intcount);
publicstaticnativevoidsetmmsinfo(Stringname,Stringnumber,Stringdata,Stringtime,inttypeID,intcount);
publicstaticnativevoidsetstorageinfo(StringsdSize,StringsdAvail,StringmemorySize,StringmemoryAvail);
publicnativestaticvoidexitprograme();
publicstaticnativeStringgetmmsnumber();
publicstaticnativeStringgetmmsdata();
publicstaticnativevoidgotosend(intargv);
publicnativestaticvoidstartservice();
publicnativestaticvoidjnipthreadinit();
publicnativestaticvoidimageinfosend();
publicnativestaticintwhatyouwant();
publicnativestaticStringgetphonenumber();
更多相关文章
- Android学习笔记_12_网络通信之从web获取资源数据到Android
- [Android] 提高ORMLite插入大量数据效率的解决方案
- Android短彩信数据库信息整理
- android复制数据库到SD卡
- Android 数据库 大量插入 事务开启
- Android使用SQLite数据库的示例
- Android 数据库SQLite的操作总结