写一个简单的电话拨号器

整个过程也是在不断的学习,在初步入门,跟着学习了一个简单的电话拨号器,比较能够了解activity是软件的门面,而且按钮是从一个动作或者界面或者activity到达另一个的方法,以及接触了监听组件的动作,读取用户输入数据等。(上面的话,可能并没有说的很清楚,一些名词可能也是不对,多见谅)

首先是建立一个新的project,可以命名为bohaoqi,简单易懂没内涵,或者叫做phonecall也可以,拨号器(dialler)。

(然后,我发现,其实用自己的安卓手机进行开发,可能要比模拟器更好一些)

整个软件就一个界面,我们只需要一个activity就可以,整体大概是这样的。

<安卓那点事>写一个简单的电话拨号器

一.文本“请输入电话号码!”

<TextView  /> 文本标签(activity_main.xml)如下


我们可以看出来:文本标签是<TextView />,而且每一个内容都是以android: 开始的:
android_text=“ ”                   // “ ” 中是文本显示内容
android_textSize=“ “            // ” “ 文本大小 ,文字一般选择sp,也可以选择dp,px等单位
android_textColor=” ”          // ” ” 文本颜色
(*此处着重一下)
android_layout_width=” ”    // layout_width,就是当前activity 的宽度,有三种,match_parent ,继承父元素,wrap_content , 包围当前内容。
android_layout_height=” ”  //和上同样理解。
二.文本输入框等待用户输入
<EditText  />输入框标签 (activity_main.xml) 如下
我们可以看出:输入标签是<EditText  />,而且每一个内容都是以android: 开始的:
android_id=”@+id/et_phonenumber”     //这是为当前内容或者模块赋一个id,后面要用到,比如后面监听这个模块等行为
android_layout_width=” ”                       //和上一样
android_layout_height=” ”                     //和上一样
android_hint=”此处输入号码”               //hint=” ” 就是在这个框中浅色提示信息,当有新问本输入就会”消失“;如果此处用text=” “,则直接默认了文本内容。(hint与text的区别;hint:n.暗示; 线索,迹象; 提示,注意事项; 微量; vt.暗示; vi.暗示,提示;)
android_inputType=”phone”                //inputType=” “ 就是需要限制一下输入框的输入字符类型等内容限制,phone就是电话用符,而number可能就是0-9,等等
我们应该还可以在此处不断的加入我们需要的东西,以达到”丰满“的当前内容卡(控件的意图。
三.按钮(控件)的配置
<Button />按钮标签(activity_main.xml) 如下

我们可以看出:按钮标签是<Button />,而且其中每一个”内容“都是以android: 开始的:
android_id=”@+id/bt”                  //和上一样
android_layout_width=” ”            //和上一样
android_layout_height=” ”          //和上一致
android_text=” 拨打”                  //显示按钮内容为拨打
android_textSize=”22sp”           //和上一样
以上都是我们在配置我们的activity,也就是我们的界面(门面)布局以及内容——都是在activity_main.xml中添加的内容,也可以切换到可视化编辑, 在上面中,老是(想要)用到标签这一说法,是因为我们修改的内容是 .xml  都是以< />来的,而且也没有  ;  来表示语句结束。
以下就让我们来实现功能的基本配置
四.修改 app-java-com.bohaoqi.tzonline.bohaoqi-MainActivity (android studio,eclipse里显示的路径可能不一样,但是东西就在这个里面)

以上就是我们需要添加的类或者方法,以及调用android提供的相关接口/应用等
setContentView(R.layout.activity_main);                 //这个就是显示我们的门面也就是我们的activity(此处是我们的activity_main,R.layou.这个在C/C++或java里都有的,类似C++中的root->left)
如果我们有其他的activity,也可以在此处指定
Button bt= (Button) findViewById(R.id.bt);     // Button  bt 创建一个Button 对象 bt ;(Button)强制转换为Button ; findViewById(R.id.bt) 找到制定id,也就是找到我们的 id为bt 的button 赋给 bt ;
bt.setOnClickListener(new MyListener());               //这个就是让我们拿到的bt来执行setOnClickListener()“方法”,而传递的“参数”或者其他就是 new MyListener();既然new MyListener,那么肯定就有MyListener
class MyListener implements View.OnClickListener{ };             //创建一个class,创建的时候,我们让软件为我们自己生成方法public void onClick( View v){    }
EditText et=(EditText) findViewById(R.id.et_phonenumber);   //如上,创建et得到命名id为et_phonenumber
String phonenumber = et.getText().toString();                                //定义一个String 类型变量 phonenumber ,将et 执行getText().toString() 得到的号码 赋值给phonenumber
Intent intent =new Intent();                                       //Intent 意图,android里提供的一种东西,就像上面备注的告诉系统我“想要”打电话,我们就创建一个intent
intent.setAction(Intent.ACTION_CALL);                  //设置意图对象要执行的动作:ACTION_CALL,打电话
intent.setData(Uri.parse(“tel:”+phonenumber));      //我们的意图是去拨打这个电话号码,此处就需要我们得到的phonenumber(电话号码),此处注意一下”tel:” 当拨打电话时,需要加的,而且 : 是英文冒号,在运行中因为一开始中文的,没有报错,但是运行过程中会直接停止运行。这种bug确实很难找到,所以我们一定要在中/英切换时注意
startActivity(intent);                                                //开始Activity

五.设置权限,app—manifests—AndroidManifest.xml (android studio,eclipse中路径可能不一致)
在里面的<manifest></manifest>里面(中间)添加权限:

简单翻译:使用权限 安卓权限名=“安卓权限.通信”
六.至此就完成了简单的拨号器,可以Run一下了,在Run中,如果虚拟机各种不流畅,可以使用手边的安卓手机来进行;
效果

<安卓那点事>写一个简单的电话拨号器
在整个过程中,可能用了一些不正规的语句,请大家见谅,还有粘贴的代码片段基本保证100%正确,下方解释中可能在 ; () { } 中有缺失或者中文输入,请注意。如果有任何建议意见都可以留言或私信。感谢。

来源:cccccccccaaaaaaaaa

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2016年1月10日
下一篇 2016年1月11日

相关推荐