####快速入门!“三小时内完成第一个Android App——计算器”

快速入门!“三小时内完成第一个Android App——计算器”

这是我写的第一个有实际功能的Android App 计算器,可以明确的说,这次设计更多的是一种学习,通过此项目,对于Android开发如何实现有了具象的认知。 
既然是第一次,什么都不懂,又是计算器app这种功能可以设计的很复杂的项目,那如何快速入门,了解Android开发门路,学习使用Android studio呢?——我想说:模仿是最快的学习,一切创新都是有基础的。


那第一步是什么?运用搜索引擎,运用互联网,看看别人是如何使用Android studio的,看看别人是如何编写代码的。(我们从思想要认识到这是无罪的,既然你是在学习,而且这是Android 开发最基础的部分,你无须创新先,你仅仅需要懂怎么做,模仿它,消化知识,最终才以求突破!)

第二步你会发现,编写一个app,首先要进行ui设计,即其按钮和显示框等的布局设计,而在Android中一共有六大布局,它们分别是线性布局、表格布局、帧布局、相对布局、网格布局和绝对布局,现在我们无需全部懂先,用到什么再去弄懂什么,学编程动手做才是最好的学习,不然在入门的时候,你看这些东西会头很胀的,学习不高效。回到正题:在这个项目中,我运用了RelativeLayout(相对布局),现在回过头来看,使用这个布局不是最佳的,为什么呢?主要原因是,在这个布局中就是各个组件彼此之间都有联系,通过在design界面中拖拉组件完成布局(拖拉组件容易导致布局的混乱,有种牵一发而动全身的感觉,对我这种懒人修改法不是很友善),所以你们最好去可以取选取其他布局,如线性布局和表格布局,甚至对多种布局进行嵌套。 注意:在design中可以通过拖动进行布局,在这里拖动,编码软件会自动修改你text中的参数变量 
然后我们回过头来看,text中的代码,其中包含的TextView代码块是编写UI界面中的文本显示框的,然后就是一连串button代码块,

<TextView
android:id= "@+id/textView2"
android:layout_width= "match_parent"
android:layout_height= "100dip"
android:layout_alignParentStart= "true"
android:layout_alignParentLeft= "true"
android:layout_alignParentTop= "true"
android:layout_marginStart= "0dp"
android:layout_marginLeft= "0dp"
android:layout_marginTop= "18dp"
android: background= "#3f1f724f"
android:gravity= "end|bottom"
android:hint= "欢迎使用!"
android: textSize= "28sp" />

这里解释一些代码:通过android:hint=”” 可以为文本框嵌入提醒文字;通过android:background=”” 可以为文本框设置颜色,什么数字具体代表什么颜色,可以自行去搜索,可喜的是Android studio中,你输入一串数字,旁边会自动提醒你,这是什么颜色。

第一个按钮设置

<Button
android: id= "@+id/button3"
android:layout_width= "wrap_content"
android:layout_height= "wrap_content"
android:layout_alignParentLeft= "true"
android:layout_alignParentStart= "true"
android:layout_below= "@+id/textView2"
android:layout_marginTop= "50dp"
android: text= "AC" />

这些是可以抄袭晚上的,不用自己一一费心去写,然后如果你觉得按钮还不齐全,自己想要添加怎么办?你仅需复制粘贴其中一个button代码,然后改掉其android:id和android:text,然后去到disign界面,拖动这个按钮,studio会自动帮你配置参数。

下面就差对布局中的按钮和文本等进行逻辑编码,完成功能实现。

第二步在onCreate方法中,需要做以下这些事:

Button 
btn_0, btn_1, btn_2, btn_3, btn_4, btn_5, 
btn_6, btn_7, btn_8, btn_9, btn_equal, 
btn_point, btn_clean, btn_del, btn_plus, 
btn_minus, btn_multiply, btn_divide, 
btn_sin, btn_cos, btn_tan, btn_pi, btn_e, 
btn_fac, btn_power, btn_ln, btn_log; 
//这是一个良好的编码风格,命名最好清晰,功能体现在名字中。

btn_0 = ( Button) findViewById( R.id.button19) ;

让组件和对应的ID对应起来

btn_0.setOnClickListener( this);

增加监听器和定义监听事件。

第三步在onClick方法中,需要做

switch (v.getId()) {
case R.id. button19: //0
case R.id. button15: //1
case R.id. button16: //2
case R.id. button17: //3
case R.id. button11: //4
case R.id. button12: //5
case R.id. button13: //6
case R.id. button6: //7
case R.id. button7: //8
case R.id. button8: //9
case R.id. button20: //.
if (clear_flag) {
clear_flag = false;
text.setText( "");
}
str += ((Button) v).getText();
text.setText(str);
break;
case R.id. button14: //+
case R.id. button10: //-
……………省略…………………

这里就是,你点击这些按钮,然后会做什么事。

第四步:在自定义的getResult方法中,编写各种运算的逻辑代码。在这里不一一论述了,详情可看我后面贴出来的github网站。

在这里值得一提的是,我增加了

try {
//
}
catch(){
//
}

不至于让这个功能本不完善,容易报错的app,用户一输入错误,就跳出app,造成极差的用户体验。

综上就完成了一个简单的计算器Android APP了,是不是很容易呢?

[https://github.com/STUFelix/tryagain]




猜你喜欢

转载自blog.csdn.net/stu17xkx/article/details/80686574