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内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意 ...
随机推荐
- (转载)OC学习篇之---@class关键字的作用以及#include和#import的区别
前一篇文章说到了OC中类的三大特性,今天我们来看一下在学习OC的过程中遇到的一些问题,该如何去解决,首先来看一下我们之前遗留的一个问题: 一.#import和#include的区别 当我们在代码中使用 ...
- Install_ruby
Install rvm 1 2 3 $ curl -L get.rvm.io | bash -s stable $ source ~/.bashrc $ source ~/.bash_profile ...
- 为Hadoop配置Win8.1授时服务器
启动Windows服务,顺序如下: SSTPS(secure socket tunneling protocol service)服务 Telephony服务 Remote Access Connec ...
- 【hadoop代码笔记】hadoop作业提交之汇总
一.概述 在本篇博文中,试图通过代码了解hadoop job执行的整个流程.即用户提交的mapreduce的jar文件.输入提交到hadoop的集群,并在集群中运行.重点在代码的角度描述整个流程,有些 ...
- Windows Server 2012 四个版本对比
Windows Server 2012 有4种版本: Foundation, Essentials, Standard and Datacenter. 版本 Foundation Essentials ...
- PHP操作cookie函数:setcookie()与setrawcookie()
PHP setcookie() 函数向客户端发送一个 HTTP cookie.cookie 是由服务器发送到浏览器的变量.cookie 通常是服务器嵌入到用户计算机中的小文本文件.每当计算机通过浏览器 ...
- eclipse中的js文件报错的解决办法
在使用别人的项目的时候,导入到eclipse中发现js文件报错,解决办法是关闭eclipse的js校验功能. 三个步骤: 1. 右键点击项目->properties->Validation ...
- [iOS基础控件 - 6.9.1] 聊天界面Demo 代码
框架: 所有代码文件: Model: // // Message.h // QQChatDemo // // Created by hellovoidworld on 14/12/8. // ...
- CSS基础(01)
1. Css基础 1.1 CSS(层叠样式表 Multiple Styles) CSS 是 Cascading Style Sheets(层叠样式表)的简称. CSS 语言是一种标记语言,它不需要 ...
- 解决Java版CKFinder无法显示缩略图问题
这些天在写我的Java EE项目的时候用到了CKEditor和CKFinder,但是在用CKFinder的时候无法显示图片的缩略图,但是官网上的demo上却有缩略图,我一直以为是自己配置错误了,我把官 ...