Android(java)学习笔记85:案例拨号程序
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)学习笔记85:案例拨号程序的更多相关文章
- Java学习笔记13---一个循环程序的设计范例
package welcome; import java.util.Scanner; /* * 一个循环程序的设计范例 * 首先编写仅执行一次的程序(当无循环时) * 循环的设计步骤: * 1.确定程 ...
- Android开发学习笔记-实现联网检测程序版本
package com.frank.mobilesafe; import java.io.InputStream; import java.net.HttpURLConnection; import ...
- java学习笔记之基础篇
java选择语句之switch //switch可以用于等值判断 switch (e) //int ,或则可以自动转化成int 的类型,(byte char short)枚举jdk 7中可以防止字 ...
- Android:日常学习笔记(2)——分析第一个Android应用程序
Android:日常学习笔记(2)——分析第一个Android应用程序 Android项目结构 整体目录结构分析 说明: 除了APP目录外,其他目录都是自动生成的.APP目录的下的内容才是我们的工作重 ...
- java学习笔记(1)java的基础介绍 、JDK下载、配置环境变量、运行java程序
java工程师是开发软件的 什么是软件呢? 计算机包括两部分: 硬件: 鼠标.键盘.显示器.主机箱内部的cpu.内存条.硬盘等 软件: 软件包括:系统软件和应用软件 系统软件:直接和硬件交互的软件:w ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- Android动画学习笔记-Android Animation
Android动画学习笔记-Android Animation 3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中 ...
- Android 数字签名学习笔记
Android 数字签名学习笔记 在Android系统中,所有安装到系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个permission的pro ...
- Java学习笔记4
Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...
- 【Java学习笔记之二十六】深入理解Java匿名内部类
在[Java学习笔记之二十五]初步认知Java内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意 ...
随机推荐
- 瞬间从IT屌丝变大神——命名规则
为了避免命名冲突,命名规则如下: 公共组件因为高度重用,,命名从简,不要加前缀. 各栏目的相应代码,需加前缀,前缀为工程师姓名拼音的首字母,例如:海子前缀为“hz_”,分隔符为下划线"_&q ...
- hadoop-1.1.2集群搭建
Hadoop安装分为三种不同模式: 本地模式:hadoop在运行时,不使用hdfs,而是使用linux操作系统的文件系统.(默认hadoop就是本地模式) 伪分布模式:在一个节点上运行hadoop(指 ...
- 优秀java开源项目与解决方案推荐与概论
http://www.oschina.net/project/lang/19/java http://www.open-open.com/ http://java-source.net/ https: ...
- Spring MVC BeanNameUrlHandlerMapping example
In Spring MVC, BeanNameUrlHandlerMapping is the default handler mapping mechanism, which maps URL re ...
- c# socket编程简单例子
服务器端代码 using System; using System.Net; using System.Net.Sockets; using System.Text; using System.Thr ...
- AVCaptureDevice LED闪光灯控制
转载自:http://blog.csdn.net/cloudhsu/article/details/7202368 #import <AVFoundation/AVFoundation.h> ...
- ASP.NET(C#)中的try catch异常处理机制
在开发一个Umbraco平台系统的过程中,遇到了问题. 写的代码如下 fileUrl = MediaHelper.GetMediaUrl(Convert.ToInt32(publishedConten ...
- update多表更新的2种方式
update t1 set TermBeginQty =isnull((select top 1 JiaoPlusQty from WMS_RptMaterialPutDaily r where t1 ...
- Enterprise Library 服务问题
在使用Enterprise Library而没有注册服务的时候会出现这样的问题,"Editing Post "Failed to create instances of perfo ...
- opennebula 编译日志
[root@localhost opennebula-]# scons mysql=yes scons: Reading SConscript files ... Testing recipe: xm ...