1. 手机拨号程序:(只有程序代码)

 package cn.itcast.phone;

 import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText; public class MainActivity extends Activity implements OnClickListener {
public static final String tag ="MainActivity";
private EditText mEditText;//这里EditText实现为成员变量,在OnCreate()方法中调用它执行动作(执行一次)
@Override
public void onCreate(Bundle savedInstanceState) {//onCreate()是创建MainActivity调用的,这里的内容是指执行一次
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 得到了 activity界面上button的引用
Button button = (Button) this.findViewById(R.id.bt_dail);
mEditText = (EditText) MainActivity.this.findViewById(R.id.et_number);//这里把每次拨号查找EditText组件这一步,放到这里,
/* button.setOnClickListener(new OnClickListener() { //不用每次查找EditText,提高效率 // 方法二 :通过匿名内部类的方式实现点击事件
@Override
public void onClick(View v) { String number = mEditText.getText().toString();
Log.i(tag,number);
Log.i(tag,"匿名内部类");
//播打电话号码
Intent intent = new Intent(); // 意图 代表一个要执行动作的意图
//拨打动作 110 代表的是一个数据
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+number)); //android里面
startActivity(intent);
}
});*/ // button.setOnClickListener(this);//第三种写法,MainAcitivity implements OnclickListener{} } /**
* 第一种写法
* @author zehua
*
*/
private class MyButtonClickListener implements OnClickListener{
// 在某一个view对象 被点击的时候 调用的回调方法
@Override
public void onClick(View v) { String number = mEditText.getText().toString();
Log.i(tag,number);
//播打电话号码
Intent intent = new Intent(); // 意图 代表一个要执行动作的意图
//拨打动作 110 代表的是一个数据
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+number)); //android里面
startActivity(intent);
} } // 第三种写法:按钮对应的点击事件
// 参数 v 代表的就是当前被点击的条目对应的view对象
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.bt_dail:
//相应按钮的点击事件 String number = mEditText.getText().toString();
Log.i(tag,number);
//播打电话号码
Intent intent = new Intent(); // 意图 代表一个要执行动作的意图
//拨打动作 110 代表的是一个数据
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+number)); //android里面
startActivity(intent);
break; } } /**
* 定义 xml布局文件里面 button 绑定的点击事件的方法
* @param view
*/
public void dail(View view){
String number = mEditText.getText().toString();
Log.i(tag,number);
//播打电话号码
Intent intent = new Intent(); // 意图 代表一个要执行动作的意图
//拨打动作 110 代表的是一个数据
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+number)); //android里面
startActivity(intent);
} public void textview_click(View view){
Log.i(tag,"文本被点击了");
}
}

部署程序到虚拟机上:

附上代码中的:main.xml

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" > <TextView
android:layout_width="fill_parent"
9 android:onClick="textview_click"
android:clickable="true"
android:layout_height="wrap_content"
android:text="@string/please_input_number" /> <EditText
android:id="@+id/et_number"
android:numeric="integer"
android:lines="1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/hint" /> <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/bt"
android:id="@+id/bt_dail"
android:onClick="dail" />
</LinearLayout>

string.xml

 <?xml version="1.0" encoding="utf-8"?>
<resources> <string name="hello">Hello World, MainActivity!</string>
<string name="app_name">Phone</string>
<string name="please_input_number">请输入拨打的手机号码</string>
<string name="hint">请输入号码</string>
<string name="bt">拨打电话</string>
</resources>

Android(java)学习笔记25:Android 手机拨号的更多相关文章

  1. Android开发学习笔记-关于Android的消息推送以及前后台切换

    下面是最简单的Android的消息推送的实现方法 package com.example.shownotic; import java.util.Random; import android.supp ...

  2. Java学习笔记25(System类)

    System类,系统类,包含的是静态方法,无法创建对象 这里介绍几个简单的方法,其他一些在后边用到的时候会讲 类方法: currentTimeMillis():获取当前毫秒数 package demo ...

  3. java学习笔记25(Collections类)

    Collections算法类: Collections是一个算法类,提供了一系列静态方法,实现对集合的排序.替换.交换.搜索.拷贝等操作: 用法:Collections.方法名(要操作的集合): 就像 ...

  4. Android 数字签名学习笔记

    Android 数字签名学习笔记 在Android系统中,所有安装到系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个permission的pro ...

  5. Android动画学习笔记-Android Animation

    Android动画学习笔记-Android Animation   3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中 ...

  6. Android:日常学习笔记(5)——探究活动(2)

    Android:日常学习笔记(5)——探究活动(2) 使用Intent在活动之间穿梭 什么是Intent Intent时Android程序中各组件之间进行交互的一种重要方式,他不仅可以指明当前组件想要 ...

  7. Android自动化学习笔记:编写MonkeyRunner脚本的几种方式

    ---------------------------------------------------------------------------------------------------- ...

  8. Android自动化学习笔记之MonkeyRunner:官方介绍和简单实例

    ---------------------------------------------------------------------------------------------------- ...

  9. Android学习笔记1 android adb启动失败问题 adb server is out of date. killing...

    下面是Android的学习笔记,原文地址. 我是使用adb devices出现如下红字错误, 使用第一种方法方法,结果关掉豌豆荚就可以了. android adb启动失败问题 adb server i ...

  10. Android:日常学习笔记(9)———探究持久化技术

    Android:日常学习笔记(9)———探究持久化技术 引入持久化技术 什么是持久化技术 持久化技术就是指将那些内存中的瞬时数据保存到存储设备中,保证即使在手机或电脑关机的情况下,这些数据仍然不会丢失 ...

随机推荐

  1. Activemq API使用(整合spring)

    整合spring之后,主要用的就是org.springframework.jms.core.JmsTemplate的API了,在spring-jms-xxx.jar中. 引入整合需要的jar包: &l ...

  2. ansible 入门学习(一)

    一,ansible 目录结构 (来自于ansible权威指南) 二,ansible.cfg 配置项说明 /etc/ansible/ansible.cfg --> ———————————————— ...

  3. 微博关系服务与Redis的故事

    http://www.infoq.com/cn/articles/weibo-relation-service-with-redis?utm_source=articles_about_Redis&a ...

  4. GitHub+Hexo+gulp搭建博客网站

    一.前期准备 1.注册GitHub账号. 不做说明 2.创建仓库 创建一个新的仓库来放置我们的文件. 3.下载安装Node.js https://nodejs.org/en/   两个版本,选择右边那 ...

  5. WEB 倒计时

    <%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Trans ...

  6. 一个优秀的app应该考虑的问题

    带着团队做了3个app,需求是客户决定的,甚至连进度都不是项目经理可以控制的(譬如说一个app要在6周内,3个人完成).现在的状态是基本上没有用户量,当然原因是多方面的,下面说一说我认为app设计的原 ...

  7. 牛客网Java刷题知识点之HashMap的实现原理、HashMap的存储结构、HashMap在JDK1.6、JDK1.7、JDK1.8之间的差异以及带来的性能影响

    不多说,直接上干货! 福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑          ...

  8. MySQL关联left join 条件on与where不同

    以下的文章主要讲述的是MySQL关联left join 条件on与where 条件的不同之处,我们现在有两个表,即商品表(products)与sales_detail(销售记录表).我们主要是通过这两 ...

  9. MATLAB-R2015b-win64安装详细教程

    1.首先下载以下文件 链接:https://pan.baidu.com/s/1eRAOKZw 密码:5nkj 2.双击R2015b_win64.iso打开(win8,win8.1,win10均可直接打 ...

  10. bnu 28890 &zoj 3689——Digging——————【要求物品次序的01背包】

    Digging Time Limit: 2000ms Memory Limit: 65536KB This problem will be judged on ZJU. Original ID: 36 ...