您的位置:首页 > 移动开发 > Android开发

Android学习笔记(2)——短信发送器

2015-04-08 22:02 190 查看
搬运自本人博客:http://www.xgezhang.com/android_sms.html

上一篇文章中我们学着写了一个电话拨号器,这里我们继续来写一个短信发送器。

同样的按一般app开发的步骤,首先先确定下UI界面,大致效果应该是这样:



那么界面要怎么完成了?这种布局可以采用线性布局来做,比较方便。这里还是采用的相对布局,先上xml文件:

?
比较容易看懂,只是注意一下第二个EditText,有一个参数为android:lines=”5″,这里可以用来确定要显示的行数。

接下来我们来根据需求思考以下具体的代码该如何实现,我们要做以下几件事:

提取et_number 和 et_content里面的内容,备用。
点击发送按钮,发送短信(这里可以判断一下是否为空)

那首先是提取内容,直接用findViewById即可:

?
然后是注册点击事件,这里我们用另外一种更为常见的点击事件注册的写法来完成,即让MainActivity类来实现OnclickListener的接口,因此调用的时候只需要:

?
这种写法有一个好处,就是如果一个Activity上有10个按钮,采用内部类的方法的话就得写10个内部类,特别麻烦。而采用这种方法只需要实现一个函数即可,针对不同的按钮可以采用switch语句判断传递进来的到底是哪个按钮的id,然后根据返回值做出相应的动作。

最后就是去写接口未完成的函数 Onclick()了,和电话拨打器一样,我们可以判断以下填写的内容是否为空,然后用Toast.makeText来制作错误提示信息。短信发送我们采用的是内置的smsManager,在写SmsManager的时候,系统会提示说SmsManager已经被android.telephony替换,原因是SmsManager只支持GSM,而后者可以支持3G的一些制式,不过这里可以不用管它。

最后我们还要考虑到,对于一条短信,往往有字符的限制(比如中国一条短信是70个汉字),如果超过的话短信会发送失败。因此我们需要把这样的短信拆分出来,具体操作我们也不用担心,已经有写好的函数供我们调用了。具体实现参考如下代码:

?
最后我们再在AndroidManifest文件中开启SEND_SMS的permission,部署到模拟器上,就可以进行测试了。



MainActivity.java 完整代码如下:

?
欢迎转载,请注明出处
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: