`
Lirongheng
  • 浏览: 4817 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

android计算器

阅读更多
[    学习安卓,首先要搭建好安卓的开发环境,搭建开发环境我就不详细的说了。我们创建一个安卓的项目,项目里就会有src、gen、bin、res、libs等文件生成。
    一、和eclipse一样src是存放我们开发者自己写的源代码的;
    二、gen是根目录,一般是自动生成的文件,一般情况下我们不用对里面的内容经修改,因为里面文件都是自动生成的,里面有一个R文件,这个R文件存放着我们添加一些类组件的id,这些id是以十六进制的形式来存储的。
    三、bin一般也不用管;res文件比较重要,里面可以存放着layout布局文件,drawable等存放图片的文件。
    四、libs文件是存放第三方的一些包,例如我们做的一个计算器可以再这里存放一个已经写好的包,里面有算法,只要我们输入一条算式就能进行计算。


[img][/img]


下面总结一下我学习安卓过程写的一个计算器:
一、首先我们创建一个计算器项目,因为是刚刚入门,所以计算器的哪些按钮我们都是直接通过Graphics Layout来直接拉取进行布置的,在这里我们可以直接创建文本输入框,按钮等,当然还有很多很多组件,但是做一个计算器利用文本输入框和按钮已经足够了。不够这里有个问题就是当我们布置好布局之后就千万不要再重新布置它的布局或者添加按钮、文本框等操作了,因为通过这种方式创建的布局,如果再重新添加一些组件上去就会不把原来的全部打乱,这个我深有体会。当我已经把一个计算器做好,然后我想再忘里面添加添加两个按钮,结果原有布局都乱了,想调回原来那样已经很难,所以 只好重新做一个
二、在我们添加好文本框和按钮之后再res目录下面的一个layout就会自动生成各个组件,然后我们可以再这些代码里面调节它的大小,改它的id名,取一个有实际意义的id名可以在我们实际的项目中有很大的作用,按钮上的名也是在这里面改,例如


    <Button
        android:id="@+id/button1"
        android:layout_width="80dp"
        android:layout_height="70dp"
        android:layout_alignLeft="@+id/editText1"
        android:layout_below="@+id/editText1"
        android:layout_marginTop="14dp"
        android:text="清空" />
第二行就是这个id名,如果我们要改id名就可以从这里改
第三四行就是这个按钮的水平宽度和高度,调按钮的大小就可以在这里面进行调节了
其他的都市关于它的布局的位置,最后一行就是它的按钮名字
三、把界面做好以后我们就对的动态进行操作了,对它的动态进行操作,不能在布局文件里面进行编写,在src里面的类进行编写,
public class MainActivity extends Activity implements OnClickListener{

    //定义各个组件,方便和layout上的组件关联起来
EditText result;
String tag="MainActivity";
Button[] button = new Button[10];
Button add,sub,mul,div,equal,dian,right,left,clean,kong;
    Interpreter iter = new Interpreter();
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//关联布局文件activity_main
setContentView(R.layout.activity_main);
//获取editText1上的内容
result = (EditText)findViewById(R.id.editText1);
button[0]=(Button)findViewById(R.id.button3);
button[1]=(Button)findViewById(R.id.button4);
button[2]=(Button)findViewById(R.id.button5);
这里面我觉得最关键的就是关联布局文件,只有关联了布局文件之后才能对布局里面的组件进行操作控制。。
四、对按钮进行监听什么的跟java有很大的相似之处,就是按钮监听从java的ActionListener变为OnClickListener,当然安卓没有鼠标监听。。
五、剩下的就是逻辑的问题,这里指说一下清除的功能,因为原来不会,现在通过这个计算器的学习学会这个知识
		 else if(cbtn==clean){

String src = result.getText().toString();

if(src.length()-1>=0){
String des = src.substring(0,src.length()-1);
     result.setText(des);
}
else if(src.length()<0){

result.setText(null);
}
}
最后一个else if的判断就是清除功能的实现,这个功能可以实现一个一个字符的清除,以前会的都是把它设为空,这样的方法会把所有进行清空。现在是先获取文本框的字符串,然后再对它的长度进行减一,这样就可以一个个的清除了。但是,这样当长度src.length()小于零时,程序就会出现异常,要解决这个问题办法好简单,只需要对src.length()的长度进行一下判断,当src.length()-1>=0时才对文本框的内容进行减一位的操作,当src.length()-1<0时,让文本框清空,这样就能很好地解决这个异常了。。。

这个计算器还存在的问题:1、加减乘除和括号等可以连续输入
                        2、没有对除以零的式子进行处理
  • 大小: 51.2 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics