`
天之娇子zjn
  • 浏览: 15063 次
  • 性别: Icon_minigender_2
  • 来自: 长沙
社区版块
存档分类
最新评论

电话拨号器

阅读更多

        我自己写的第一个安卓app就是一个电话拨号器,功能很简单:在文本框里输入一个电话号码,点击一个按钮拨打电话。我给它取名叫Call。

        对于一个在安卓方面刚刚准备入门的人来说,或者说对于一个编程人员来说,思路清晰条理是相当重要的。就拿这个app来说,你要有界面,然后你要对它上面的组件进行一定的操作,最后一点是你如果要请求调用安卓系统功能,你需要为它加上相应的操作权限。

一、界面布局

       首先在res包下面有一个layout包,下面有个.xml文件,在这个文件中编写界面的属性,比如说布局,还有要显示的组件及其属性。这里有可视化的编辑界面,所以两者可以结合起来,效率更高。这里我只写了一个文本框和一个按钮,省去代码。

二、主程序代码

       在MainActivity.java中编写代码,它相当于Java中带有main函数的一个类。要对按钮添加一个监听,因为点击按钮后要求可以拨打电话,但是要对该按钮进行操作就必须先获取它的id,利用findViewById(R.id.按钮名称)。(每一个组件都有唯一的一个id与之对应)

       因为点击按钮后要拨打文本框中的电话号码,所以在监听方法中依然要先获取文本框的id,然后调用系统里面的方法。代码如下:

bt_number.setOnClickListener(new OnClickListener() {//
	@Override
	public void onClick(View v) {
		//获取文本框的id

		EditText et = (EditText) findViewById(R.id.et);
		//定义number为文本框et里面的内容

		String number = et.getText().toString();
		/*调用系统功能,这里用到了Intent:意图,它可以分为动作和目标(目标也可称为数据)两个部分

                     例如打电话,“打”是动作,“电话”是目标(数据)*/

		Intent intent = new Intent();
		intent.setAction(Intent.ACTION_CALL);
		intent.setData(Uri.parse("tel:" + number));
		//开始Activity
		MainActivity.this.startActivity(intent);
	}
});

 三、添加操作权限

         我们在手机上安装某些应用的时候会弹出询问是否同意该应用对系统中的数据等进行一定操作的对话框,所以我们要在一个叫AndroidManifest.xml的文件中添加相应的权限,因为是打电话,所以要加上一句:<uses-permission android:name="android.permission.CALL_PHONE"/>。这样就可以了。

           最后一点,也是非常重要的一点,就是写代码的过程中遇到的奇葩问题

1、AndroidManifest.xml file missing!           项目名称不能带中文,要用英文的!

2、EditText et = (EditText) MainActivity.this.findViewById(R.id.et_number);报错,这是因为我在这里获取的文本框id名字和我在.xml文件中定义的名字是不一样的,所以并不会获取到文本框的id。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics