爱技术

 找回密码
 注册会员

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 97356|回复: 243
收起左侧

【2005.10.28-支持MMC通讯录、支持搜索】发送超长短信的Java程序SMSExtension移植

[复制链接]
发表于 2005-10-14 13:27:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册会员 微信登录

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 编辑 ]
截图1.bmp
截图2.bmp
截图3.bmp
截图4.bmp

SMSExtension.rar

35.58 KB, 下载次数: 216

SMSExtension(V0.51)

SMSExtension.rar

16.72 KB, 下载次数: 146

SMSExtension(V0.61)

SMSExtension.rar

22.49 KB, 下载次数: 104

SMSExtension(V0.61+0.8)

SMSExtension.rar

23.8 KB, 下载次数: 387

SMSExtension(V0.61+0.8) 更新01

SMSExtension0.61+0.8++.rar

21.55 KB, 下载次数: 101

源代码

评分

参与人数 1实力分 +10 收起 理由
comerose + 10 技术文章

查看全部评分

发表于 2005-10-14 13:30:58 | 显示全部楼层
沙發!又見沙發!
佔了位置好説話!

我一直用的這個英文版
感覺就挺好的

雖然我用時電話本不支持漢字
而且保存得短信都是亂碼

晕.........我怎么用了半天繁体....

嘿嘿
我截几张我用的英文界面的图
可以看出,余兄汉化的很强!!
原帖由 wise2008 于 2005-10-21 20:16 发表
请楼主帮忙看看最上面的一行数字

都挤在一块了,很压抑.


建议使用5508的字体,如果无法正常显示的自己再另外修改

毕竟用写轮眼版本的只是一部分人


下面是余兄为5508定制的JAR

[ 本帖最后由 下午四点半 于 2005-10-25 14:07 编辑 ]

SMSExtension.jar

36.8 KB, 下载次数: 36

回复 支持 反对

使用道具 举报

发表于 2005-10-14 13:31:19 | 显示全部楼层
現在在穩定心神下來嘗試一下!

分享我的电话本的制作办法

1.用手机工作室备份你的电话本或通讯录,保存为phonebook.csv
2.用excel打开,去掉其中的无用信息及其他不是手机号的号码(固定电话等),(注:余兄刚才提醒我,忘了说排序..汗....很简单了,竟给忘了
大家的电话本不出意外,应该在姓前面都加了字母了吧,选姓名栏,点表上面工具栏的数据--排序--按姓.......ok...)保存。会提示你有什么格式不兼容之类的,不要管他(咱要的就是这不兼容的格式-_-##),点是,保存
3.用记事本打开修改后的phone.csv用编辑功能,把里面的,,全部替换成;
4.保存,改扩展名为txt
5.将phonebook.txt复制到余兄的java的storage下即可


[ 本帖最后由 下午四点半 于 2005-10-14 14:33 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2005-10-14 13:31:33 | 显示全部楼层
樓下傻眼了吧.......................

哼哼
新版的沙发照坐~~~~~~~~~~~~

[ 本帖最后由 下午四点半 于 2005-10-21 17:11 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2005-10-14 13:40:12 | 显示全部楼层
昏~~~~~~~~~~~~~

抢位 ;(
回复 支持 反对

使用道具 举报

发表于 2005-10-14 13:44:34 | 显示全部楼层
要是能直接做成补丁就更方便了 ;)
回复 支持 反对

使用道具 举报

发表于 2005-10-14 14:04:02 | 显示全部楼层
顶!
unicode转GB2312的函数是否可以解决txtreader的编码问题?
回复 支持 反对

使用道具 举报

发表于 2005-10-14 14:16:32 | 显示全部楼层
问一下,这个Java程序一条短信最多可发多少汉字
回复 支持 反对

使用道具 举报

发表于 2005-10-14 14:17:12 | 显示全部楼层
我在2楼贴出了自己做这个java的电话本的方法
很简单
大家可以尝试一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-14 14:27:29 | 显示全部楼层
回下午四点半兄:
你的转制方法和我差不多,不过你缺少了一步,EXCEL中的排序功能:)

回巴戈版主:
如果有这个补丁就太强了,不过这个Java程序也蛮方便的。谢谢加入精华。

回inflation:
MrPotter的TxtReader可能不涉及这个问题。

回flyfish:
如果单条,中文70,英文160; 如果自动分割多条,中文64,英文154。主要是考虑到消息前要添加前缀,例如:“11/12 ”共6个字符,原程序考虑的是“7/8 ”4个字符。我多预留了2个字符,不知谁有兴趣发那么长的短消息:)

[ 本帖最后由 yusongchina 于 2005-10-14 14:32 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2005-10-14 14:27:45 | 显示全部楼层
原帖由 flyfish 于 2005-10-14 14:16 发表
问一下,这个Java程序一条短信最多可发多少汉字


看说明。256个
如果打了那个补丁,可以更多.........
回复 支持 反对

使用道具 举报

发表于 2005-10-14 14:34:30 | 显示全部楼层

回复 #10 yusongchina 的帖子

汗..........
已加上...........
回复 支持 反对

使用道具 举报

发表于 2005-10-14 14:36:20 | 显示全部楼层
好东西啊, 支持`!!!!!!!!!!!!!!!!!
回复 支持 反对

使用道具 举报

发表于 2005-10-14 14:38:18 | 显示全部楼层
支持,我顶
回复 支持 反对

使用道具 举报

发表于 2005-10-14 14:44:54 | 显示全部楼层
原帖由 写轮眼 于 2005-10-14 14:38 发表
支持,我顶


吧了晚来,子小
黑口黑口..............
回复 支持 反对

使用道具 举报

发表于 2005-10-14 14:52:55 | 显示全部楼层
强!谢谢高手移植这么实用的工具。
回复 支持 反对

使用道具 举报

teylb 该用户已被删除
发表于 2005-10-14 14:53:07 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

发表于 2005-10-14 14:53:09 | 显示全部楼层
谢谢了...............
回复 支持 反对

使用道具 举报

teylb 该用户已被删除
发表于 2005-10-14 14:57:18 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-14 15:06:00 | 显示全部楼层
原帖由 Xinshou 于 2005-10-14 14:52 发表
强!谢谢高手移植这么实用的工具。


Xinshou,谢谢你找出那个补丁给我:)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员 微信登录

本版积分规则

小黑屋|Archiver|手机版|爱技术 ( 沪ICP备08115260号-3 )

GMT+8, 2024-5-19 07:26

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表