以下是小编整理的Android自学笔记4简单电话拨号器,本文共2篇,仅供参考,希望能够帮助到大家。

篇1:Android自学笔记4简单电话拨号器
动手写一个简单的电话拨号器,功能在文本框中输入电话号码,点击拨打按钮拨打电话,(小例子没有对号码正确性进行验证)
1 建立一个android工程,名字就叫做电话拨号器。由于ADT的新版本支持中文的项目,所以可以直接使用中文。工程的基本目录如下:
2 开发拨打电话的界面。
打开工程的res/layout/activity_main.xml文件,这时候右边会出现一个可视化的界面工具。在android中所有的界面布局都是写在xml里面的,这里虽然可以直接拖动对应的控件就可以,但是最后生成的还是xml文件。简单的布局如下:
3 编写代码,处理点击事件,拨打电话。
首先找到对应的按钮对象,添加点击事件,在点击的时候获取电话号码,拨打电话,代码如下:
ackage com.mxy.dail;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity {
//定义变量
private Button btnDail;
private EditText phoneNumber;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//使用findViewById 获取按钮和文本框对象 并进行类型的强制转换
btnDail = (Button) findViewById(R.id.btn_dail);
//为按钮添加监听事件
btnDail.setOnClickListener(new MyListener);
phoneNumber = (EditText) findViewById(R.id.number);
}
private class MyListener implements OnClickListener{
@Override
public void onClick(View v) {
//获取输入的电话号码
EditText phoneNumber = (EditText) MainActivity.this.findViewById(R.id.number);
String number = phoneNumber.getText().toString();
//验证电话号码是否可用
//想干什么
Intent intent = new Intent();
//具体想做什么
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse(“tel:” + number));
//使用这个需要在AndroidManifest.xml文件中添加对应的权限 android.permission.CALL_PHONE
startActivity(intent);
}
}
}
4 添加对应的权限在AndroidManifest.xml文件中添加拨打电话的权限,如果不添加此权限程序运行的时候将会崩溃,添加如下代码:
5 运行
在项目上点击右键,选择Run As -->Android Application,选择设备运行、测试,
工程下载地址:pan.baidu.com/s/1gdwuybT
篇2:Android学习之电话拨号器
本人自己是做android驱动的,也会接触到系统层、上层的应用,所以在闲暇的时候也就开始了学习android应用的路程,在这里把这些东西记下来,希望自己能坚持下去,也好以后复习用,
今天先实现一个简单的电话拨号器,刚开始的时候只是学了一周左右的java,然后就拿到了公司一台机器的所有测试代码看,看着看着也就对android的基本东西了解了些,首先是xml布局文件,再就是对控件的操作层,当然,自己还了解的不够,有待慢慢学习。
电话拨号器布局文件如下:
详细参数介绍如下:
id:用于表示这个控件;
layout_wedth:表示这个控件的宽度。共有3个参数,match_parent和fill_parent是一样的意思,表示填满父窗体,wrap_content表示包裹内容。
layout_height:表示控件的高度。
inputType:表示文本框输入的类型。phone为电话类型。
layout_below:表示这个控件位于哪个控件的下方。
text:表示这个控件上显示的类容。
效果如下图:
布局文件已经完成,那接下来就要对这些进行操作。具体如下:<”www.2cto.com/kf/ware/vc/“ target=”_blank“ class=”keylink“>vcD4KPHA+PHByZSBjbGFzcz0=”brush:java;“>package com.example.dail; import android.net.Uri; import android.os.Bundle; import android.renderscript.Int2; import android.text.TextUtils; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener { private Button bt_dail = null; private EditText et_number = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bt_dail = (Button) findViewById(R.id.bt_dail); et_number = (EditText) findViewById(R.id.et_number); bt_dail.setOnClickListener(new MyListener()); } private void callPhone() { String number = et_number.getText().toString(); if(TextUtils.isEmpty(number)) { Toast.makeText(MainActivity.this, ”号码不能为空“, 1).show(); } Intent intent = new Intent(); intent.setAction(Intent.ACTION_CALL); intent.setData(Uri.parse(”tel:“+number)); startActivity(intent); } private class MyListener implements OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub callPhone(); } } }
首先,通过findViewById获取到对应的控件,然后就是对拨号按钮做监听,当按下拨号按钮的话,会调用MyListener这个 ,
基本的已经完成,但是现在要拨打电话的话,还需要加上CALL_PHONE权限,要不然会出现进程无法运行的错误。如下所示:
如果没有输入号码,就点击拨号的话就会如下图所示:
好了,今天就学到这里,晚了,要休息了,接下来,我会继续把学习的过程用这种形式记录下来。
★笔记
文档为doc格式