歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android開發教程:撥打電話的簡單實現

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

日期:2017/3/1 10:48:50   编辑:Linux編程
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. <TextView
  3. android:layout_width="fill_parent"
  4. android:layout_height="wrap_content"
  5. android:text="@string/myPhone"/>
  6. //輸入文本框的顯示風格
  7. <EditText
  8. android:layout_width="fill_parent"
  9. android:layout_height="wrap_content"
  10. android:id="@+id/phone_number"/>
  11. //按鈕的顯示及其按鈕的值
  12. <Button
  13. android:layout_width="wrap_content"
  14. android:layout_height="wrap_content"
  15. android:layout_gravity="center"
  16. android:id="@+id/dial_btn"
  17. android:text="@string/dial_phone" />

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

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