上次我們做了一個簡單的hello world,這次我們來寫一個電話撥打系統,其實這個電話撥打並不是真正的自己的程序撥打的電話,而是調用的系統程序而實現的電話撥打。
首先我們建立項目Phone,在項目的aluesàstrings下創建所需要的字符串
- <string name="app_name">Phone</string>
-
- <string name="input_info">請輸入號碼</string>
-
- <string name="dial_caotion">撥打</string>
然後在layoutàmain.xml下創建界面
- <TextView
-
- Android:layout_width="fill_parent"
-
- android:layout_height="wrap_content"
-
- android:text="@string/input_info" />
-
-
-
- <EditText
-
- android:layout_width="fill_parent"
-
- android:layout_height="wrap_content"
-
- android:id="@+id/phone_number"
-
- />
-
- <Button
-
- android:layout_width="wrap_content"
-
- android:layout_height="wrap_content"
-
- android:id="@+id/dial_btn"
-
- android:text="@string/dial_caotion"
-
- />
這個程序一共用到了一個輸入框,一個按鈕,那個文本就不再說了。剩下的就是我們的java代碼了。
我們需要在srcàPhoneActvity寫實現代碼,首先我們應該先獲取用戶在輸入框裡輸入的電話號,然後再寫一個監聽內部類,用來監聽按鈕事件,具體實現代碼就是下面這樣
- numberEt = (EditText) this.findViewById(R.id.phone_number);
-
- dialBtn = (Button) this.findViewById(R.id.dial_btn);
-
-
-
- dialBtn.setOnClickListener(new OnClickListener() {
-
-
-
- @Override
-
- public void onClick(View v) {
-
- // TODO Auto-generated method stub
-
- //調用系統的撥號服務實現電話的撥打功能
-
- String phone_number = numberEt.getText().toString();
-
- phone_numberphone_number = phone_number.trim();
-
- if(phone_number !=null&&!phone_number.equals("")){
-
- //封裝一個打電話的intent,並且將電話號碼包裝成一個Uri對象傳入
-
- Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:" +phone_number));
-
- PhoneActivity.this.startActivity(intent);
-
- }
-
- }
-
- });