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()