一、 概述
随着手机的逐渐普及,它的主要业务之一“短信”的使用量也水涨船高。但使用手机发短信还有一些不方便的地方,如输入汉字慢、功能有限、手机的存储容量有限等。因此,近几年开始兴起使用电脑向手机发送短信。使用电脑发送短信的方法很多,如通过126、新浪等短信平台通过注册自己的手机号,就可以通过电脑发短信了。但这样做有一些不足,如发短信时电脑必须联入Internet,而且一般使用电脑发短信的费用要比直接使用手机发短信的费用高一些。
当然,还有其它方法发短信。如象126那样租网通或移动的短信服务器,然后通过短信服务器发送短信。这种方式虽然很直接,但是价格昂贵,不是一般人可以承受的(只有象126、新浪这样的服务网站才能用得起)。
最省钱的方法就是到网上去找一个可以免费发短信的软件,我以前使用过一个叫“灵犀机器人”的软件,它们可以有限地免费发送短信,但好象现在也都收费了。这种软件现在越来越少了。
那么是否有折衷的方法,使发短信的费用和手机一样,而且又可以象电脑一样方便地输入、保存、修改和查询短信呢?答案是肯定的,那就是通过数据线将手机和电脑连在一起,使用电脑控制手机发短信。而且这样做电脑无需联入Internet。
二、 如何通过数据线控制手机发短信
一般手机的数据线可以通过COM口或USB口和计算机进行通讯。在本文中我们采用带有COM口的数据线,因为控制COM口比控制USB口更轻易、更简单。通过java和COM口进行通讯有很多方法,可以在Java中直接调用系统API,也可以采用第三方的Java库(这些库在底层也是通过调用系统API实现的)。在本文中我们采用第二种方法,也就是通过第三方的Java库来和COM口进行通讯。在网上这种库很多,在本文中介绍了如何使用Sun的Java通讯API和手机进行通讯,可以在Sun的官方网站下载Java通讯API库 。
三、 如何安装Sun的Java通讯API
安装Java通讯API可分为以下几步:
1. 将下载后的压缩文件zip压缩包解压,假设解压目录为C:\commapi。并且保证你的机器中已经安装了Java开发包,假设Java开发包安装在了C盘的C:\jdk1.5中。
2. 使用如下命令将win32com.dll复制到C:\jdk1.5\bin中。
copy c:\commapi\win32com.dll c:\jdk1.5\bin
3.使用如下命令将comm.jar复制到c:\jdk1.5\lib目录中。
copy c:\commapi\comm.jar c:\jdk1.5\lib
4. 使用如下命令将Javax.comm.PRoperties复制到c:\jdk`1.5\lib中。
copy c:\commapi\Javax.comm.properties c:\jdk1.5\lib
这个文件必须被安装在这,否则系统无法发现COM口。
5. 将comm.jar加入到classpath中。
四、 使用Java通讯API开发短信软件
和访问网络资源一样,和COM口通讯的第一步必须要打开某一个COM口。因此,我们首先需要一个可以操作COM口的类,我们叫它MySerial(这将是我们实现的第一个Java类)。
package com.message import Java.io.*; import Java.util.*;