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

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context="com.xgezhang.dial.MainActivity"
>

    <EditText

        android:id="@+id/et_number"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:inputType="phone"
>

    </EditText>

    <Button

        android:onClick="dialButtonClicked"

        android:id="@+id/bt_dial"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignParentLeft
= "true"

        android:layout_below="@+id/et_number"

        android:layout_marginTop="10dp"

        android:text="@string/dial"

        />

</RelativeLayout>

接下来我们来写对应的java代码,拨打电话这一过程,首先是要提取处et_number里面的值,点击按钮之后要往et_number的号码拨打电话。按钮事件我们可以通过注册内部类,去完成它的接口来实现。注意这里调用的OnClickListener;要是在android.view.View下的,不然会出错。

?


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

31

32

33

34

35

36

37

38

39

40

package
com.xgezhang.dial;

import
android.app.Activity;

import
android.content.Intent;

import
android.net.Uri;

import
android.os.Bundle;

import
android.widget.Button;

import
android.widget.EditText;

import
android.widget.Toast;

import
android.text.TextUtils;

import
android.view.View;

import
android.view.View.OnClickListener;

public
class
MainActivity extends
Activity implements
OnClickListener {

    private
EditText et_number;

    @Override

    protected
void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        //加载布局文件

        setContentView(R.layout.activity_main);

        //查找按钮

        Button bt_dial = (Button) findViewById(R.id.bt_dial);

        //查找文本框

        et_number = (EditText) MainActivity.this.findViewById(R.id.et_number);

        //  1.创建一个内部类,实现OnClickListener的接口

                

        bt_dial.setOnClickListener(new
MyListener());  

    }

    private
class MyListener
implements OnClickListener{

        /**

         * 当按钮被点击时调用的方法

         */

        @Override

        public
void onClick(View v) {      

            callPhone();

        }

    }

}

接下来我们就需要去实现callPhone()函数了。首先,我们可以判断一下电话号码是否为空,如果为空可以给出提示,Android下的提示通过Toast函数来实现

?


1

2

3

4

5

String number = et_number.getText().toString();

        if
(TextUtils.isEmpty(number)) {

            Toast.makeText(MainActivity.this,
"号码不能为空", Toast.LENGTH_SHORT).show();

            return;

        }

其中Toast.makeText()有三个参数,第一个为context,这里传递的是MainActivity,第二个参数是提示内容,第三个内容为提示持续的长短时间。分别为Toast.LENGTH_LONG和Toast.LENGTH_SHORT。

接下来我们要传递一个打电话的意图,这里通过Intent来实现:

?


1

2

3

4

Intent intent =
new Intent();

        intent.setAction(Intent.ACTION_CALL);

        intent.setData(Uri.parse("tel:"+number));

        startActivity(intent);

其中Intent.ACTION_CALL是一个已经封装好的动作,即拨号,把电话号码字符转化为Uri之后,我们就可以通过开启界面startActivity(intent)完成拨号了。

完整的callPhone()函数如下:

?


1

2

3

4

5

6

7

8

9

10

11

12

13

private
void
callPhone() {

    // 意图 松耦合  

    String number = et_number.getText().toString();

    if
(TextUtils.isEmpty(number)) {

        Toast.makeText(MainActivity.this,
"号码不能为空",
0).show();

        

        return;

    }

    Intent intent =
new Intent();

    intent.setAction(Intent.ACTION_CALL);

    intent.setData(Uri.parse("tel:"+number));

    startActivity(intent);

}

但这还没有结束,我们在使用安卓手机安装app时经常会看到警告,说这个app会拥有系统的一些权限,提示我们是否允许。电话拨号器也是一样的,它也需要拥有拨号的权限。

我们打开AndroidManifest.xml文件,选择Permission->UserPermission,Add一个叫CALL_Phone的permission。

然后就可以了,我们可以打开两个模拟器,用一个给另外一个拨号,模拟器中直接拨打端口号5556即可。查看效果:

欢迎转载,请注明出处。

时间: 2024-10-26 03:04:28

Android学习笔记(1)——电话拨号器的相关文章

android学习笔记之调用拨号界面拨打电话

调用拨号界面拨打电话(不直接打出去) Intent intent1=  new Intent(Intent.ACTION_DIAL);             intent1.setData(Uri.parse("tel:400-8181800"));           startActivity(intent1); Manifest文件里:   设置权限 <uses-permission android:name="android.permission.CALL_P

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实现电话拨号器和短信发送器

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

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

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

无废话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学习笔记(十八)——使用意图筛选器和实现浏览网页(附源码)

使用意图筛选器 点击下载源码 1.创建一个Intents项目,给该项目添加一个新类,命名为MyBrowserActivity,在res/layout文件夹下新增一个browser.xml: 2.在AndroidManifest.xml文件中添加如下代码: 添加权限: <uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="a

初识安卓小程序(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