- 积分
- 76
- 实力分
- 点
- 金钱数
- 两
- 技术分
- 分
- 贡献分
- 分
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
【发送超长短信的Java程序SMSExtension完美移植】
【0.51版本移植】2005.10.14
我之前一直对Java程序发送短信有偏见,认为启动慢、操作不方便、电话簿需要手工编辑等等。所以所有的短消息相关的Java程序我都没有尝试过。
前两天去国外的GSM Forum网站逛了会儿,发现一个支持发送超长短信的Java程序,觉得非常好,自动分割长短信,启动、编辑都很快,电话簿管理也很方便,另外还支持短信保存。
作者是rc-flitzer,英文版的发布链接如下:
http://forum.gsmhosting.com/vbb/showthread.php?t=180775
可惜,这个程序俺们中国人用不了,电话簿、短信存储均不支持中文,短信分割按照160个英文字符计算,和我们的70个汉字不一样,分割错误......
可喜的是,rc-flitzer是个很大方的人,他编译代码时没有做混淆,所以反编译后和看源码差不多,我修改了部分代码,现在能够很好的支持中文了!
另外,我顺便翻译了程序中的字串,也做了一把汉化,这可是我生平第一次做软件汉化:)
本来昨晚就可以发布的,可惜把短信存储为GB2312编码这一问题让我头大,折腾到临晨三点多都搞不定。今天忽然想到了MicroReader,用了它附带的uc2gb.map,同时反编译了MicroReader,在一堆混淆代码中找到了unicode转GB2312的函数,直接拿过来用了。真的还是蛮顺利的。
==================================================
使用提示:
1、建议打这个补丁,它能让您在Java输入域中输入更多的汉字。不打问题也不大,因为不打也可以输入256个汉字,也不少了。
;移植:JunFeng
1c381d: 01 04
2、Storage目录中的phonebook.txt文件是电话簿,请参照我附带的例子格式编辑您的电话号码。我想大多数朋友只需放几条电话号码在里面就可以了。因为通常情况下,我们只可能给最知己的几个人发超长短消息;当然,使用手机工作室、EXCEL等工具配合,可以方便的导出全部电话簿,但电话簿条目太多会影响程序中电话簿导入的速度,所以建议还是不要这么做。
3、Storage目录中的sms.txt存储您曾经发送或手工保存过的短消息,各条短消息用“|”分隔,您可以手工编辑,记住,最后一条的后面也要加“|”符号。
4、Storage目录中的uc2gb.map是编码映射表,程序会用到,请不要删除。
5、程序会自动保存您发送过的短消息,建议有空时在“信息管理”中删掉一些老消息,这样可以加快读取消息列表的速度。
6、电话簿可以用上下导航键逐条滚动,也可以用侧键中的+/-键快速滚动,2~9键还可字母定位(对中文条目无效)。
7、对于一些有输入域的界面,如果左、右软键处均无选项,请连按几次下导航键,方能看见确定、取消等选项。
8、分割发送时,发送每一条,程序都会弹出对话框,询问是否发送,请选择“是”。界面上方出现“发送中...”时,请尽量不要操作界面。
9、有两个补丁建议刷一下“数字键加右方向键快速启动Java”,“新进短信提示读取2.2万用版”,配合这个Java程序,很方便。
想到的就这些了,其它的请机友们自己摸索吧,相信您会喜欢这个工具的!
【0.61版本移植】2005.10.21
据rc-flitzer说,在SMSExtension的需要附加电话簿的各版本中,0.61版是他最满意的,也是最稳定的!
[原版0.51到0.61的主要升级]
1、提供导出短信列表功能,能够导出所有保存的短信到独立的带时间戳的文件。
2、加入西门子的短信传情图片功能。
3、加入短信计数功能,记载真实(分割后数目)发送条数,在“关于...”中可以看到这个计数。
4、程序启动就加载电话簿,启动会比先前的版本稍慢一些。
[0.61移植版的改动]
1、短信传情按照中文官方版本,重新排序。
2、挪动了“导出全部”菜单的位置,同时加入了“删除全部”菜单。
3、放弃GB2312编码,短信保存改为UNICODE编码,不再需要uc2gb.map文件。另:下午四点半兄提及的繁体字和部分符号保存后丢失的问题,应该已经得到解决。
4、配合现在的天堂和写轮眼最新版的数字字体改动,修改了编辑窗体的标题,否则数字显示不全(唉,为什么要用那么大的斜体数字,不过偶也觉得蛮好看)
5、发送短信过程中,标题中以“2/5”的形式,提示当前进度。
6、加入options.dat选项文件,用户可以自行配置。
[文件说明]
程序首次运行后,会在Storage目录下生成smscount.data和options.data两个文件,前者记载的是短信计数,如果想计数清零,将这个文件删除即可;后者是我加入的,在Windows下用文本编辑器打开,可以看见两个字符:10。您可以手工编辑。
第一个字符的含义: 1 -- 真实发送短信 0 -- 模拟发送短信,测试时用
第二个字符的含义: 1 -- 发送消息成功后自动保存 0 -- 发送消息成功后不自动保存
例如,将这两个字符改成:11 以后发送的每条短消息就会自动保存到短信列表。
[移植手记]
这个版本本应该早一两天贴上来的,可是测试过程中发现大问题,大概有十分之一的概率出现发最后一条分割短信时,界面锁死,只能强按挂机键退出程序。随后再启动程序,发现短信列表已经被清空,灾难性的大bug。
这两天一直在定位这个问题,给中国移动送了不少钱,感觉就像在拿一角的硬币打水飘:) 后来确定这个问题和短消息发送本生无关后,采用模拟发送模式测试,省下不少钱。
现在问题基本得以解决,如果您再碰到这个故障,应该也算中了六合彩了。
不过还是提示一下各机友,如果您的短信列表中存储的短信数目太多,建议导出或是删除,否则您也可能中一把六合彩...
【0.61+0.8综合豪华版】2005.10.27
德国朋友rc-flitzer生活也许太悠闲了,所以软件更新的节奏总是有些慢,偶等不及了,自己动手吧:)
此版本引入了0.8版中读取MMC卡通讯录的代码,所以已经不用自己创建phonebook.txt文件了。但是需要打一个补丁:
;JAVA是可以访问STORAGE以外的文件的。
;刷以下补丁就行了
;去掉Java程序访问MMC卡的限制
2128E8: 08 0A
2129F4: BB001E59 2A4C2A12
2129F8: B7001FB80020B600 08B6000902A00018
212A00: 212AB60021B60022 BB001E59B7001FB8
212A08: 4C2BC7000DBB0002 0020B600212AB600
212A10: 591223B70004BF2B 21B600224C2BB000
212A18: B0 00
我将加载通讯录的过程放到了一个单独的后台线程中,后台加载通讯录的时候,我们就已经可以编辑短消息了。另外,考虑到在java中编辑短消息,无法用符号表,我加入了“插入表情符号...”菜单。
选项文件options.dat稍有变化,除了0.61版本中的两个选项,又增加了两个选项,缺省值为:1010,说明如下:
第一个:如果为1,表示真实发送短信; 如果为0,表示模拟发送短信,供测试用。
第二个:如果为1,表示短信发送后自动保存;如果为0,表示短信发送后不自动保存。
第三个:新加!!如果为1,表示读取MMC卡上的Address book目录中的通讯录作为本程序的电话簿; 如果为0,表示读取Storage目录中的phonebook.txt文件作为本程序的电话簿,至于phonebook.txt,请参看例子自己编辑。
第四个:新加!!短信编辑界面的标题如果因字体非5508版标准字体而显示不全,请设置为1,否则设置为0。
原作者(rc-flitzer)的0.9版也快出来了,出来后,我会尽快移植的,不过0.9版和此(0.61+0.8)版在实质上差不多,只是作者为了快速启动,去除了很多功能。概时,如果机友们更倾向于功能全,请继续使用此豪华版;如果倾向于启动速度,请使用即将出来的0.9精简版:)
【0.61+0.8综合豪华版 更新 01】2005.10.28
中午抽空增加了一点功能,现在应该很实用了:)
[新增功能]
1、电话簿中的VIP条目,加入了VIP标识。
2、电话簿支持搜索功能,*键输入关键词搜索第一个匹配条目,随后可用#键搜索下一个匹配条目。
注:
1、关键词可以选用:姓、名、全名或者名字中的任何一个、多个字。
2、输入关键词后,要按一到二次“下导航”键方可看见“确定”按钮。
3、如果找不到匹配项,会有“嘟”声提示。
4、当电话簿界面的标题为“加载电话簿...”时,说明电话簿还未完全加载,此时右软键、*键、#键操作是禁用的。
[ 本帖最后由 yusongchina 于 2006-1-10 14:04 编辑 ] |
评分
-
查看全部评分
|