本次课老师主要讲了如何在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();
}
});
}中依次获取三组件的值并将其赋给私有变量,通过给发送按钮注册监听将获取到的组件对象转换为字符串通过信息管理器获取管理器,通过PendingIntent。getBroadcast(Sms.this,0,new Intent(), 0);
方法表明操作意图,然后是一个关于信息分组的判断,如果信息内容总长度大于70就将其分组显示并且显示“发送成功”字样,否则,不会分组。
尤其需要注意的是最后还要在Manifest文件中进行赋权操作使其具有发送信息的权限SEND_SMS,这样你自己编写的信息发送器就完成了你同样可以将它发布上Android手机上就可以进行信息交流了。