1. 手机拨号程序:(只有程序代码)
1 package cn.itcast.phone; 2 3 import android.app.Activity; 4 import android.content.Intent; 5 import android.net.Uri; 6 import android.os.Bundle; 7 import android.util.Log; 8 import android.view.View; 9 import android.view.View.OnClickListener; 10 import android.widget.Button; 11 import android.widget.EditText; 12 13 public class MainActivity extends Activity implements OnClickListener { 14 public static final String tag ="MainActivity"; 15 private EditText mEditText;//这里EditText实现为成员变量,在OnCreate()方法中调用它执行动作(执行一次) 16 @Override 17 public void onCreate(Bundle savedInstanceState) { //onCreate()是创建MainActivity调用的,这里的内容是指执行一次 18 super.onCreate(savedInstanceState); 19 setContentView(R.layout.main); 20 // 得到了 activity界面上button的引用 21 Button button = (Button) this.findViewById(R.id.bt_dail); 22 mEditText = (EditText) MainActivity.this.findViewById(R.id.et_number);//这里把每次拨号查找EditText组件这一步,放到这里, 23 /* button.setOnClickListener(new OnClickListener() { //不用每次查找EditText,提高效率 24 25 // 方法二 :通过匿名内部类的方式实现点击事件 26 @Override 27 public void onClick(View v) { 28 29 String number = mEditText.getText().toString(); 30 Log.i(tag,number); 31 Log.i(tag,"匿名内部类"); 32 //播打电话号码 33 Intent intent = new Intent(); // 意图 代表一个要执行动作的意图 34 //拨打动作 110 代表的是一个数据 35 intent.setAction(Intent.ACTION_CALL); 36 intent.setData(Uri.parse("tel:"+number)); 37 38 //android里面 39 startActivity(intent); 40 } 41 });*/ 42 43 // button.setOnClickListener(this);//第三种写法,MainAcitivity implements OnclickListener{} 44 45 } 46 47 48 /** 49 * 第一种写法 50 * @author zehua 51 * 52 */ 53 private class MyButtonClickListener implements OnClickListener{ 54 // 在某一个view对象 被点击的时候 调用的回调方法 55 @Override 56 public void onClick(View v) { 57 58 59 String number = mEditText.getText().toString(); 60 Log.i(tag,number); 61 //播打电话号码 62 Intent intent = new Intent(); // 意图 代表一个要执行动作的意图 63 //拨打动作 110 代表的是一个数据 64 intent.setAction(Intent.ACTION_CALL); 65 intent.setData(Uri.parse("tel:"+number)); 66 67 //android里面 68 startActivity(intent); 69 } 70 71 } 72 73 74 // 第三种写法:按钮对应的点击事件 75 // 参数 v 代表的就是当前被点击的条目对应的view对象 76 @Override 77 public void onClick(View v) { 78 switch (v.getId()) { 79 case R.id.bt_dail: 80 //相应按钮的点击事件 81 82 String number = mEditText.getText().toString(); 83 Log.i(tag,number); 84 //播打电话号码 85 Intent intent = new Intent(); // 意图 代表一个要执行动作的意图 86 //拨打动作 110 代表的是一个数据 87 intent.setAction(Intent.ACTION_CALL); 88 intent.setData(Uri.parse("tel:"+number)); 89 90 //android里面 91 startActivity(intent); 92 break; 93 94 95 } 96 97 } 98 99 /**100 * 定义 xml布局文件里面 button 绑定的点击事件的方法 101 * @param view102 */103 public void dail(View view){104 String number = mEditText.getText().toString();105 Log.i(tag,number);106 //播打电话号码 107 Intent intent = new Intent(); // 意图 代表一个要执行动作的意图 108 //拨打动作 110 代表的是一个数据 109 intent.setAction(Intent.ACTION_CALL);110 intent.setData(Uri.parse("tel:"+number));111 112 //android里面 113 startActivity(intent);114 }115 116 public void textview_click(View view){117 Log.i(tag,"文本被点击了");118 }119 }
部署程序到虚拟机上:
附上代码中的:main.xml
1 26 7 13 14 21 22 30
string.xml
1 23 4 Hello World, MainActivity! 5Phone 6请输入拨打的手机号码 7请输入号码 8拨打电话 9