Android入门——电话拨号器和4种点击事件
关于HelloWorld为,电话拨号程序还AndroidA入门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入门——电话拨号器和4种点击事件的更多相关文章
- Android入门——电话拨号器和四种点击事件
相对于HelloWorld来说,电话拨号器也是Android的一个入门demo,从这个样例我们要理清楚做安卓项目的思路. 大体分为三步: 1.理解需求,理清思路 2.设计UI 3.代码实现 电话拨号器 ...
- android之电话拨号器
在android入门的案例中,除了HelloWorld这个经典案例,还有一个电话拨号器需要掌握,现在我就来个电话拨号器的示范,毕竟大牛也是从菜鸟进化而来的. 首先你应该知道自己要设置怎样的UI,然后创 ...
- Android实战--电话拨号器
今天跟着黑马视频建立一个android app--电话拨号器 首先新建一个android项目 activity_main_xml中的代码如下: <RelativeLayout xmlns:and ...
- Android项目——电话拨号器
因为应用要使用手机的电话服务,所以要在清单文件AndroidManifest.xml中添加电话服务权限: <?xml version="1.0" encoding=" ...
- 初识安卓小程序(Android电话拨号器)
首先,先创建一个安卓项目(我的版本号是4.4.2的),名字为"电话拨号器",创建的时候点击"clipart",如图: 然后在res目录下找到layout目录,找 ...
- 无废话Android之常见adb指令、电话拨号器、点击事件的4种写法、短信发送器、Android 中各种布局(1)
1.Android是什么 手机设备的软件栈,包括一个完整的操作系统.中间件.关键的应用程序,底层是linux内核,安全管理.内存管理.进程管理.电源管理.硬件驱动 2.Dalvik VM 和 JVM ...
- Mono for Android—初体验之“电话拨号器”
1.Main.axml文件: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmln ...
- android开发学习---基础知识学习、如何导入已有项目和开发一个电话拨号器
一.基础知识点学习 1.Android体系结构 如图所示,android 架构分为三层: (1)最底层是linux内核,主要是各种硬件的驱动,如相机驱动(Camera Driver),闪存驱动(Fl ...
- Android -- 工程架构,电话拨号器, 点击事件的4中写法
(该系列整理自张泽华android视频教程) 1. android工程 各个文件夹的作用 src/ java原代码存放目录 gen/ 自动生成目录 gen 目录中存放所有由Android开发工具自动 ...
随机推荐
- 安装Microsoft .NET Framework 3.5 Service Pack 1回报1603错
server升级了一下系统补丁(360安装),所有发现.net无法打开网站,提示" 因为无法创建应用程序域,因此未能运行请求.错误: 0x80070002 系统找不到指定的文件. " ...
- web项目启动,运行方法
1.显示器(Listener) web文件加入 <listener> <listener-class>cn.ro.common.InitListener</li ...
- HDU 1711 Number Sequence(算法验证)
该怎么做.每一个人的人生都应该自己掌握.你给不了别人一切.你也不懂别人的忧伤. 微笑不代表快乐.哭泣不一定悲伤 不努力怎么让关心你的人幸福.不努力怎么让看不起你的人绝望. 我用生命在奋斗--lx_Zz ...
- Java Enum使用演示样品枚举
package cn.edu.shu.web.util; /** * * <p> * ClassName FileType * </p> * <p> * Descr ...
- net搭建热插拔式web框架(沙箱的构建)
net搭建热插拔式web框架(沙箱的构建) 上周五写了一个实现原理篇,在评论中看到有朋友也遇到了我的问题,真的是有种他乡遇知己的感觉,整个系列我一定会坚持写完,并在最后把代码开源到git中.上一篇文章 ...
- c# winform 中的 工具栏自动隐藏 splitter用法 带源码
c# winform 中的 工具栏自动隐藏 splitter用法 带源码 代码下载地址 http://download.csdn.net/detail/simadi/7649313
- 系统如何端子app弄root才干
最近由于调试USB OTG怪东西.这导致USB端口被占用,这项.虽然我是project版本号,但不能运行adb shell,这是不可能的debug该. 所以,我现在是一个系统终端apk,规划 http ...
- 1号店Interview小结
三大范式: 为了建立冗余较小.结构合理的数据库,设计数据库时必须遵循一定的规则.在关系型数据库中这种规则就称为范式.范式是符合某一种设计要求的总结.要想设计一个结构合理的关系型数据库,必须满足一定的范 ...
- all about AIX MPIO
Multipath I/O (多路径) 在计算机存储技术里,多路径提供了容错和性能提高,在计算机系统里CPU有多条物理路径通道,块存储设备通过总线,控制器,交换设备以及桥接设备来连接. ...
- overflow的几个坑
在android 4.0的原生浏览器上注意: html元素上不要加overflow: auto;的样式,否则会造成有些元素无法点击 在absolute元素上 不要加 overflow: auto; 否 ...