代码:
package com.test.phone;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.text.TextUtils;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
private EditText et;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//加载布局文件
setContentView(R.layout.activity_main);
//查找按钮
Button bt =(Button) findViewById(R.id.button1);
//查找文本
et= (EditText) MainActivity.this.findViewById(R.id.editText1);
//给按钮注册点击事件 1.创建一个内部类方法
//bt.setOnClickListener(new myliseter());
//2.匿名内部类方法
/* bt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
callphone();
}
});*/
//3.让activity实现点击事件
// bt.setOnClickListener(this);
}
//4.在UI控件里绑定点击事件
public void deil(View view) {
callphone();
}
private void callphone() {
String nu=et.getText().toString();
if(TextUtils.isEmpty(nu)){
Toast.makeText(MainActivity.this, "号码不能为空", Toast.LENGTH_LONG).show();
return;
}
Intent intent=new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+nu));
startActivity(intent);
}
private class myliseter implements OnClickListener{
@Override
public void onClick(View v) {
callphone();
}
}
//3.未实现接口的方法
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1://case后面跟的是条件
callphone();
break;
}
}
}
在电话拨打器中主要是学会了点击事件的四种写法
创建内部类实现button点击事件方法
创建匿名内部类实现button点击事件方法
让activity实现点击事件(目前常用的方法之一吧~~不确定但是很好用。)
在UI界面控件绑定点击事件(需要在Java代码中创建控件里写的方法。)
在这个代码练习中遇到了几个小问题,要记住intent.setDate(Uri.parse.("tel:")+传过来的参数)
代码2:
package com.example.msnsend;
import java.util.ArrayList;
import android.R.string;
import android.os.Bundle;
import android.app.Activity;
import android.telephony.SmsManager;
import android.text.TextUtils;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
private EditText et;
private EditText number;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button bt=(Button) findViewById(R.id.send);
et=(EditText) findViewById(R.id.msnmessage);
number=(EditText) findViewById(R.id.deilnumber);
bt.setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
switch (arg0.getId()) {
case R.id.send:
String messger=et.getText().toString().trim();
String nu=number.getText().toString().trim();
if(TextUtils.isEmpty(nu)||TextUtils.isEmpty(messger)){
Toast.makeText(this, "号码或用户名不能为空!", Toast.LENGTH_LONG).show();
}else{
SmsManager sms=SmsManager.getDefault();
ArrayList<String> str=sms.divideMessage(messger);
for (String string: str) {
sms.sendTextMessage(nu, null, string, null, null);
}
}
break;
}
}
}
这个是短信发送器demo,在这个练习中知道了sendTextMessage这个方法里的5个参数的意义(电话号码,端口号(国内开发设为null),短信内容,延迟发送,回执报告),还有一个就是Java的数组以及遍历
语法:
for(<迭代变量声明>:<数组>){
语句;
}
例如代码片段:
for(int n : nums){
System.out.println(n);
}
好了,今天的学习结束了,加油~~~