Android项目学习笔记之电话拨号器
2013-09-09 13:50
585 查看
开发环境:
Win XP + eclipse-jee-helios(版本号3.6) + ADT(版本10.0.1) + Android SDK(版本10);
模拟器及真机测试环境:Android2.2
1.软件界面的设计:
图1
首先在phone->res->values中的string.xml中添加布局中需要的字符串,string.xml代码如下:
在phone->res->layout中的main.xml中添加布局的代码,从图1可以看到该布局是垂直线性布局,具体的实现代码如下:
2.给拨号钮添加点击事件的处理对象
具体的实现思路是这样的:首先根据控件的id在所有的控件中找到拨号button按钮,设置监听,即当点击拨号按钮时,执行相应的拨号操作。
这里应该注意的是,我们自己编写的代码调用Android手机自带的拨号功能,判断是由哪一个Activity来提供功能的?那么激活这个Activity就可以让其帮我们打电话,要激活它,就需要与这个
Activity自带的意图过滤器匹配,并在清单文件中出示打电话的权限(Android的安全机制)。
在phone->src->cn.hao.phone中的MainActivity.java中添加实现拨号功能按钮的代码,在MainActivity类中定义如下全局变量
3.在清单文件AndroidManifest.xml中出示打电话的权限
运行的结果如下:
利用两个模拟器模拟打电话的结果如下:
小结:这个程序功能的实现并不是完全由我们自己编写,感兴趣的朋友可以看一下Android手机自带的拨号功能的源代码(至少几万吧),而是我们通过与Android手机自带的拨号功能的意图匹配,并出示相应操作的权限完成的。
附件:http://down.51cto.com/data/2363460
Win XP + eclipse-jee-helios(版本号3.6) + ADT(版本10.0.1) + Android SDK(版本10);
模拟器及真机测试环境:Android2.2
1.软件界面的设计:
图1
首先在phone->res->values中的string.xml中添加布局中需要的字符串,string.xml代码如下:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, MainActivity!</string> <string name="app_name">电话拔号器</string> <string name="mobile">请输入手机号</string> <string name="button">拔号</string> </resources>以键值对的形式出现,如
<string name="app_name">电话拔号器</string>定义字符串“电话拨号器”的id为“
app_name”,那么在布局中就可以利用相应的id值来引用字符串。
在phone->res->layout中的main.xml中添加布局的代码,从图1可以看到该布局是垂直线性布局,具体的实现代码如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/mobile" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/mobile" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button" android:id="@+id/button" /> </LinearLayout>
2.给拨号钮添加点击事件的处理对象
具体的实现思路是这样的:首先根据控件的id在所有的控件中找到拨号button按钮,设置监听,即当点击拨号按钮时,执行相应的拨号操作。
这里应该注意的是,我们自己编写的代码调用Android手机自带的拨号功能,判断是由哪一个Activity来提供功能的?那么激活这个Activity就可以让其帮我们打电话,要激活它,就需要与这个
Activity自带的意图过滤器匹配,并在清单文件中出示打电话的权限(Android的安全机制)。
在phone->src->cn.hao.phone中的MainActivity.java中添加实现拨号功能按钮的代码,在MainActivity类中定义如下全局变量
private EditText mobileText;在onCreate()方法中添加如下代码
mobileText = (EditText) findViewById(R.id.mobile); Button button = (Button) this.findViewById(R.id.button); button.setOnClickListener(new ButtonClickListener());方法
ButtonClickListener()在onCreate()代的代码如下
private final class ButtonClickListener implements View.OnClickListener{ public void onClick(View v) { String number = mobileText.getText().toString(); Intent intent = new Intent(); intent.setAction("android.intent.action.CALL"); intent.setData(Uri.parse("tel:"+ number)); startActivity(intent); //方法内部会自动为Intent添加别:android.intent.category.DEFAULT } }
3.在清单文件AndroidManifest.xml中出示打电话的权限
<uses-permission android:name="android.permission.CALL_PHONE"/>注意:该权限的声明应该在<application></application>标签的外部。
运行的结果如下:
利用两个模拟器模拟打电话的结果如下:
小结:这个程序功能的实现并不是完全由我们自己编写,感兴趣的朋友可以看一下Android手机自带的拨号功能的源代码(至少几万吧),而是我们通过与Android手机自带的拨号功能的意图匹配,并出示相应操作的权限完成的。
附件:http://down.51cto.com/data/2363460
相关文章推荐
- android开发学习---基础知识学习、如何导入已有项目和开发一个电话拨号器
- maven 学习笔记(七)-(完整Android项目多渠道打包、签名、混淆进阶)
- Android笔记:2017年比较适合学习的开源项目
- 【学习笔记】day1_快速入门 14_电话拨号器定义布局&获取组件对象
- 学习笔记1--Android应用&Android studio项目结构
- Android:项目实战学习笔记
- Android项目学习笔记之如何将应用部署到真机上
- Android开源项目学习笔记(二)--SlidingMenu
- android 学习笔记15-项目实战 切换显示动画 底部线条移动
- Android Studio 学习笔记-新手入门-(2)导入项目遇到的问题
- Android学习之电话拨号器
- 关于开源项目android--Imagedownloader的学习笔记
- 关于开源项目android--Imagedownloader的学习笔记
- 【Android笔记】学习分析第一个分析Android项目
- Android电话短信拦截项目总结之 项目源码及相关学习资料
- Android Framework学习笔记 -- 在android源码添加项目的正确办法
- Android学习之电话拨号器
- Android开源项目学习笔记_ActionBarSherlock
- Android开源项目SlidingMenu的学习笔记(一)
- android 学习笔记14- 项目实战 基类抽取 标题定义 界面滑动