关于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. Android lint具 常见问题检查

    1. Correctness 1) DuplicatedIds Layout于id应该唯一 2) NewApi 代码中使用的某些API高于Manifest中的Min SDK 3) Inconsiste ...

  2. [LeetCode202]Happy Number判断一个数是不是happy number

    题目: Write an algorithm to determine if a number is "happy". A happy number is a number def ...

  3. unity简易小地图的实现(NGUI)

    首先,我们在场景中添加一个摄像机叫做minimapCamera, 把上面的Audio Listener组件去掉,调整摄像机位置,将其置于角色正上方,如图 新建一个Texture我们叫做minimapT ...

  4. Android新建项目后src下没有自动生成文件

    最近开始学Android了,按照教材新建了一个项目,发现src下没有自动生成文件,怎么回事呢? 出现这种可能的原因很可能是ADT与SDK版本不同,造成不兼容. 在ADT(或者eclipse)中的hel ...

  5. 轻量级跨平台消息传递协议XML-RPC深度解析

    一.引言 实现跨平台通信的协议主要有简单对象訪问协议(Simple Object Access Protocol,SOAP).代表性状态传输(Representational State Transf ...

  6. [站点部署_01]wordpress建站网页响应速度慢

    最近可能非常多人发现站点打开速度变慢.这里分享一下该问题的定位方法. 我在本地部署了一个wordpress站点,近几天突然发现站点訪问速度奇慢,实在不能忍.于是採用例如以下方法攻克了这个问题: 1)使 ...

  7. web即时通讯2--基于Spring websocket达到web聊天室

    如本文所用,Spring4和websocket要构建web聊天室,根据框架SpringMVC+Spring+Hibernate的Maven项目,后台使用spring websocket进行消息转发和聊 ...

  8. 一个用于每一天JavaScript示例-使用缓存计算(memoization)为了提高应用程序性能

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  9. 十天学会php第五天

    学习目标:学会读取数据    先看两个函数:    1.mysql_query    送出一个 query 字符串. 语法   : int mysql_query(string query, int ...

  10. Binomial Coeffcients 过去山东省省赛冠军

    Binomial Coeffcients Time Limit: 1000MS Memory limit: 65536K 题目描写叙述   输入   输出   演示样例输入 3 1 1 10 2 95 ...