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>

 

posted on 2015-05-21 16:33  鸿钧老祖  阅读(333)  评论(0编辑  收藏  举报

导航