WM有约II(一):你在干嘛?
来源:互联网 发布:rim world mac破解版 编辑:程序博客网 时间:2024/04/29 04:40
WM有约II(一):你在干嘛? Written by Allen Lee "你在干嘛?" 我想大多数读者都收到过这样的短信息吧?有时候我在想,能否为手机开发一个应用程序,自动回复当前的状态?不要让想法只停留在脑子里,因为这样是无法产生任何现实意义的。事不宜迟,我们创建一个智能设备项目试试看吧(创建项目的详细步骤可以参见《WM有约(一):你好,CF》)。项目创建好后,就轮到用户界面了,此刻我脑子里的画面是这样的: 图 1 这个用户界面包括上下两个部分,上面的ComboBox用于设置当前的状态,一旦应用程序"发现"查询状态的短信息就会自动回复当前的状态;下面的TextBox用于输入对方的手机号码,单击Ping按钮将会向该手机号码发送查询状态的短信息。 如何发送短信息? 我们知道,这个应用程序是使用短信息来通信的,所以第一个问题就是如何发送短信息。Windows Mobile 6 Professional SDK提供的类库可以协助我们完成这项工作,但在使用之前,我们必须添加相关的引用: 图 2 此外,你还需要引用Microsoft.WindowsMobile.PocketOutlook这个命名空间。现在,你可以使用SmsMessage这个类来发送短信息了: 代码 1 接着就是处理Ping按钮的Click事件了: 代码 2 我正在做…… 在实现自动回复之前,我们先要给出可选的状态,也就是填充ComboBox。你可能已经想到很多办法来完成这项工作,这里我将会选择把一个字符串数组绑定到ComboBox的DataSource属性: 代码 3 接着,我们需要截获包含特定内容的短信息,Windows Mobile 6 Professional SDK提供了MessageInterceptor类来协助我们完成这项工作: 代码 4 当然,在使用这个类之前,你得先引用Microsoft.WindowsMobile.PocketOutlook.MessageInterception命名空间。截获的短信息将会交给OnMessageReceived方法处理: 代码 5 模拟运行 由于这个应用程序的运行需要用到通信网络,于是我们需要对模拟器设置一下。首先,打开Windows Mobile 6 Professional SDK自带的Cellular Emulator: 图 3 记下左下角的端口号。接着,打开模拟器的配置对话框,把这个端口号填到Peripherals选项卡的Serial port 0那里: 图 4 单击OK关闭对话框。然后,软重启模拟器: 图 5 重启完毕后你会看到模拟器已经连接到通信网络了: 图 6 好了,现在可以运行这个应用程序了: 图 7 使用Cellular Emulator向模拟器发送查询状态的短信息,不一会就收到自动回复了: 图 8 当你在这个应用程序的主窗体下面的TextBox里输入一个手机号码,并单击Ping按钮时,Cellular Emulator就会收到这个应用程序发送的查询状态的短信息: 图 9 你还想要什么? 且慢!搞了这么久,为什么收到"你在干嘛?"时还要手动回复?噢,看来我是得意忘形了,不好意思哟~~~ 下一集,我们将会探讨如何让这个应用程序支持自定义的查询状态的短信息,例如"你在干嘛?",以及如何让这个应用程序支持可配置的状态信息,另外,我们还会尝试改善用户体验,让用户可以从电话簿里选择手机号码而不是手动输入一串数字。
- WM有约II(一):你在干嘛?
- WM有约II(四):你明天有空吗?
- WM有约II(八):本地化
- WM有约II(七):番外篇
- WM有约II(六):分级限制
- WM有约II(二):持续改进
- WM有约(一):你好,CF
- WM有约II(九):再谈部署
- WM有约II(五):区别对待不同的手机号码
- WM有约II(三):整合Outlook Mobile的约会信息
- WM有约(五):部署应用程序
- WM有约(四):处理屏幕旋转
- WM有约(三):下一次是什么时候?
- WM有约(二):配置信息
- 老公,你在干嘛拉?
- 五年后你在干嘛?
- 五年后你在干嘛
- 哲理故事:五年后你在干嘛
- WM有约II(五):区别对待不同的手机号码
- WM有约II(四):你明天有空吗?
- WM有约II(三):整合Outlook Mobile的约会信息
- 为什么匿名内部类只能访问其所在方法中的final变量
- WM有约II(二):持续改进
- WM有约II(一):你在干嘛?
- WM有约(五):部署应用程序
- WM有约(四):处理屏幕旋转
- WM有约(三):下一次是什么时候?
- WM有约(二):配置信息
- WM有约(一):你好,CF
- 我的书架
- 从C# 3.0到F#
- 在glassfish中创建连接池