今天课程记得结尾老师使用现在刚刚接触的 Android 写了一款打电话的小程序。
首先建立名字为 Phone的项目,
res/layout/ values/String.xml中的代码:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Phone</string>
<string name="input_info" >需要拨打的电话号码: </string>
<string name="dial_caption">拨打</string>
</resources>
接着就是在 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:text="@string/dial_caption"
android:id="@+id/dial_btn"/>
在R.java下的代码:
public final class R {
public static final class attr {
}
public static final class drawable {
public static final int ic_launcher=0x7f020000;
}
public static final class id {
public static final int dial_btn=0x7f050001;
public static final int phone_number=0x7f050000;
}
public static final class layout {
public static final int main=0x7f030000;
}
public static final class string {
public static final int app_name=0x7f040000;
public static final int dial_caption=0x7f040002;
public static final int input_info=0x7f040001;
}
}
在PhoneActivity.java下的代码:
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;
public class PhoneActivity extends Activity {
EditText numberEt;
Button dialBtn;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findViews();
dialBtn.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
//调用系统的拨号服务实现电话拨打功能
String phone_number = numberEt.getText().toString();
phone_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);
}
}
});
}
public void findViews(){
numberEt = (EditText) this.findViewById(R.id.phone_number);
dialBtn = (Button) this.findViewById(R.id.dial_btn);
}
}
在AndroidManifest.xml中<application上方添加 :电话服务的权限 android.permission.CALL_PHONE
<uses-sdk android:minSdkVersion="10" />
<uses-permission android:name="android.permission.CALL_PHONE"/>
这样就实现了打电话的功能了。 要打开两个手机模拟器实现 相互通话。
下面是两个电话互相通电话的界面: