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拨号器就完成了,功能虽小,但是使用的地方还是很多的.
Android 拨号器的实现 [视频1]的更多相关文章
- Android 拨号器的简单实现
功能实现:一个EditView 一个拨打按钮,输入号码跳转到拨号界面 界面布局:activity_call.xml //线性垂直布局:一个EditView文本.一个Button按钮 1 <Lin ...
- Android实战--电话拨号器
今天跟着黑马视频建立一个android app--电话拨号器 首先新建一个android项目 activity_main_xml中的代码如下: <RelativeLayout xmlns:and ...
- Mono for Android—初体验之“电话拨号器”
1.Main.axml文件: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmln ...
- [Android]电话拨号器开发
继续今天的Android,经过昨天大体了解了Android开发的一些基本文件结构,今天来做一个电话拨号器! 预期达到的效果 实现过程 首先还是按照昨天第一篇教程,新建一个项目叫PhoneCall的An ...
- Android 视频播放器切换到下个视频时残留上个视频画面的解决办法
最近在做一个Android视频播放器,遇到一个问题:切换到下一个视频时,中间会停留上一个视频的残存画面. 这是怎么回事? 我在网上找了很多资料,终于找到了原因:我是用自定义一个surfacev ...
- 无废话Android之常见adb指令、电话拨号器、点击事件的4种写法、短信发送器、Android 中各种布局(1)
1.Android是什么 手机设备的软件栈,包括一个完整的操作系统.中间件.关键的应用程序,底层是linux内核,安全管理.内存管理.进程管理.电源管理.硬件驱动 2.Dalvik VM 和 JVM ...
- android之电话拨号器
在android入门的案例中,除了HelloWorld这个经典案例,还有一个电话拨号器需要掌握,现在我就来个电话拨号器的示范,毕竟大牛也是从菜鸟进化而来的. 首先你应该知道自己要设置怎样的UI,然后创 ...
- Android实现简单拨号器
Android实现简单拨号器 开发工具:Andorid Studio 1.3 运行环境:Android 4.4 KitKat 代码实现 界面布局只有GridLayout和EditText两个控件,全部 ...
- Android入门——电话拨号器和四种点击事件
相对于HelloWorld来说,电话拨号器也是Android的一个入门demo,从这个样例我们要理清楚做安卓项目的思路. 大体分为三步: 1.理解需求,理清思路 2.设计UI 3.代码实现 电话拨号器 ...
随机推荐
- 9月1日,请记得备好名片来PechaKucha Night和大家“闲聊” | Hi!设计
9月1日,请记得备好名片来PechaKucha Night和大家"闲聊" | Hi!设计 9月1日,请记得来PechaKucha Night和大家"闲聊"
- hdu3656Fire station(DLX重复覆盖 + 二分)
题目请戳这里 题目大意:一个城市n个点,现在要建m个消防站,消防站建在给定的n个点中.求建m个消防站后,m个消防站要覆盖所有的n个点的覆盖半径最小. 题目分析:重复覆盖问题,DLX解决.不过要求覆盖半 ...
- Java并发编程:并发容器ConcurrentHashMap
Java并发编程:并发容器之ConcurrentHashMap(转载) 下面这部分内容转载自: http://www.haogongju.net/art/2350374 JDK5中添加了新的concu ...
- Java并发编程:进程和线程的由来(转)
Java多线程基础:进程和线程之由来 在前面,已经介绍了Java的基础知识,现在我们来讨论一点稍微难一点的问题:Java并发编程.当然,Java并发编程涉及到很多方面的内容,不是一朝一夕就能够融会贯通 ...
- Unity3D基础学习 NGUI Example 7-Scroll View(Panel)制作固定包裹栏,点击传递参数显示物体
最终效果如下: 实现ScrollView主要是NGUI的三个脚本"UIDraggable Panel","UIGrid","UIDrag Panel ...
- svn解决冲突 Aborting commit: 'XXXXXXXX'remains in conflict错误
如果你遇到冲突,三件事你可以选择: “手动”合并冲突文本(检查和修改文件中的冲突标志). 用某一个临时文件覆盖你的工作文件. 运行svn revert <filename>来放弃所有的修改 ...
- 百度2014校园招聘算法——给出一组数据A=[a_0, a_1, a-2, ... a_n](当中n可变),打印出该数值元素的全部组合。
VC++ void StringTest(CString source, CStringArray& dest) { if(source.IsEmpty()) { } else { CStri ...
- android 程序防止被360或者系统给kill掉
关于如果和防止android 程序防止被360kill掉之后重启的问题,肯定大家也搜索了好多方法,都不好使,对不对,什么增高权限了,什么进程优先级了,这些东西都不是我们可控的,所以有没有一些非常保险的 ...
- [转] GDB disassemble
前面几篇谈GDB调试程序的帖子,都对反汇编语焉不详.这里详细讨论一下disassemble/disass命令 反汇编一个函数disass func_name 反汇编一段内存地址, 第1个参数是起始地址 ...
- 异步tcp通信——APM.Core 服务端概述
为什么使用异步 异步线程是由线程池负责管理,而多线程,我们可以自己控制,当然在多线程中我们也可以使用线程池.就拿网络扒虫而言,如果使用异步模式去实现,它使用线程池进行管理.异步操作执行时,会将操作丢给 ...