灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2326回复:0

android模拟打电话的应用小程序

楼主#
更多 发布于:2012-09-06 14:00

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) {
              // 触发按钮后的操作

              // 获取文本组件 www.atcpu.com
              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()




摘自 韩晓爽的专栏



喜欢0 评分0
游客

返回顶部