关于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种点击事件的更多相关文章

  1. Android入门——电话拨号器和四种点击事件

    相对于HelloWorld来说,电话拨号器也是Android的一个入门demo,从这个样例我们要理清楚做安卓项目的思路. 大体分为三步: 1.理解需求,理清思路 2.设计UI 3.代码实现 电话拨号器 ...

  2. android之电话拨号器

    在android入门的案例中,除了HelloWorld这个经典案例,还有一个电话拨号器需要掌握,现在我就来个电话拨号器的示范,毕竟大牛也是从菜鸟进化而来的. 首先你应该知道自己要设置怎样的UI,然后创 ...

  3. Android实战--电话拨号器

    今天跟着黑马视频建立一个android app--电话拨号器 首先新建一个android项目 activity_main_xml中的代码如下: <RelativeLayout xmlns:and ...

  4. Android项目——电话拨号器

    因为应用要使用手机的电话服务,所以要在清单文件AndroidManifest.xml中添加电话服务权限: <?xml version="1.0" encoding=" ...

  5. 初识安卓小程序(Android电话拨号器)

    首先,先创建一个安卓项目(我的版本号是4.4.2的),名字为"电话拨号器",创建的时候点击"clipart",如图: 然后在res目录下找到layout目录,找 ...

  6. 无废话Android之常见adb指令、电话拨号器、点击事件的4种写法、短信发送器、Android 中各种布局(1)

    1.Android是什么 手机设备的软件栈,包括一个完整的操作系统.中间件.关键的应用程序,底层是linux内核,安全管理.内存管理.进程管理.电源管理.硬件驱动 2.Dalvik VM 和 JVM ...

  7. Mono for Android—初体验之“电话拨号器”

    1.Main.axml文件: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmln ...

  8. android开发学习---基础知识学习、如何导入已有项目和开发一个电话拨号器

    一.基础知识点学习  1.Android体系结构 如图所示,android 架构分为三层: (1)最底层是linux内核,主要是各种硬件的驱动,如相机驱动(Camera Driver),闪存驱动(Fl ...

  9. Android -- 工程架构,电话拨号器, 点击事件的4中写法

    (该系列整理自张泽华android视频教程) 1. android工程 各个文件夹的作用 src/  java原代码存放目录 gen/ 自动生成目录 gen 目录中存放所有由Android开发工具自动 ...

随机推荐

  1. 解决iOS app集成共享QQ场地,微信的朋友,朋友等功能圈,不能采用苹果公司的审计问题

    最近提交的应用程序App Store时刻,由于App综合QQ登录.份额QQ场地.微信等功能.被拒绝.很郁闷:在最佳.想想办法,这个问题是可以解决. 当共享平台列表显示.根据推断当前设备被安装在一节Ap ...

  2. [WebGL入门]二十四,补色着色

    注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中假设有我的额外说明,我会加上[lufy:],另外,鄙人webgl研究还不够深入,一些专业词语,假设翻译有误,欢迎大家指 ...

  3. jQuery插件主要有两种扩展方式

    jQuery插件主要有两种扩展方式: 扩展全局函数方式. 扩展对象方法方式. 扩展全局函数方式 扩展全局函数方式定义的插件,即类级别插件,可以通过jQuery.extend()来进行定义.定义格式为: ...

  4. Gas Station [leetcode] 两个解决方案

    因为gas的总数大于cost总时间.你将能够圈住整个城市. 第一溶液: 如果一開始有足够的油.从位置i出发.到位置k时剩余的油量为L(i,k). 对随意的k.L(i,k)依据i的不同,仅仅相差常数. ...

  5. 如何js编译的文件dll对于网页电话

    1. 加入一个项目的解决方案:JSControl 2. 在这个项目中加入js文件(JScript1.js) 脚本的内容: function showAlert(){ alert('Today is a ...

  6. yum 安装时错误 Errno 14 Couldn't resolve host 解决办法(转)

    在安装mlocate的时候发现一直报错,错误内容大致如下 Downloading Packages:http://mirrors.163.com/centos/6.5/os/i386/Packages ...

  7. groovy : poi 导出 Excel

    參考 poi-3.10-FINAL/docs/spreadsheet/quick-guide.html write_xls.groovy 代码例如以下 package xls; import java ...

  8. [LeetCode] Regular Expression Matching [6]

    称号: Implement regular expression matching with support for '.' and '*'. '.' Matches any single chara ...

  9. POJ9384 迷宫(基金会BFS)

    本文来源于:http://blog.csdn.net/svitter 称号:让你从(0, 0)走到(4,4).而且输出路径. 输入数据:二位数组的迷宫:输出数据:路径: 题解:简单的BFS 注意: 1 ...

  10. openstack临时存储后端

    声明: 本博客欢迎转发.但请保留原作者信息! 博客地址:http://blog.csdn.net/halcyonbaby 内容系本人学习.研究和总结,如有雷同,实属荣幸! 眼下openstack提供了 ...