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

  1. package cn.itcast.phone;
  2. import android.app.Activity;
  3. import android.content.Intent;
  4. import android.net.Uri;
  5. import android.os.Bundle;
  6. import android.util.Log;
  7. import android.view.View;
  8. import android.view.View.OnClickListener;
  9. import android.widget.Button;
  10. import android.widget.EditText;
  11. public class MainActivity extends Activity implements OnClickListener {
  12. public static final String tag ="MainActivity";
  13. private EditText mEditText;//这里EditText实现为成员变量,在OnCreate()方法中调用它执行动作(执行一次)
  14. @Override
  15. public void onCreate(Bundle savedInstanceState) {//onCreate()是创建MainActivity调用的,这里的内容是指执行一次
  16. super.onCreate(savedInstanceState);
  17. setContentView(R.layout.main);
  18. // 得到了 activity界面上button的引用
  19. Button button = (Button) this.findViewById(R.id.bt_dail);
  20. mEditText = (EditText) MainActivity.this.findViewById(R.id.et_number);//这里把每次拨号查找EditText组件这一步,放到这里,
  21. /* button.setOnClickListener(new OnClickListener() { //不用每次查找EditText,提高效率
  22. // 方法二 :通过匿名内部类的方式实现点击事件
  23. @Override
  24. public void onClick(View v) {
  25. String number = mEditText.getText().toString();
  26. Log.i(tag,number);
  27. Log.i(tag,"匿名内部类");
  28. //播打电话号码
  29. Intent intent = new Intent(); // 意图 代表一个要执行动作的意图
  30. //拨打动作 110 代表的是一个数据
  31. intent.setAction(Intent.ACTION_CALL);
  32. intent.setData(Uri.parse("tel:"+number));
  33. //android里面
  34. startActivity(intent);
  35. }
  36. });*/
  37. // button.setOnClickListener(this);//第三种写法,MainAcitivity implements OnclickListener{}
  38. }
  39. /**
  40. * 第一种写法
  41. * @author zehua
  42. *
  43. */
  44. private class MyButtonClickListener implements OnClickListener{
  45. // 在某一个view对象 被点击的时候 调用的回调方法
  46. @Override
  47. public void onClick(View v) {
  48. String number = mEditText.getText().toString();
  49. Log.i(tag,number);
  50. //播打电话号码
  51. Intent intent = new Intent(); // 意图 代表一个要执行动作的意图
  52. //拨打动作 110 代表的是一个数据
  53. intent.setAction(Intent.ACTION_CALL);
  54. intent.setData(Uri.parse("tel:"+number));
  55. //android里面
  56. startActivity(intent);
  57. }
  58. }
  59. // 第三种写法:按钮对应的点击事件
  60. // 参数 v 代表的就是当前被点击的条目对应的view对象
  61. @Override
  62. public void onClick(View v) {
  63. switch (v.getId()) {
  64. case R.id.bt_dail:
  65. //相应按钮的点击事件
  66. String number = mEditText.getText().toString();
  67. Log.i(tag,number);
  68. //播打电话号码
  69. Intent intent = new Intent(); // 意图 代表一个要执行动作的意图
  70. //拨打动作 110 代表的是一个数据
  71. intent.setAction(Intent.ACTION_CALL);
  72. intent.setData(Uri.parse("tel:"+number));
  73. //android里面
  74. startActivity(intent);
  75. break;
  76. }
  77. }
  78. /**
  79. * 定义 xml布局文件里面 button 绑定的点击事件的方法
  80. * @param view
  81. */
  82. public void dail(View view){
  83. String number = mEditText.getText().toString();
  84. Log.i(tag,number);
  85. //播打电话号码
  86. Intent intent = new Intent(); // 意图 代表一个要执行动作的意图
  87. //拨打动作 110 代表的是一个数据
  88. intent.setAction(Intent.ACTION_CALL);
  89. intent.setData(Uri.parse("tel:"+number));
  90. //android里面
  91. startActivity(intent);
  92. }
  93. public void textview_click(View view){
  94. Log.i(tag,"文本被点击了");
  95. }
  96. }

部署程序到虚拟机上:

附上代码中的:main.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:orientation="vertical" >
  6. <TextView
  7. android:layout_width="fill_parent"
  8. 9 android:onClick="textview_click"
  9. android:clickable="true"
  10. android:layout_height="wrap_content"
  11. android:text="@string/please_input_number" />
  12. <EditText
  13. android:id="@+id/et_number"
  14. android:numeric="integer"
  15. android:lines="1"
  16. android:layout_width="fill_parent"
  17. android:layout_height="wrap_content"
  18. android:hint="@string/hint" />
  19. <Button
  20. android:layout_width="wrap_content"
  21. android:layout_height="wrap_content"
  22. android:text="@string/bt"
  23. android:id="@+id/bt_dail"
  24. android:onClick="dail"
  25. />
  26. </LinearLayout>

string.xml

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

Android(java)学习笔记85:案例拨号程序的更多相关文章

  1. Java学习笔记13---一个循环程序的设计范例

    package welcome; import java.util.Scanner; /* * 一个循环程序的设计范例 * 首先编写仅执行一次的程序(当无循环时) * 循环的设计步骤: * 1.确定程 ...

  2. Android开发学习笔记-实现联网检测程序版本

    package com.frank.mobilesafe; import java.io.InputStream; import java.net.HttpURLConnection; import ...

  3. java学习笔记之基础篇

    java选择语句之switch   //switch可以用于等值判断 switch (e) //int ,或则可以自动转化成int 的类型,(byte char short)枚举jdk 7中可以防止字 ...

  4. Android:日常学习笔记(2)——分析第一个Android应用程序

    Android:日常学习笔记(2)——分析第一个Android应用程序 Android项目结构 整体目录结构分析 说明: 除了APP目录外,其他目录都是自动生成的.APP目录的下的内容才是我们的工作重 ...

  5. java学习笔记(1)java的基础介绍 、JDK下载、配置环境变量、运行java程序

    java工程师是开发软件的 什么是软件呢? 计算机包括两部分: 硬件: 鼠标.键盘.显示器.主机箱内部的cpu.内存条.硬盘等 软件: 软件包括:系统软件和应用软件 系统软件:直接和硬件交互的软件:w ...

  6. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

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

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

  8. Android 数字签名学习笔记

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

  9. Java学习笔记4

    Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...

  10. 【Java学习笔记之二十六】深入理解Java匿名内部类

    在[Java学习笔记之二十五]初步认知Java内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意 ...

随机推荐

  1. (转载)OC学习篇之---类的初始化方法和点语法的使用

    昨天介绍了OC中类的定义和使用,今天我们来继续学习类的初始化方法和点语法的使用. 一.首先来看一下类的初始化方法 在Java中我们知道一个每个类都有构造方法,这里的初始化方法就是和构造方法一个概念的, ...

  2. Android多媒体--MediaCodec的实例化方法

    *由于作者水平限制,文中难免有错误和不恰当之处,望批评指正. *转载请注明出处:http://www.cnblogs.com/roger-yu/ MediaCodec的实例化方法主要有两种: 1.使用 ...

  3. linux常用命令[持续更新]

    top 察看系统状态,退出按q ps -A 察看所有进程 ps -A|grep gcalc|awk '{print $1}'|xargs kill 杀掉所有gcalc进程

  4. ERROR (ClientException): Unexpected API Error

  5. 窥探JVM内存分配和回收的过程

    一.环境 JDK 垃圾收集器 是否启用TLAB 通用JVM参数(堆内存分配见下图) 1.6.0_65 Serial + Serial Old 否 -Xms20m -Xmx20m -Xmn10m -XX ...

  6. gulp之静态资源防缓存处理

    最近,因为校友网项目开始有些规模了.开始就要考虑对静态资源进行工程自动化的管理.一讲到前端的自动化工具,大家或许都会想到Grunt,Gulp,或者百度的FIS.这三个都有各自的特点,大家可以依据自己的 ...

  7. rop框架中@ServiceMethod注解属性

    @ServiceMethod 属性 method :代码服务方法名version :表 示 版 本 号 group:服务分组名.服务的分组没有特殊的意义,您可以为服务定义一个分组,以便在事件监听器.服 ...

  8. AngularJS 学习笔记二

    AngularJS指令 指令 描述 讲解 ng_app 定义应用程序的根元素. 指令 ng_bind 绑定 HTML 元素到应用程序数据. 简介 ng_click 定义元素被单击时的行为. HTML ...

  9. HDU 1796How many integers can you find(简单容斥定理)

    How many integers can you find Time Limit: 12000/5000 MS (Java/Others)    Memory Limit: 65536/32768 ...

  10. MemCacheManager

    #region Fields private AreaRepository _areaRepository = new AreaRepository(); private ICacheManager ...