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=
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手機上就可以進行資訊交流了。