歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android開發教程:撥打電話的簡單實現

Android打電話主要就是用內部類加上監聽器實現的,比較的簡單和粗糙,這裡沒有進行什麼美化。用到的是以前所用的MVC模式,其中main.xml就相當於view視圖層,主要是通過activity文件的調用從而達到視圖界面的搭建

首先是頁面的實現,頁面設計的只是功能用到的一些東西。在string.xml中定義文字提示信息,下面是string.xml的部分代碼:

  1.  <string name="app_name">撥打電話</string>  
  2.  <string name="myPhone">請輸入您要撥打的號碼:</string>  
  3. <string name="dial_phone">撥打</string>  

然後在main.xml中,定義視圖層顯示頁面,以下是部分代碼:

  1. //定義顯示標簽的提示信息  
  2.   
  3. <TextView   
  4.   
  5.         android:layout_width="fill_parent"  
  6.   
  7.         android:layout_height="wrap_content"  
  8.   
  9.         android:text="@string/myPhone"/>  
  10.   
  11. //輸入文本框的顯示風格  
  12.   
  13.    <EditText  
  14.   
  15.         android:layout_width="fill_parent"  
  16.   
  17.         android:layout_height="wrap_content"  
  18.   
  19.         android:id="@+id/phone_number"/>  
  20.   
  21.     //按鈕的顯示及其按鈕的值  
  22.   
  23.     <Button   
  24.   
  25.         android:layout_width="wrap_content"  
  26.   
  27.         android:layout_height="wrap_content"  
  28.   
  29.         android:layout_gravity="center"  
  30.   
  31.         android:id="@+id/dial_btn"  
  32.   
  33.         android:text="@string/dial_phone" />  

隨後就是監聽的注冊和實現,在activity文件中進行編譯,通過內部類方法實現監聽器的注冊和監聽實現。要實現撥打功能首先就要獲取用戶輸入的號碼,要處理的文本框輸入信息的值是一個EditText類型的值,但是傳過來的值是一個String字符串,很有可能裡面會有空格的出現,這時就需要進行字符串的去空格操作。這些操作進行完畢後需要進行判斷得到的字符串是否為空,如果是空值,電話肯定就撥打不出去了;若不為空就要封裝一個撥打電話的intent,並且將電話號以uri的形式傳入到activity對象中。以下是部分代碼:

  1. EditText numberEt;  
  2.   
  3.     Button dialBtn;  
  4.   
  5.      
  6.   
  7.     public void onCreate(Bundle savedInstanceState) {  
  8.   
  9.         super.onCreate(savedInstanceState);  
  10.   
  11.         setContentView(R.layout.main);  
  12.   
  13.           
  14.   
  15.         findViews();  
  16.   
  17.         /*創建內部監聽類*/  
  18.   
  19.         dialBtn.setOnClickListener(new OnClickListener() {  
  20.   
  21.          
  22.   
  23.        @Override  
  24.   
  25.        public void onClick(View v) {  
  26.   
  27.          // TODO Auto-generated method stub  
  28.   
  29.          //調用系統的撥號服務實現電話撥打功能  
  30.   
  31.          String phone_number = numberEt.getText().toString();  
  32.   
  33.          //對字符串進行去空格操作  
  34.   
  35.          phone_numberphone_number = phone_number.trim();  
  36.   
  37.          if(phone_number!=null && !phone_number.equals("")){  
  38.   
  39.             //封裝一個撥打電話的intent,並且將電話號碼封裝成一個Uri對象傳入  
  40.   
  41.             Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+ phone_number));  
  42.   
  43.             PhoneActivity.this.startActivity(intent);  
  44.   
  45.          }  
  46.   
  47.    
  48.   
  49.        }  
  50.   
  51.      });  
  52.   
  53.     }  
  54.   
  55.     public void findViews(){  
  56.   
  57.     numberEt = (EditText) this.findViewById(R.id.phone_number);  
  58.   
  59.     dialBtn = (Button) this.findViewById(R.id.dial_btn);  
  60.   
  61.     }  
Copyright © Linux教程網 All Rights Reserved