Android实训总结之五


 本次课老师主要讲了如何在Android 手机上编写自己的短信程序,实现了两个Android虚拟机之间的信息交流如图:



   具体功能实现:

          首先,在layout文件夹下的main..xml中布局出如第一个屏幕中的界面,令存储电话的文本框的id为Number ,存储信息的文本框的id为content手机的发送按钮id为sendId

然后再java文件中一次获取文本框及发送按钮的值,在类中封装EidtText 类的两个成员变量Number、Content和Button类的私有成员变量sendId,接着在方法

publicvoid onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        sendId=(Button)findViewById(R.id.sendid);

        Content=(EditText)findViewById(R.id.content);

        Number=(EditText)findViewById(R.id.Number);

       

        sendId.setOnClickListener(new View.OnClickListener() {

 

publicvoid onClick(View v) {

String content=Content.getText().toString();

String number=Number.getText().toString();

//信息管理器

SmsManager sms=SmsManager.getDefault();

   

PendingIntent pendingintent=PendingIntent.getBroadcast(Sms.this,0, new Intent(), 0);

               if(content.length()>70){

                   List<String>contents=sms.divideMessage(content);

                   for(String each:contents){

sms.sendTextMessage(number, null, each,pendingintent, null);

                   }

               }else{

sms.sendTextMessage(number, null, content,pendingintent, null);

               }

Toast.makeText(Sms.this, "发送成功!", Toast.LENGTH_LONG).show();

}

        });

}中依次获取三组件的值并将其赋给私有变量,通过给发送按钮注册监听将获取到的组件对象转换为字符串通过信息管理器获取管理器,通过PendingIntentgetBroadcast(Sms.this,0, new Intent(), 0);

方法表明操作意图,然后是一个关于信息分组的判断,如果信息内容总长度大于70就将其分组显示并且显示“发送成功字样,否则,不会分组。

 

 

尤其需要注意的是最后还要在Manifest文件中进行赋权操作使其具有发送信息的权限SEND_SMS,这样你自己编写的信息发送器就完成了你同样可以将它发布上Android手机上就可以进行信息交流了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值