Android 拨号器的实现 [视频1]

Android自带了拨号功能和拨号器

这个是在一个视频里看到的    想写下来记录一下

下面放源代码

/hehe/res/layout/activity_main.xml

<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"
    tools:context="com.example.hehe.MainActivity" >

    <!-- 
    @+id/textView1
        就理解为在R文件加一个id    
     -->
    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="请输入手机号码"
        android:textSize="19dp" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="20dp" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/editText1"
        android:layout_marginTop="30dp"
        android:text="拨号此号码" />

</RelativeLayout>
activity_main.xml

/hehe/src/com/example/hehe/MainActivity.java

package com.example.hehe;

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;
import android.widget.Toast;

/**
 * 手机   打电话的功能   主要是 意图 startActivity
 * 
 * 
 */

/**
 * 这个 Activity 是第一次被启动的 activity
 * 
 */
public class MainActivity extends Activity {

    private EditText et_number;

    /**
     * Called when the activity is starting 当 activity 启动就会执行 onCreate 方法
     * 
     */
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        /**
         * Set the activity content from a layout resource. 设置 activity 的内容
         * 内容来源于布局 加载一个布局
         * 
         */
        setContentView(R.layout.activity_main);
        // [1] 找到我们关心的控件 editText button
        et_number = (EditText) findViewById(R.id.editText1);

        // [2] 找到按钮
        Button btn_call = (Button) findViewById(R.id.button1);

        // [3] 给 Button 按钮设置一个点击事件
        btn_call.setOnClickListener(new MyClickListener());

    }

    private class MyClickListener implements OnClickListener {
        // Called when a view has been clicked. 当按钮被点击的时候调用
        public void onClick(View v) {
            // [4] 获取 editText 文本内容
            String number = et_number.getText().toString().trim();
            if ("".equals(number)) {
                /**
                 * context 上下文
                 */
                Toast.makeText(MainActivity.this, "拨打的电话号码不能为空",
                        Toast.LENGTH_LONG).show();
                return;
            }

            // [5] 进行拨打电话 意图 Intent
            Intent intent = new Intent(); // 创建一个意图对象 打 猫 狗 代码 电话
            // [5.1] 设置动作
            intent.setAction(Intent.ACTION_CALL);
            // [5.2] 设置要拨打是数据
            /**
             * uri: 统一资源标示符 自己定义的路径 想代表什么就代表说明 url: 统一资源定位符 www.baidu.com
             */
            intent.setData(Uri.parse("tel:" + number));

            // [6] 开启意图
            startActivity(intent);

        }

    }

}
MainActivity.java

 里面的注释也是视频里的  感觉说的蛮好

/hehe/AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.hehe"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="17"
        android:targetSdkVersion="19" />

    <!-- 代表当前应用 -->
    <!-- 
    @ 可以理解为 R.java文件也就是 res 文件(资源文件)
     android:icon="@drawable/a"  res 文件 主 drawable 下的  a 图片 (换hehe的应用图片 如:打开QQ的图标)
        android:label="@string/app_name" 应用程序最上面的标题
     android:theme="@style/AppTheme" 主题
     -->
    <uses-permission android:name="android.permission.CALL_PHONE"/>
    <application
        android:allowBackup="true"
        android:icon="@drawable/a"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
       <!-- 
       activity 理解为  第一次被启用的
       android:name=".MainActivity" 指的是第一次启用的 MainActivity
       
        -->
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" /><!-- main 主要的入口 -->

                <category android:name="android.intent.category.LAUNCHER" /><!-- launcher 启动 -->
            </intent-filter>
        </activity>
    </application>

</manifest>
AndroidManifest.xml

这个是资源清单文件  

加一下<uses-permission android:name="android.permission.CALL_PHONE"/>权限

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

好,至此一个简单的Android拨号器就完成了,功能虽小,但是使用的地方还是很多的.  

posted @ 2016-11-25 15:40  Seven-7-  阅读(177)  评论(0编辑  收藏  举报