谈谈索爱手机PC同步软件开发

相信很多使用索爱手机的朋友都使用过MobileStudioXP,floAt’s Mobile Agent这样的PC端同步软件,这些软件最大的好处就是可以通过红外或蓝牙在PC上控制手机,实现短信收发、电话簿同步等功能 。这样在你身边有电脑时,特别是对那些短信狂人来说,将极大的解放手指!也是对手机现有功能强有力的扩展 。你想知道这些软件是如何开发出来的吗?好,下面听我娓娓道来……
要开发这种程序首先要具备硬件条件 。PC端要有红外或蓝牙适配器 。(绝大多数的笔记本都内置红外,高端型号也有内置蓝牙,方便很多)手机自不必说,索爱高端型号都有红外和蓝牙 。打开手机的红外或蓝牙,在合时的范围内PC就会发现手机,windows右下角的系统托盘里就会出现红外或蓝牙的图标 。因为我的笔记本只有红外接口,所以以下均以红外为例 。
接下来要在你的程序和手机之间建立红外连接了 。类似于建立socket连接,我使用基于winsock的ircomm方式实现的红外连接 。这一点非常关键,因为微软在MSDN里强烈推荐使用winsock的irda方式开发红外程序,大量的文档和例子都在强调这种方式 。但现在的手机基本都属于non-windows设备,必须使用传统ircomm方式 。
如果开发基于蓝牙的程序反而更简单,因为现在蓝牙在windows里属于串口设备(一般默认为COM4),对蓝牙编程就等于对串口编程,而串口通信的源代码甚至控件有很多 。
建立连接之后程序就可以和手机通信,收发AT指令了 。现在市场上的大多数手机均支持类似于Modem控制的GSM AT指令集,该指令集是由诺基亚、爱立信、摩托罗拉和HP等厂家共同为GSM系统研制的,其中包含了对SMS(Short Message Service)的控制 。
【谈谈索爱手机PC同步软件开发】举个例子:当通过红外向手机发送AT指令‘AT CMGL=4’后,手机就会通过红外发给你存储的所有短信 。
索爱官方网站上的开发文档非常详尽 。不但有索爱所有型号手机的白皮书,还有专门介绍AT指令的详细文档:
Sony Ericsson AT Commands Online Reference (Nov) Nov 19, 2003
Developers’ Guidelines with an AT Commands Online Reference for SonyEricsson phones (covers T68i, T300/T302/T306, T310/T312/T316,T610/T616/T618, Z600/Z608, T628/T630, P800/P802 and P900/P908).
Download Doc (Size 2.1 Mb)
里面分门别类介绍了索爱手机支持的全部AT指令,近30个种类,300多条,涵盖了手机的大部分功能 。
介绍到这里技术上的问题也就讲完了,只要是会串口或winsock编程的朋友都可以实现类似的程序 。接下来的工作就是要在底层通信的基础上构建尽量人性化的用户界面,也是最烦最耗时间的步骤!
下面给大家看看我做的程序,暂定名为MyPhone:
程序界面基本模仿Foxmail和QQ的消息管理器
1.可以像Foxmail那样,在“收件箱”“发件箱”中浏览短信;
2.可以像QQ消息管理器那样,按人名浏览收发的短信;
3.新建短信可以直接通过手机发送,也可以保存到手机的“未发信息”里 。
右上角的小窗口在PC和手机通过红外进行通信时弹出,里面显示的是PC和手机之间的通信内容:图中显示的是一个向手机“未发信息”里写入一条短信的通信过程
1.向手机发送指令“AT”,这是在让手机做好准备,手机返回“OK”;
2.向手机发送指令“AT CMPS="ME","ME"”,这是设置手机存储短信的内存,这里指定使用手机内存而不是sim卡内存,手机返回设置结果,三个工作内存全为手机内存,一共70个,已使用30个,并返回“OK”;
3.向手机发送指令“AT CMGW=154",这是告诉手机俺要写入短信了,长度不包括头信息为152个字节,然后手机返回“<”,这时再向手机发送真正的短信PDU报文,就是后面那些16进制编码;写入成功手机返回刚写入的内存序号“9”,并返回“OK” 。

推荐阅读