今天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学习笔记_12_网络通信之从web获取资源数据到Android
  2. [Android] 提高ORMLite插入大量数据效率的解决方案
  3. Android短彩信数据库信息整理
  4. android复制数据库到SD卡
  5. Android 数据库 大量插入 事务开启
  6. Android使用SQLite数据库的示例
  7. Android 数据库SQLite的操作总结

随机推荐

  1. Android栗子の双击事件
  2. viewModel与recyclerView结合
  3. Android(安卓)adb monkey 测试命令
  4. android kernel content
  5. Android中的数据库操作(保证线程安全)
  6. android:与USB设备通信
  7. compile ffmpeg for android
  8. 使用HttpURLConnection请求数据、上传文
  9. android_service_totoal
  10. Android之ConnectivityManager