Android(java)学习笔记25:Android 手机拨号
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 view 102 */ 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 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="fill_parent" 4 android:layout_height="fill_parent" 5 android:orientation="vertical" > 6 7 <TextView 8 android:layout_width="fill_parent" 9 android:onClick="textview_click" 10 android:clickable="true" 11 android:layout_height="wrap_content" 12 android:text="@string/please_input_number" /> 13 14 <EditText 15 android:id="@+id/et_number" 16 android:numeric="integer" 17 android:lines="1" 18 android:layout_width="fill_parent" 19 android:layout_height="wrap_content" 20 android:hint="@string/hint" /> 21 22 <Button 23 android:layout_width="wrap_content" 24 android:layout_height="wrap_content" 25 android:text="@string/bt" 26 android:id="@+id/bt_dail" 27 android:onClick="dail" 28 29 /> 30 </LinearLayout>
string.xml
1 <?xml version="1.0" encoding="utf-8"?> 2 <resources> 3 4 <string name="hello">Hello World, MainActivity!</string> 5 <string name="app_name">Phone</string> 6 <string name="please_input_number">请输入拨打的手机号码</string> 7 <string name="hint">请输入号码</string> 8 <string name="bt">拨打电话</string> 9 </resources>