android模擬打電話的應用小程序
一 介紹
在android中已經有打電話的效果了,我們爲了更好的瞭解android,所以來編寫一個簡單的android,來模擬。
二 代碼詳解
1. 首先我們來編寫視圖界面,視圖界面我們以一個最簡單的方式來體現,如圖:
可視化的界面我們是通過layout中的main.xml來編寫的,編寫的代碼爲:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/tipMsg" />
<EditText
android:id="@+id/phone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" >
<requestFocus />
</EditText>
<Button
android:id="@+id/callBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn" />
</LinearLayout>
以上的文字是通過values中的strings.xml中引入的:
<string name="app_name">Phone</string>
<string name="tipMsg">請輸入正確的電話號碼</string>
<string name="btn">撥號</string>
注:@代表的是引用,+代碼的是沒有的話創建一個
在執行main.xml文件的時候是先尋找R.java中的內部類,再去尋找所對應的values下的strings.xml文件,在strints.xml中的文件在創建之後,就會在R.java中自動生成。
2. 點擊撥號的時候觸發事件
這就需要在src下的Activity中獲取按鈕的組件並獲取文件框中輸入的信息。
package cn.csdn.hr.android.phone;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
publicclass PhoneActivity extends Activity {
@Override
publicvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 設置顯示的視圖
setContentView(R.layout.main);
// 獲取當前這個實體
Button callBtn = (Button) findViewById(R.id.callBtn);
//所用的是匿名類
callBtn.setOnClickListener(new OnClickListener() {
publicvoid onClick(View v) {
// 觸發按鈕後的操作
// 獲取文本組件
EditText phone = (EditText) findViewById(R.id.phone);
// 意圖,告訴組件在撥號的時候要幹什麼
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"
+ phone.getText()));
// 開始處理意圖
PhoneActivity.this.startActivity(intent);
// 給打電話賦的權限,在androidManfest中設置權限
}
});
}
}
在最後一步給打電話賦權限,要打開AndroidManifest.xml,切換到Permissions視圖,點擊Add添加的按鈕,出現一下的界面,選中User Permission:
然後再右邊Name中的下拉列表框中選擇android.permission.CALL_PHONE,最終的結果爲:
這樣,一個簡單的電話通信就完成了。我們可以打開兩個模擬機來測試,比如說一個模擬機名字爲5554,另一個爲 5556,那麼我們可以在5554的文本框中輸入5556,即可測試
注:
獲取文本信息 phone.getText()