本文实例讲述了Android编程简单实现拨号器功能的方法。分享给大家供大家参考,具体如下:

学习Android已经有2天时间了,没学习的时候觉得android可能很枯燥,但是学过之后我发觉其实这个比什么javaweb好玩多了。学习android可以见到一些很有趣的东西,这里呢也建议学习javaME的人不要在煎熬了,学习android吧。在写程序之前也需要知道android的工作原理
1.获取组件清单
2.登记或注册组件
3.将组件封装成意图
4.把意图交给意图处理器进行处理
5.把界面显示给用户
看过网上android的开发流程,好多人都说可以把界面和activity并行开发,因为android也是遵循mvc设计模式,也就是说android也可有自己的业务层DAO。由于android发展历史比较短,目前的分工还不是很明确,对于界面和后台可以选择其中一个作为自己的发展方向,对于android的任何一块来说薪水都比较高。废话就不多说了,来一步一步的实现功能吧。
1.编写“文字”的配置文件,默认的配置文件是strings.xml,这里也可以重新写一个配置文件,格式要保持一致就来写这个配置文件(mystring.xml)吧
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="tip">输入号码</string> <string name="bottonname">拨打</string> </resources>
2.编写控件
<?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/tip" />
<EditText android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/phonenumber"/> <!-- 显示一个文本框 id为phonenumber-->
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/bottonname"
android:id="@+id/botton"
/> <!-- 显示一个按钮 -->
</LinearLayout>
为了让大家看的更清楚,我把R文件的内容也给大家
/* AUTO-GENERATED FILE. DO NOT MODIFY.
*
* This class was automatically generated by the
* aapt tool from the resource data it found. It
* should not be modified by hand.
*/
package org.lxh.phone;
public final class R {
public static final class attr {
}
public static final class drawable {
public static final int icon=0x7f020000;
}
public static final class id {
public static final int botton=0x7f050001;
public static final int phonenumber=0x7f050000;
}
public static final class layout {
public static final int main=0x7f030000;
}
public static final class string {
public static final int app_name=0x7f040003;
public static final int bottonname=0x7f040001;
public static final int hello=0x7f040002;
public static final int tip=0x7f040000;
}
}
3.编写activity
package org.lxh.phone;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class PhoneActivity extends Activity {
private EditText edit;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
edit=(EditText)this.findViewById(R.id.phonenumber); //通过id取得文本输入框
Button but=(Button)this.findViewById(R.id.botton); //通过id取得按钮
but.setOnClickListener(new MyListener()); //给按钮添加监听器
}
public final class MyListener implements View.OnClickListener{ //自定义的监听器
public void onClick(View v) {
//实例化一个意图(动作),用来拨打电话
Intent intent=new Intent("android.intent.action.CALL",Uri.parse("tel:"+edit.getText().toString()));
startActivity(intent); //封装一个意图
}
}
}
上面是内部类的写法,也可以使用下面的写法
package org.lxh.activity;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class CallPhoneActivity extends Activity {
private EditText edittext;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//取得输入框和按钮
edittext=(EditText)this.findViewById(R.id.phonenum);
Button but=(Button)this.findViewById(R.id.button);
but.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String number=edittext.getText().toString();
//封装一个意图,用来拨打电话
Intent intent=new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+number));
startActivity(intent);
}
});
}
}
开发的时候要注意Uri.parse不能少,tel:也不能少,少了就会出错
这里要实现这个功能,首先要来看一下xml
<activity android:name="OutgoingCallBroadcaster"
android:permission="android.permission.CALL_PHONE"
android:theme="@android:style/Theme.NoDisplay"
android:configChanges="orientation|keyboardHidden">
<!-- CALL action intent filters, for the various ways
of initiating an outgoing call. -->
<intent-filter>
<action android:name="android.intent.action.CALL" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="tel" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.CALL" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="voicemail" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.CALL" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.item/phone" />
<data android:mimeType="vnd.android.cursor.item/phone_v2" />
<data android:mimeType="vnd.android.cursor.item/person" />
</intent-filter>
</activity>
这里只需要看第一个filter,这里只需使用2条,那个默认的不用我们去管,另外这个也是需要获得打电话的许可的,所以在组件清单里要加一点东西,如下所示
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.lxh.phone"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".PhoneActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="7" />
<uses-permission android:name="android.permission.CALL_PHONE"/>
</manifest>
准备工作差不多做好了,来测试一下吧,这里为了测试方便,我弄了2个虚拟手机
电话打通了
这个比较好玩吧,至于那个应用图标自己可以换成喜欢的,我就不改了
现在把那个strings.xml配置文件给大家
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, PhoneActivity!</string> <string name="app_name">我的手机拨号器</string> </resources>
OK了,程序写好了。
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》、《Android资源操作技巧汇总》、《Android文件操作技巧汇总》、《Android开发入门与进阶教程》、《Android编程之activity操作技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
# Android
# 拨号器
# Android电话拨号器实例详解
# Android简易电话拨号器实例详解
# Android实现简单的拨号器功能
# Android开发之电话拨号器和短信发送器实现方法
# Android开发之电话拨号器实例详解
# Android学习笔记(二)之电话拨号器
# Android电话拨号器实现方法
# Android 2.3 拨号上网流程从源码角度进行分析
# Android Studio Intent隐式启动
# 发短信
# 拨号
# 打电话
# 访问网页等实例代码
# 配置文件
# 自己的
# 只需
# 给大家
# 操作技巧
# 不能少
# 输入框
# 拨打电话
# 的人
# 进阶
# 我就
# 就会
# 好了
# 相关内容
# 第一个
# 说了
# 不多
# 不是很
# 较高
相关文章:
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
如何在云主机快速搭建网站站点?
湖北网站制作公司有哪些,湖北清能集团官网?
建站主机无法访问?如何排查域名与服务器问题
香港服务器租用费用高吗?如何避免常见误区?
如何快速搭建响应式可视化网站?
如何在阿里云高效完成企业建站全流程?
智能起名网站制作软件有哪些,制作logo的软件?
商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?
如何通过宝塔面板实现本地网站访问?
建站之星3.0如何解决常见操作问题?
西安专业网站制作公司有哪些,陕西省建行官方网站?
如何高效搭建专业期货交易平台网站?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?
深圳网站制作案例,网页的相关名词有哪些?
建站上市公司网站建设方案与SEO优化服务定制指南
招贴海报怎么做,什么是海报招贴?
开心动漫网站制作软件下载,十分开心动画为何停播?
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
如何快速查询网址的建站时间与历史轨迹?
大型企业网站制作流程,做网站需要注册公司吗?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
如何快速生成橙子建站落地页链接?
建站VPS推荐:2025年高性能服务器配置指南
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
兔展官网 在线制作,怎样制作微信请帖?
免费ppt制作网站,有没有值得推荐的免费PPT网站?
建站主机如何安装配置?新手必看操作指南
实现点击下箭头变上箭头来回切换的两种方法【推荐】
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
深圳网站制作平台,深圳市做网站好的公司有哪些?
广州美橙建站如何快速搭建多端合一网站?
巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成
宝塔建站教程:一键部署配置流程与SEO优化实战指南
如何在IIS中新建站点并配置端口与IP地址?
建站之星免费版是否永久可用?
如何通过VPS建站实现广告与增值服务盈利?
韩国服务器如何优化跨境访问实现高效连接?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
如何通过服务器快速搭建网站?完整步骤解析
建站之星后台密码遗忘或太弱?如何重置与强化?
Android滚轮选择时间控件使用详解
如何在万网开始建站?分步指南解析
建站主机助手选型指南:2025年热门推荐与高效部署技巧
常州企业网站制作公司,全国继续教育网怎么登录?
*请认真填写需求信息,我们会在24小时内与您取得联系。