今天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();



更多相关文章

  1. android(2)
  2. Android开发之InstanceState详解
  3. Android开发指南(37) —— Data Backup
  4. [Android] 提高ORMLite插入大量数据效率的解决方案
  5. Android(安卓)LCD(二):LCD常用接口原理篇
  6. Android短彩信数据库信息整理
  7. Android学习笔记_12_网络通信之从web获取资源数据到Android
  8. Android下实现一个手机监控摄像头
  9. mybatisplus的坑 insert标签insert into select无参数问题的解决

随机推荐

  1. C#集合类有哪些?
  2. C# 中GUID生成格式有哪些方法
  3. 总结MVC中数据验证实例
  4. C#中如何实现ftp图片上传功能的图文代码
  5. SignalR简介及用法介绍
  6. WPF实现好看的跑马灯特效实例
  7. 去重和排序如何操作
  8. C#串口通信的实例教程
  9. 分享关于asp注册代码实例
  10. EasyLoader(简单加载)实例