Android入门——电话拨号器和四种点击事件
相对于HelloWorld来说,电话拨号器也是Android的一个入门demo,从这个样例我们要理清楚做安卓项目的思路。
大体分为三步:
1.理解需求,理清思路
2.设计UI
3.代码实现
电话拨号器
1. 理解需求:
*一个文本框——用来接收电话号码
*一个button——用来触发事件
2. 设计UI
3. 代码实现
public class MainActivity extends Activity { private EditText et_number; //定义变量用来接收电话号码
private Button btn; //定义button
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//设置界面内容
setContentView(R.layout.activity_main); //查找控件,文本输入框
et_number= (EditText) findViewById(R.id.et_number); //找到按钮控件
btn=(Button) findViewById(R.id.btn); //设置点击事件监听
btn.setOnClickListener(new MyListener());
}
//内部类方式实现点击事件
class MyListener implements OnClickListener{ @Override
public void onClick(View v) {
//运行拨号操作
//1.获取用户输入的号码
String number=et_number.getText().toString();
//2.运行拨号操作
//创建一个拨号意图
Intent intent=new Intent();
//设置要拨打的号码 (URL:统一资源定位符,uri:统一资源标识符)
intent.setData(Uri.parse("tel://"+number));
//设置动作,拨号动作
intent.setAction(intent.ACTION_CALL);
//跳转到拨号界面
startActivity(intent);
}
}
}
代码写完以后。从配置文件里加入一下打电话权限CALL_PHONE就OK了。
上面的电话拨号器用了一种实现点击事件的方式。也是要介绍的第一种点击事件的方法:
四种点击事件实现方式
1.内部类方式
(见上面电话拨号demo,只是多介绍)
2.创建匿名内部类方式
/**
* 匿名内部类方式实现点击事件
* @author Hugh
*/
public class MainActivity extends Activity { private EditText et_number;
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//设置界面内容
setContentView(R.layout.activity_main);
//查找控件,文本输入框
et_number= (EditText) findViewById(R.id.et_number);
//找到button控件
btn=(Button) findViewById(R.id.btn);
//设置点击事件监听
btn.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
//运行拨号操作
//1.获取用户输入的号码
String number=et_number.getText().toString();
//2.运行拨号操作
//意图
Intent intent=new Intent();
//设置要拨打的号码
intent.setData(Uri.parse("tel://"+number));
//设置动作,拨号 动作
intent.setAction(intent.ACTION_CALL);
//跳转到拨号界面
startActivity(intent);
}
});
}
}
3.实现OnClickListener接口的当前类对象
/**
* 实现OnClickListener接口的当前类对象
* @author Hugh
*/
public class MainActivity extends Activity implements OnClickListener { private EditText et_number;
private Button btn; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 设置界面内容
setContentView(R.layout.activity_main);
// 查找控件,文本输入框
et_number = (EditText) findViewById(R.id.et_number);
// 找到button控件
btn = (Button) findViewById(R.id.btn);
// 设置点击事件监听
btn.setOnClickListener(this);
} @Override
public void onClick(View v) {
// 运行拨号操作
// 1.获取用户输入的号码
String number = et_number.getText().toString();
// 2.运行拨号操作
// 意图
Intent intent = new Intent();
// 设置要拨打的号码
intent.setData(Uri.parse("tel://" + number));
// 设置动作,拨号 动作
intent.setAction(intent.ACTION_CALL);
// 跳转到拨号界面
startActivity(intent);
}
}
4.在布局文件里给button加入一个单击事件的响应方法,然后在代码中实现这种方法
/短信群发器/res/layout/activity_main.xml 下定义xml中的属性android:onClick="call"
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/et_number"
android:layout_below="@+id/et_number"
android:onClick="call"
android:text="按下拨号" />
在代码中实现这种方法
public class MainActivity extends Activity { private EditText et_number;
private Button btn; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 设置界面内容
setContentView(R.layout.activity_main);
// 查找控件,文本输入框
et_number = (EditText) findViewById(R.id.et_number); }
public void call(View view){;
// 运行拨号操作
// 1.获取用户输入的号码
String number = et_number.getText().toString();
// 2.运行拨号操作
// 意图
Intent intent = new Intent();
// 设置要拨打的号码
intent.setData(Uri.parse("tel://" + number));
// 设置动作,拨号 动作
intent.setAction(intent.ACTION_CALL);
// 跳转到拨号界面
startActivity(intent);
}
}
对于Android的学习,须要不断的积累。砸实基础。
这篇博客算是个開始吧,我要把博客又一次拾起来,加油!
Android入门——电话拨号器和四种点击事件的更多相关文章
- Android入门——电话拨号器和4种点击事件
关于HelloWorld为,电话拨号程序还AndroidA入门demo,从这个样例我们要理清楚做安卓项目的思路. 大体分为三步: 1.理解需求,理清思路 2.设计UI 3.代码实现 电话拨号器 1. ...
- Android按钮的四种点击事件
本文记录一下按钮的四种点击事件 第一种 public class MainActivity extends Activity { @Override protected void onCreate(B ...
- Android中Button四种点击事件实现方式
1.Xml添加监听属性,这里添加的doClick. <Button android:id="@+id/bt1" android:layout_width="wrap ...
- android之电话拨号器
在android入门的案例中,除了HelloWorld这个经典案例,还有一个电话拨号器需要掌握,现在我就来个电话拨号器的示范,毕竟大牛也是从菜鸟进化而来的. 首先你应该知道自己要设置怎样的UI,然后创 ...
- Android实战--电话拨号器
今天跟着黑马视频建立一个android app--电话拨号器 首先新建一个android项目 activity_main_xml中的代码如下: <RelativeLayout xmlns:and ...
- Android四种点击事件和五中存储方式
Android点击事件的四种实现方式 1.内部类实现onClickListenter接口 bt_login.setOnClickListener(new MyListener()); class My ...
- Android Button四种点击事件和长按事件
项目XML代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andr ...
- Android项目——电话拨号器
因为应用要使用手机的电话服务,所以要在清单文件AndroidManifest.xml中添加电话服务权限: <?xml version="1.0" encoding=" ...
- Android Button的四种点击事件
bta1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.m ...
随机推荐
- hdu 4539(状态压缩dp)
题意:曼哈顿距离是指:|x1-x2|+|y1-y2|,只要知道这个概念题意就懂了. 分析:这道题与前面做的几道题有所不同,因为当前行不仅与前一行有关,而且与前两行有关,所以我们开数组的时候还要记录前两 ...
- EhCache 分布式缓存/缓存集群
开发环境: System:Windows JavaEE Server:tomcat5.0.2.8.tomcat6 JavaSDK: jdk6+ IDE:eclipse.MyEclipse 6.6 开发 ...
- DOM笔记(八):JavaScript执行环境和垃圾收集
一.执行环境 在有关于JavaScript对象或者this的指向问题时,脱离不了的另外一个概念就是执行环境,即上下文环境.执行环境在JavaScript是一个 很重要的概念,因为它定义了变量或函数有权 ...
- 链表回文串判断&&链式A+B
有段时间没有练习了,链表回文串判断用到了栈.链式A+B将没有的项用0补充.链表有没有头节点,及结点和链表的区别,即pNode和pHead. //#include<iostream> //u ...
- 父视图 使用 UIViewAnimationWithBlocks 时,如何让子视图无动画
tableView使用 UIViewAnimationWithBlocks 时 上面的cell也会一起出现动画, 所以在设置cell的时候 添加 [UIView performWithoutAnima ...
- 使用gulp、yeoman、bower建站
前端建站工具 标签 : 工具 *** 脚手架:yeoman 用途 快速搭建新项目 为项目增加新部分 创建模块或者包 引导新服务 ... 开始 安装yo和generator npm i -g yo np ...
- 去掉StringBuilder或String 最后一个项逗号
一. sb.Length = sb.Length - 1; 二. stringBuilder.Remove(stringBuilder.ToString().LastIndexOf(','), 1); ...
- 监听mysql是否挂了
监听mysql是否挂了,如果挂了就重启mysql 方式一: #!/bin/bash pgrep -x mysqld &> /dev/null if [ $? -ne 0 ] then e ...
- 第三百五十二天 how can I 坚持
如果要是今年找不到对象,明年去回济南, 怎么感觉那么不舍呢.生活总是有太多的无奈啊. 今天加了一天,倒是没感觉,只是感觉生活太空虚. 或许遗憾只是因为自己太懦弱.怎么说呢,还是那句话,经历的就会成长, ...
- 【多线程】Java线程面试题 Top 50(转载)
Java线程面试题 Top 50 原文链接:http://www.importnew.com/12773.html 本文由 ImportNew - 李 广 翻译自 javarevisited.欢迎 ...