Android之制作简单的拨号器

首先,先要做拨号器的布局。
1.新建一个项目,先修改layout文件下的activity_main.xml文件
2.代码如下:

    <TextView
        android:id="@+id/title"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:text="请输入你要拨打的号码"
     />
    <EditText 
        android:id="@+id/number"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:layout_below="@id/title"
     />
    <Button
        android:id="@+id/call"
        android:layout_below="@id/number"
        android:text="拨打此号码"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:onClick="call"
     />

此时拨号器布局
Button按钮有一个android:onClick=”call”,onClick方法可以查看API文档

android:onClick
Since: API Level Name of the method in this View’s context to invoke when the view is clicked. This name must correspond to a public method that takes exactly one parameter of type View. For instance, if you specify android:onClick=”sayHello”, you must declare a public void sayHello(View v) method of your context (typically, your Activity).

android:onClick=”call”,我们这里给它一个“call”名。,就要回到MainActivity写一个call方法

//当拨打此号码的按钮被点击时触发该方法
    public void call(View v){
        System.out.println("拨打电话");
    }

3.先运行一下,看看各方面有没有什么出错,点击【拨打此号码】按钮,看到Logcat打印的内容为“拨打电话”,则证明我们捕获了这个事件。

07-11 13:03:39.667: I/System.out(726): 拨打电话

4.接下来是拿出输入框里面的内容,给它添加一个拨打电话的权限,MainActivity.java编写如下代码

//当拨打此号码的按钮被点击时触发该方法
    public void call(View v){
        System.out.println("拨打电话");

        //1.取出输入框中的号码(就得先获得对象)
    EditText etNumber = (EditText) findViewById(R.id.number);//输入框对象

    String number = etNumber.getText().toString(); //将要拨打的号码

        //2.根据号码拨打电话
    Intent intent = new Intent(); //创建一个意图


/*URI:资源标志符(Uniform Resource Identifier, 简称"URI")。 用来标识你的文件、数据库、数据信息等的位置。*/

    intent.setData(Uri.parse("tel:"+number)); //指定将要拨出的号码

    startActivity(intent);  //执行这个动作
    }
}

接下来到AndroidManifest.xml申请拨打电话权限:

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

5.到现在就可以实现基本功能了,来个拨打10086
这里写图片描述

这个时候我们还要考虑一个问题,我们如果输入一些字母呢(经测试会被转换为数字),所以为了模拟真实手机软件,我们就必须给它限制只能输入数字,只要增加一个EditText的属性inputType就行了

    <EditText 
        android:id="@+id/number"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:inputType="number"
        android:layout_below="@id/title"
     />

这样就完成了一个最基本功能的拨号器了,接下来测试一下,没有真机可以开启两个模拟器测试,模拟器上的5554,5556就是它的号码
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值