Android学习之路(1)——计算器——2017_01_09

来源:互联网 发布:三国志11古武将数据 编辑:程序博客网 时间:2024/05/18 18:04

本人菜鸟一只,现在的我读大三,临近毕业,自己是Android爱好者, 这将是我发表的第一篇关于Android的博客,以后持续更新,给大家提供本人对Android的理解的同时也激励自己时刻努力进步。文章中有什么写的不好的地方大家可以在留言区提出来,我会听取大家的宝贵意见的。

Android计算器程序简单,适合了解了Android的基本语法的人,核心算法就是 s=a+b,s=a-b,s=a*b,s=a/b;其他的内容就是帮助刚入门Android的同学了解和巩固Android最基础的语法。

我是用现在最新的Android Studio2.2开发的,下面附上资源链接。

计算器源代码下载页链接

首先创建一个空的工程,然后按照如下图片做出界面
这里写图片描述

这里是activity_main.xml的代码//下面这块跟根据自己的电脑上生成的来,无需照抄<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/activity_main"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="com.example.tigermini.calculater.MainActivity">//下面的代码就是构成视图的部分,要注意每部分的id    <Button        android:text="+"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignBottom="@+id/button09"        android:layout_toEndOf="@+id/button06"        android:id="@+id/button_add"        android:layout_alignTop="@+id/button09" />    <Button        android:text="2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignTop="@+id/button01"        android:layout_toEndOf="@+id/button01"        android:id="@+id/button02" />    <Button        android:text="3"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignBottom="@+id/button02"        android:layout_toEndOf="@+id/button02"        android:id="@+id/button03" />    <Button        android:text="C"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignBottom="@+id/button00"        android:layout_toEndOf="@+id/button00"        android:id="@+id/button_clear" />    <Button        android:text="="        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignBottom="@+id/button_clear"        android:layout_toEndOf="@+id/button_clear"        android:id="@+id/button_equality" />    <Button        android:text="1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/button01"        android:layout_above="@+id/button00"        android:layout_alignParentStart="true" />    <Button        android:text="4"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/button04"        android:layout_above="@+id/button02"        android:layout_alignParentStart="true" />    <Button        android:text="5"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/button05"        android:layout_above="@+id/button02"        android:layout_toEndOf="@+id/button04" />    <Button        android:text="6"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/button06"        android:layout_above="@+id/button03"        android:layout_toEndOf="@+id/button05" />    <Button        android:text="7"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/button07"        android:layout_above="@+id/button05"        android:layout_alignParentStart="true" />    <Button        android:text="8"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/button08"        android:layout_above="@+id/button05"        android:layout_toEndOf="@+id/button04" />    <Button        android:text="9"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/button09"        android:layout_above="@+id/button_minus"        android:layout_toEndOf="@+id/button05" />    <Button        android:text="0"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/button00"        android:layout_marginBottom="40dp"        android:layout_alignParentBottom="true"        android:layout_alignParentStart="true" />    <Button        android:text="*"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/button_multiply"        android:layout_above="@+id/button_division"        android:layout_toEndOf="@+id/button03" />    <Button        android:text="-"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/button_minus"        android:layout_alignBaseline="@+id/button06"        android:layout_alignBottom="@+id/button06"        android:layout_alignParentEnd="true"        android:layout_toEndOf="@+id/button03" />    <Button        android:text="/"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/button_division"        android:layout_alignBaseline="@+id/button_equality"        android:layout_alignBottom="@+id/button_equality"        android:layout_toEndOf="@+id/button03" />    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/tv"        android:textSize="30dp"        android:layout_alignParentTop="true"        android:layout_alignParentStart="true"        android:layout_marginTop="91dp"        android:layout_alignParentEnd="true" /></RelativeLayout>

本程序只有一个.java类,下面是源代码。

package com.example.tigermini.calculater;import android.provider.Settings;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;public class MainActivity extends AppCompatActivity {    TextView tv;    int[] buttons;    int result;    int result0;    int result1;    Button button_add;    Button button_minus;    Button button_multiply;    Button button_division;    Button button_equality;    Button button_clear;    String str1;    String str2;    int flag=0;    Button temp;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initButton();               //初始化按钮        button_clear.setOnClickListener(                new View.OnClickListener() {                    @Override                    public void onClick(View v) {                        str1 = "";                        str2 = "";                        tv.setText(str1);                        flag = 0;                    }                }        );        //监听        for (int i=0;i<buttons.length;i++){            temp=(Button)findViewById(buttons[i]);            temp.setOnClickListener(                    new View.OnClickListener() {                        @Override                        public void onClick(View v) {                            str1=tv.getText().toString().trim();                            str1=str1+String.valueOf(((Button)v).getText());           //获得新输入的值                            System.out.println("str1"+":::"+str1);                            tv.setText(str1);                        }                    }            );        }        buttonListener(button_add,1);        buttonListener(button_minus,2);        buttonListener(button_multiply,3);        buttonListener(button_division,4);        //核心算法        button_equality.setOnClickListener(                new View.OnClickListener() {                    @Override                    public void onClick(View v) {                        System.out.println(str1);                        result1=Integer.parseInt(str1);                        if(flag==1){                            result=result0+result1;                            System.out.println(result0+":"+result1);                        }                        else if(flag==2){                            result=result0-result1;                        }                        else if(flag==3){                            result=result0*result1;                        }                        else if(flag==4){                            result=result0/result1;                        }                        String str=(result+"").trim();                        System.out.println(str);                        tv.setText(str);                    }                }        );    }        //初始化按钮        public void initButton(){        tv=(TextView)this.findViewById(R.id.tv);        str1=String.valueOf(tv.getText());        str2="";        button_add=(Button)this.findViewById(R.id.button_add);        button_clear=(Button)this.findViewById(R.id.button_clear);        button_division=(Button)this.findViewById(R.id.button_division);        button_equality=(Button)this.findViewById(R.id.button_equality);        button_minus=(Button)this.findViewById(R.id.button_minus);        button_multiply=(Button)this.findViewById(R.id.button_multiply);        buttons=new int[]{                R.id.button00,R.id.button01,R.id.button02,R.id.button03,R.id.button04,R.id.button05,                R.id.button05,R.id.button06,R.id.button07,R.id.button08,R.id.button09        };    }    //按钮监听    public void buttonListener(Button button,final int id){        button.setOnClickListener(                new View.OnClickListener() {                    @Override                    public void onClick(View v) {                        String str=tv.getText().toString().trim();                        result0=Integer.parseInt(str);                        tv.setText("");                        flag=id;                    }                }        );    }}

上面就是我的一个简单的计算器程序了。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 酷派手机开机出现系统错误怎么办 乐视1s手机开不了机怎么办 酷派手机的信息文件夹不见了怎么办 酷派手机开机卡在开机界面怎么办 魅蓝拨号键老是闪退怎么办 手机上浏览器搜索时字在右边怎么办 酷比魔方平板开不开机怎么办 红米手机摔了有一角黑屏了怎么办 红米手机刷机黑屏打不开怎么办 魅蓝x一打电话就黑屏怎么办 红米手机黑屏打不开怎么办充电发烫 小米手机打电话来是关机的怎么办 红米手机打电话自动灭屏怎么办 红米5s手机白屏怎么办 红米手机黑屏开不了机怎么办 红米note开机键不灵了怎么办 红米2忘记锁屏密码怎么办 红米1手机忘记锁屏密码怎么办 红米4x关不了机怎么办 红米4a手机屏幕黑屏打不开怎么办 红米手机为什么开不了机怎么办 红米note手机刷机失败怎么办 金立手机来电屏幕不亮怎么办 小米5s桌面相机图标不见了怎么办 小米手机锁屏密码忘了怎么办? 小米平板电脑锁屏密码忘了怎么办 小米手机进水了黑屏了嗡嗡响怎么办 华为诺娃2手机声音小怎么办 华为平板锁屏密码忘记了怎么办 华为麦芒6手机按键摔坏了怎么办 定频空调加错了佛里昂怎么办 定频空调外机噪音大怎么办 老美的定频空调出现p0怎么办 华为揽阅m2青春版卡顿了怎么办 华为揽阅M2青春版发热卡顿怎么办 全民突击网速不给力经常掉线怎么办 华为手机微信视频黑屏了怎么办 相机拍照后找不到拍的照片怎么办 苹果手机下载软件不被信任怎么办 苹果x手机下载软件不受信任怎么办 华为畅享7plus主板坏了怎么办