[Android端源码下载]
前面一篇重点介绍了服务端的代码,接下来说明下Android客户端的代码,先上张图,客户端的功能组合一目了然。
1) 准备:
android里对于应用的权限控制有着严格的限制,因此根据不同的使用目的,需要在 AndroidManifest.xml 里添加用户权限(uses-permission)。在这个应用里使用了Internet访问,读取短信,发送短信,查询联系人4个主要的功能,所以提前添加下面4个权限:
2) Android Http交互
Http交互当然首选org.apache.http下强大的HttpClient 类,这里先包装下封装了基本的调用方法 —— doGet 和 doPost
其中 doPost 传入 Xml/Json 字符串,按照指定的 ContentType 发出请求。
3) Android Timer 的使用:(下面的代码并非实际顺序,整体代码看最后贴出来的代码)
在这个小程序里,启动后点击Button启动Timer,然后再次点击则关闭Timer(Timer.cancel)。
android timer 需要设定它的schedule,下面代码中 schedule传入的是一个 TimerTask 匿名类,它重写了run()方法。
相当于.net里的 Tick 事件处理方法。
【功能说明】在Timer中调用 doGet 方法,从WCF服务端取要发送的短信,利用SmsManager发送短信并记录LOG呈现在UI上。
和.net一样,在Timer(线程)里不能直接对UI进行操作,需要向Handler 发消息,让 Handler 通过重写handleMessage() 方法实现对UI的更新。Timer里new一个Message,再放入一个Bundle对象,Bundle就像个容器放什么都可以。而Message.what(int型)可以利用来做标志位。
4) Android 的短信拦截
android中当系统收到短信会对所有应用发出广播,通过注册BroadcastReceiver的实例再重写onReceive方法就可以收听到收到的短信。(Tip:利用java中内部类可以访问外部类实例成员的特性(C#中不能),可以简化不少编码量,下面的代码中直接调用了mHandler类成员)
【功能说明】当收到一条短信则调用 doPost 方法将短信发送给WCF服务端,并记录LOG呈现在UI上。
5) Android 中的Json序列化和反序列化
在上面两段代码中(Timer和Receiver),可以看到Json的序列化和反序列化的代码:
5-1) 序列化成json字符串:
5-2) 反序列化成字典:
6) 联系人查询
这里使用的是 Activity.managedQuery() 方法,网上的说明很多了这里不一一累述。
吼吼,客户端也介绍完了。再分享一些测试心得,希望能帮助到和我一样的新手们:)
7) android测试经验分享
(1) android 模拟器每次启动都很耗时,但实际不用每次都启动。修改代码保存后断开和模拟器的连接,修改后再Debug启动就可以了。
(2) 短信/电话拨打测试使用 telnet(windows7需要先在windows组件中安装telnet组件)。然后就可以按照如下进行短信测试了。
cmd > telnet localhost 5554
sms send <PhoneNo> <content>
(3) 利用 LogCat 帮助你快速发现bug。log4j,log4net大家都很常用了,在android下提供了更方便更容易查看的工具LogCat。工具类——android.util.Log(详细看这里:图解LogCat的用法)
(4) 发布测试,有时候我们常常要发布到真机上看看真实的效果,可以在真机上安装一个FTPServer,这样release之后直接copy到机器上,安装就很方便了。另外自己准备一个key文件,每次发布都用一个key可以保证覆盖安装。
最后贴上完整代码:
分享到:
相关推荐
WCF 实例 —— Android 短信助手 (WCF + Android) (2) http://blog.csdn.net/fangxinggood/article/details/6443772 WCF的代码。
HYPERLINK"http://blog.csdn.net/fangxinggood/article/details/6762632"WCF实例——WindowsServiceHost开发,调试,制作安装包本篇实例介绍如何使用WindowsService来寄宿WCF服务:1.添加WCFServiceLibrary工程,这...
wcf经典实例wcf经典实例wcf经典实例wcf经典实例wcf经典实例wcf经典实例wcf经典实例wcf经典实例wcf经典实例wcf经典实例wcf经典实例wcf经典实例wcf经典实例wcf经典实例wcf经典实例
WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例
WCF实例管理的概述,WCF服务实例激活类型三种方式概述和单例服务的完整代码。
Android Studio调用RestfulWCF接口
wcf 实例 代码 简单实例,方面上手 简单实例,方面上手
wcf实例化-单调服务模式,言简意赅,很容易理解。就是现在积分没发控制,不然1分即可。很简单的代码
一个以订票为例简单应用WCF实例,入门简单,经典
WCF 22个实例2 wcf 值得收藏,好资源
android 调用C# WCF开发实例
在博客园看到的WCF的例子,做成的源码。 先运行Host,再运行Client就能看到效果。
刚整理的一套android客户端调用wcf服务的文档,适合新手学习。
WCF小实例[包括WCF事务编程]
ajax跨域调用wcf实例
1:创建第一个WCF服务 2: 使用IIS发布WCF服务 3:自运行WCF服务 4:使用Windows服务发布WCF服务 5:创建WCF客户端程序
涉及到的知识点:1.WCFRest实现基础(WCFRest后面单独讲,没接触过的,就根据我的例子依葫芦画瓢,到实际要用时再研究不迟);2.Http的Get和Post请求;3.页面跳转传值;4.实体类对象与Json字符串的互转;5.子线程中...
WCF实例(基于X.509证书的身份验证)
本实例是一个关于配置WCF、编写WCF服务到调用的,里面会教你手动生成对应的WSDL。此实例基本借鉴 Robin关于WCF第七节中的思想。
帮助入门的同志,希望这个东西能给您的入门带来方便,大家共同进步。