Android开发系列(一):电话拨号器的实现

目标,实现简单的电话拨号功能。

首先,可以看到上边有几个控件,上边有几个文字。

在我们建立好了工程之后,我们首先可以在res目录下的values目录的strings.xml中把这几个文字添加进去,为了更好地实现国际化。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, MainActivity!</string>
    <string name="app_name">电话拔号器</string>
    <string name="mobile">请输入手机号</string>
    <string name="button">拔号</string>
</resources>

接下来,我们需要实现这个Activity窗口。可以看出,这个界面中有三个组件:第一行的”请输入手机号“,第二行的手机号文本框,第三行的“拨号”按钮。

所以,我们在res目录下的layout目录的main.xml配置文件中添加这几个组件:

       <TextView
	    android:layout_width="fill_parent"
	    android:layout_height="wrap_content"
	    android:text="@string/mobile"
	    />
	<EditText
		android:layout_width="fill_parent"
	    android:layout_height="wrap_content"
	    android:id="@+id/mobile"
	    />
	<Button
		android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:text="@string/button"
	    android:id="@+id/button"
	    />

做到这里的时候,界面就是已经做好了。

这个时候,我们需要通过java来实现这个拨号器的拨号功能了:

我们需要编写MainActivity.java:

package cn.itcast.phone;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {
    private EditText mobileText;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mobileText = (EditText) findViewById(R.id.mobile);//获得文本输入框:通过main中的id为mobile的属性
        Button button = (Button) this.findViewById(R.id.button); //获得Button
        button.setOnClickListener(new ButtonClickListener());//设置点击事件的监听器
    }

    private final class ButtonClickListener implements View.OnClickListener{
		public void onClick(View v) { //默认实现方法,当按钮被点击就会被调用
			String number = mobileText.getText().toString(); //通过文本输入框,获得文本输入框的值
			Intent intent = new Intent(); //得到一个意图对象
			intent.setAction("android.intent.action.CALL"); //传递动作名称
			intent.setData(Uri.parse("tel:"+ number)); //传递数据
			startActivity(intent);//方法内部会自动为Intent添加类别:android.intent.category.DEFAULT
		}
    }
}

我们来分析下程序的过程:

首先,调用setContentView(R.layout.main);来获得main窗口,然后通过findViewById(R.id.mobile)获得在main.xml中id为mobile的文本输入框。

接下来,通过findViewById(R.id.button);获得在main.xml中id为button的按钮。

继续,用setOnclickListener(new ButtonClickListener());来设置点击事件的监听器。

再下边,我们需要编写一个ButtonClickListener()类,用final来标记不能够被继承。

在这个类中添加未被实现的方法,当点击的时候会被调用:Onckick(View v)。

在方法中,调用mobileText.getText().toString()来获得文本框输入的手机号码。

然后,通过intent传递拨打电话的动作名称:“android.intent.action.CALL"

通过intent传递数据:intent.setDate(Uri.parse("tel:"+number));

接下来开启intent意图。

因为拨打电话涉及到数据的隐私,所以我们需要在AndroidMainfest.xml中添加一个安全控制:

<uses-permission android:name="android.permission.CALL_PHONE"/>

到了这个时候,一个电话拨号器基本就完成了。

时间: 2024-11-03 03:26:54

Android开发系列(一):电话拨号器的实现的相关文章

Android app 简单的电话拨号器

实现步骤: 1.画UI 可以用拖拽和文本编辑. 2.根据UI写业务逻辑  在MainActivity中的onCreate中编写 //get editText content et_number = (EditText)findViewById(R.id.editText1); //find zhe Button Button btn_call = (Button)findViewById(R.id.button); 3.给按钮设置一个点击事件  内部类 btn_call.setOnClickLi

= 电话拨号器/点击事件写法 =发短信

= 电话拨号器/点击事件写法 = 开发安卓应用步骤: - 1. 写UI, 即布局文件. - 2. 写代码, Activity, ContentProvider, Service, 等等. - 3. 在清单文件中配置 Activity 等四大组件. - 4. 在清单文件中添加权限. 下面开发一个电话拨号器应用. 首先是写布局文件: {{{class="brush:xml" <?xml version="1.0" encoding="utf-8"

Android学习笔记(1)——电话拨号器

搬运自本人博客:Android学习笔记(1)--电话拨号器 程序的实现过程非常简单,大体分为以下几步: 确定程序的功能,大致确定好UI界面. 通过调整xml文件参数让界面更加美观. 在Activity文件编写代码,完成对应的事件等. 对于电话拨号器,我们最后的界面大致如下: 对应的布局文件如下,采用的是相对布局. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 <Relative

无废话Android之常见adb指令、电话拨号器、点击事件的4种写法、短信发送器、Android 中各种布局(1)

1.Android是什么 手机设备的软件栈,包括一个完整的操作系统.中间件.关键的应用程序,底层是linux内核,安全管理.内存管理.进程管理.电源管理.硬件驱动 2.Dalvik VM 和 JVM 的比较 3.常见adb指令 platform-tools/adb.exe adb.exe : android debug bridge android调试桥 adb devices:列出所以连接的设备 adb kill-server :杀死adb调试桥 adb start-server :启动adb

Android实现电话拨号器和短信发送器

电话拨号器和短信发送器是Android初学者很好的练习项目,今天就找了两个写得很不错的例子学习下 电话拨号器 实现原理:用户输入电话号码,当点击拨打的时候,由监听对象捕获,监听对象通过文本控件获取到用户输入的电话号码,由于系统已经实现了电话拨号功能,所以我们只需要调用这个功能就可以了. 步骤: 1.界面布局 2.编写Activity 3.使用意图过滤器激活电话拨号功能 4.添加电话服务权限(用手机的电话服务,要在清单文件AndroidManifest.xml中添加电话服务权限) 如图所示这三个控

初识安卓小程序(Android电话拨号器)

首先,先创建一个安卓项目(我的版本是4.4.2的),名字为"电话拨号器",创建的时候点击"clipart",如图: 然后在res文件夹下找到layout文件夹,找到activity_main.xml或fragment_main.xml,在里面输入或拖拽按钮 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="

android基础(3):电话拨号器

电话拨号器: 权限:android.permission.CALL_PHONE 布局代码: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_hei

Android入门——电话拨号器和四种点击事件

相对于HelloWorld来说,电话拨号器也是Android的一个入门demo,从这个例子我们要理清楚做安卓项目的思路. 大体分为三步: 1.理解需求,理清思路 2.设计UI 3.代码实现 电话拨号器 1. 理解需求: *一个文本框--用来接收电话号码 *一个按钮--用来触发事件 2. 设计UI 3. 代码实现 public class MainActivity extends Activity { private EditText et_number; //定义变量用来接收电话号码 priva

Android:使用电话拨号器

1.申请权限: <uses-permission android:name="android.permission.CALL_PHONE" /> 2.创建意图(Intent): Intent intent = new Intent();intent.setAction("android.intent.action.CALL");//操作系统会自动为Intent注册类别:android.intent.category.DEFAULT//intent.add