当前位置:操作系统 > 安卓/Android >>

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

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



摘自 韩晓爽的专栏
 

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,