欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-14 21:33:10
...

快速入门!“三小时内完成第一个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]