Android Studio简易计算器

这篇具有很好参考价值的文章主要介绍了Android Studio简易计算器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

第一步,创建新项目

第二步,设计UI

第三步,实现计算逻辑

第四步,测试应用程序


随着移动互联网的普及,手机应用程序已经成为人们生活中不可或缺的一部分。计算器是一类被广泛使用的应用程序之一,因此学习如何开发一款简易的计算器应用程序是学习Android Studio开发的一个很好的开始。

Android Studio是一款Google开发的用于创建安卓应用的集成开发环境(IDE), 它可以帮助开发者快速设计、开发和测试应用程序。接下来我将为大家介绍如何使用Android Studio创建一个简易的计算器应用程序。

第一步,创建新项目

打开Android Studio并创建一个新项目。

andriod studio 计算器,android studio,android

 选择"Empty Activity"模板,然后为项目命名,选择存储项目的位置。

第二步,设计UI

我们需要设计一个简单的计算器界面。添加两个EditText元素用于显示计算器输入和输出结果。接着,在XML文件中依次添加多个Button元素,这些元素将作为计算器中需要用到的各种计算操作进行排列。这些Button元素使用GridLayout布局将它们排列在一起。

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">

    <GridLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <EditText
            android:id="@+id/ed_srk"
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:hint="输入框"/>
        <EditText
            android:id="@+id/ed_sck"
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:hint="输出框"/>
    </GridLayout>

   <GridLayout
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_gravity="center|top"
       android:orientation="horizontal"
       android:rowCount="5"
       android:columnCount="4">
       <Button
           android:id="@+id/btn_c"
           android:layout_width="160dp"
           android:layout_height="60dp"
           android:layout_columnSpan="2"
           android:text="c"/>
       <Button
           android:id="@+id/btn_del"
           android:layout_width="80dp"
           android:layout_height="60dp"
           android:text="DEL"/>
       <Button
           android:id="@+id/btn_chu"
           android:layout_width="80dp"
           android:layout_height="60dp"
           android:text="/"/>
       <Button
           android:id="@+id/btn7"
           android:layout_width="80dp"
           android:layout_height="60dp"
           android:text="7"/>
       <Button
           android:id="@+id/btn8"
           android:layout_width="80dp"
           android:layout_height="60dp"
           android:text="8"/>
       <Button
           android:id="@+id/btn9"
           android:layout_width="80dp"
           android:layout_height="60dp"
           android:text="9"/>
       <Button
           android:id="@+id/btn_che"
           android:layout_width="80dp"
           android:layout_height="60dp"
           android:text="*"/>
       <Button
           android:id="@+id/btn4"
           android:layout_width="80dp"
           android:layout_height="60dp"
           android:text="4"/>
       <Button
           android:id="@+id/btn5"
           android:layout_width="80dp"
           android:layout_height="60dp"
           android:text="5"/>
       <Button
           android:id="@+id/btn6"
           android:layout_width="80dp"
           android:layout_height="60dp"
           android:text="6"/>
       <Button
           android:id="@+id/btn_jih"
           android:layout_width="80dp"
           android:layout_height="60dp"
           android:text="-"/>
       <Button
           android:id="@+id/btn1"
           android:layout_width="80dp"
           android:layout_height="60dp"
           android:text="1"/>
       <Button
           android:id="@+id/btn2"
           android:layout_width="80dp"
           android:layout_height="60dp"
           android:text="2"/>
       <Button
           android:id="@+id/btn3"
           android:layout_width="80dp"
           android:layout_height="60dp"
           android:text="3"/>
       <Button
           android:id="@+id/btn_jah"
           android:layout_width="80dp"
           android:layout_height="60dp"
           android:text="+"/>
       <Button
           android:id="@+id/btn_yl"
           android:layout_width="80dp"
           android:layout_height="60dp"
           android:text="预留"/>
       <Button
           android:id="@+id/btn0"
           android:layout_width="80dp"
           android:layout_height="60dp"
           android:text="0"/>
       <Button
           android:id="@+id/btn_dian"
           android:layout_width="80dp"
           android:layout_height="60dp"
           android:text="."/>
       <Button
           android:id="@+id/btn_dy"
           android:layout_width="80dp"
           android:layout_height="60dp"
           android:text="="/>
   </GridLayout>
</GridLayout>

第三步,实现计算逻辑

在Java文件中定义一个类,继承自Activity,并实现OnClickListener接口。这一步的目的是为每个Button元素定义单独的事件处理程序。在这个类中,将实现查找所有Button元素并为它们设置事件处理程序,接收用户的输入,根据不同的计算操作,计算出应该显示的结果并显示在输出区域中。

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    //创建对象
    private Button mBtn1, mBtn2, mBtn3, mBtn4, mBtn5,
            mBtn6, mBtn7, mBtn8, mBtn9, mBtn0,
            mBtnc, mBtndel, mBtnchu, mBtnche, mBtnjia,
            mBtnjian, mBtndian, mBtndy, mBtnyl;
    private EditText edsrk, edsck;

    //判断文本框是否清空
    private boolean deng_flag;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mBtn1 = findViewById(R.id.btn1);
        mBtn2 = findViewById(R.id.btn2);
        mBtn3 = findViewById(R.id.btn3);
        mBtn4 = findViewById(R.id.btn4);
        mBtn5 = findViewById(R.id.btn5);
        mBtn6 = findViewById(R.id.btn6);
        mBtn7 = findViewById(R.id.btn7);
        mBtn8 = findViewById(R.id.btn8);
        mBtn9 = findViewById(R.id.btn9);
        mBtn0 = findViewById(R.id.btn0);
        mBtnc = findViewById(R.id.btn_c);
        mBtndel = findViewById(R.id.btn_del);
        mBtnchu = findViewById(R.id.btn_chu);
        mBtnjia = findViewById(R.id.btn_jah);
        mBtnjian = findViewById(R.id.btn_jih);
        mBtndian = findViewById(R.id.btn_dian);
        mBtndy = findViewById(R.id.btn_dy);
        mBtnyl = findViewById(R.id.btn_yl);
        mBtnche = findViewById(R.id.btn_che);

        //按钮设置点击事件
        mBtn1.setOnClickListener(this);
        mBtn2.setOnClickListener(this);
        mBtn3.setOnClickListener(this);
        mBtn4.setOnClickListener(this);
        mBtn5.setOnClickListener(this);
        mBtn6.setOnClickListener(this);
        mBtn7.setOnClickListener(this);
        mBtn8.setOnClickListener(this);
        mBtn9.setOnClickListener(this);
        mBtn0.setOnClickListener(this);
        mBtnc.setOnClickListener(this);
        mBtndel.setOnClickListener(this);
        mBtnchu.setOnClickListener(this);
        mBtnjia.setOnClickListener(this);
        mBtnjian.setOnClickListener(this);
        mBtndian.setOnClickListener(this);
        mBtndy.setOnClickListener(this);
        mBtnyl.setOnClickListener(this);
        mBtnche.setOnClickListener(this);

        edsrk = findViewById(R.id.ed_srk);
        edsck = findViewById(R.id.ed_sck);
    }

    @Override
    public void onClick(View view) {
        String input = edsrk.getText().toString();
        String output = edsck.getText().toString();

        switch (view.getId()) {
            case R.id.btn1:
            case R.id.btn2:
            case R.id.btn3:
            case R.id.btn4:
            case R.id.btn5:
            case R.id.btn6:
            case R.id.btn7:
            case R.id.btn8:
            case R.id.btn9:
            case R.id.btn0:

            case R.id.btn_dian:
                if (deng_flag) {
                    deng_flag = false;
                    edsrk.setText(null);
                    edsrk.setText(((Button) view).getText());
                } else {
                    edsrk.setText(input + ((Button) view).getText());
                }
                break;

            case R.id.btn_che:
            case R.id.btn_jah:
            case R.id.btn_jih:
            case R.id.btn_chu:
                edsrk.setText(input + " " + ((Button) view).getText() + " ");
                break;

            case R.id.btn_dy:
                //调用下方方法计算结果
                getResult();
                break;
                
            case R.id.btn_yl:
            case R.id.btn_c:
                edsrk.setText(null);
                edsck.setText(null);
                break;
                
            case R.id.btn_del:
                //判断是否为空再进行删除
                if (deng_flag) {
                    deng_flag = false;
                    edsrk.setText("");
                } else if (input != null && !input.equals("")) {
                    edsrk.setText(input.substring(0, input.length() - 1));
                }
                break;
        }
    }

    private void getResult() {
        String input = edsrk.getText().toString();

        deng_flag = true;

        double dResult = 0;
        int iResult = 0;

        //截取运算符前面的字符串
        String s1 = input.substring(0, input.indexOf(" "));
        //截取运算符
        String op = input.substring(input.indexOf(" ") + 1, input.indexOf(" ") + 2);
        //截取运算符后面的字符串
        String s2 = input.substring(input.indexOf(" ") + 3);

        //根据s1,s2转换 字符串转换数值
        double d1 = Double.parseDouble(s1);
        double d2 = Double.parseDouble(s2);

        //根据输入的运算符号获得计算结果,将结果返回到输出框
        if (op.equals("+")) {
            dResult = d1 + d2;
        } else if (op.equals("-")) {
            dResult = d1 - d2;
        } else if (op.equals("*")) {
            dResult = d1 * d2;
        } else if (op.equals("/")) {
            if (d1 == 0) {
                dResult = 0;
            } else {
                dResult = d1 / d2;
            }
        } else {
            edsck.setText(dResult + "");
        }

        //如果输入框数值中含有点小数点或者运算符为除号则结果返回double值
        if (s1.contains(".") || s2.contains(".") || op.equals("/")) {
            edsck.setText(dResult + "");
        } else {
            iResult = (int) dResult;
            edsck.setText(iResult + "");
        }
    }
}

第四步,测试应用程序

(实现效果)

andriod studio 计算器,android studio,android

以上就是使用Android Studio创建一个简易计算器应用程序的步骤。

本文以简易计算器为例,简要介绍了使用Android Studio进行应用程序开发的基本流程,包括创建新项目、添加用户接口元素、定义事件处理程序、测试应用程序和发布应用程序等步骤。只要遵循这些基本步骤,就可以在短短的时间内构建出一个简单但功能齐全的计算器应用程序。文章来源地址https://www.toymoban.com/news/detail-714404.html

到了这里,关于Android Studio简易计算器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Android Studio 实现计算器(简单易上手使用技术多)

    🍅 文章末尾有获取完整项目源码方式 🍅         本项目是一个基于Android Studio和Java语言开发的简单计算器应用。应用包含启动页面、登陆注册页面、首页、计算器页面和我的页面等多个功能模块。         通过这个项目的实践,希望这个项目能够帮助你入门Android开

    2024年04月12日
    浏览(55)
  • 初学编程 第一个小程序Android studio实现计算器功能

    源代码下载:https://gitee.com/zha-yingying/calculator.git 1.建立一个新的Layout,我这里使用的是GridLayout(网格布局),提取屏幕宽度(方便后面设置子控件的宽度)GridLayout的特点是自定义网格布局有几行几列,我们可以将自控件自定义放在第几行第几列。 2.建立一个新的textview(文本

    2023年04月14日
    浏览(68)
  • 移动开发作业三:使用Android studio来实现简单的计算器

    一.实验要求 结合所学内容利用Android studio来设计一个开发实例,这里去我选择做一个简易的计算器,可以初步实现加减乘除。 二.实验功能 该计算器与我们平常手机上的计算器一样,可以进行加减乘除操作。 三.实验过程 1.首先是关于计算器的布局 在layout文件下的drawable文件

    2024年02月02日
    浏览(58)
  • Android Studio:一个简单的计算器app的实现过程<初级>

    📌Android Studio 专栏正在持续更新中,案例的原理图解析、各种模块分析💖这里都有哦,同时也欢迎大家订阅专栏,获取更多详细信息哦✊✊✊ ✨个人主页:零小唬的博客主页 🥂欢迎大家 👍点赞 📨评论 🔔收藏 ✨作者简介:20级计算机专业学生一枚,来自宁夏,可能会去

    2024年02月01日
    浏览(106)
  • 移动应用开发实验一Android studio设计三种计算器的UI

    使用必要的布局方式,设计下面三种计算器的界面: 简单的计算器 科学计算器 程序计算器 边框的设置是建立一个drawable的xml文件,然后写了边框宽度、颜色、圆角和内边距。调用的时候用到了background属性 。

    2024年02月11日
    浏览(59)
  • 【Android】控件与布局入门 - 简易计算器

    目录 1. 基础开发环境 2. 计算器的布局和相关按钮 3. 计算器的主要运算逻辑 4. APK 文件 5. 项目源码 JDK:JDK17 Android Studio:Android Studio Giraffe | 2022.3.1 Android SDK:Android API 34 Gradle: gradle-8.0-bin.zip 使用 LinearLayout 和 GridLayout 实现计算器的交互前端。 layout 文件如下 相关 values 如下:

    2024年02月14日
    浏览(51)
  • Android开发:kotlin语言实现简易计算器

    输入两个数字,可选加减乘除操作符,并计算显示对应结果 随系统切换语言 可对结果进行四舍五入操作 界面布局:activity_main.xml文件代码 字符定义:string.xml文件代码 逻辑实现:MainActivity.kt 文件代码 方法一(偷懒): 复制文件到对应位置 方法二: 1. 绘制界面 2. 编写逻辑

    2023年04月08日
    浏览(48)
  • Android开发:基于Kotlin编写一个简易计算器

    本着程序员“拥抱变化”的思想,最近开始学Kotlin了。感觉还是得通过实战来入门一门新语言,所以打算写一个基于Kotlin语言的计算器,本文对开发过程以及学习Kotlin的一些知识进行了记录。 计算器的全部源码已经放到了我的Github中,需要的伙伴自取:Calculator Kotlin中文站:

    2023年04月27日
    浏览(59)
  • JAVA制作的简易计算器——傻瓜计算器

    用JAVA编写的傻瓜计算器 作用: 1.可以实现加法、减法、乘法、除法简单运算且是单一运算,不可混合使用。 2.CE为清除键 3.没有小数点O(∩_∩)O 思路: 创建JFrame窗口,设置标题,创建JButton,创建文本框JTextField用作显示。 先定义各种按钮类型,用作成员。定义窗口方法对窗口

    2024年02月11日
    浏览(45)
  • JAVA简易计算器

    1.C是清除键,功能是将之前所输入的数字、计算结果等信息全部归零 2.CE,清除当前输入的数据或符号 3.单击MS存储当前显示值,可以理解为放到存储区 4.单击MC清除存储区数值 5.单击MR将存储区数据显示到屏幕上 6.M+:当前显示的数与存储区的数相加 7.M-:当前显示的数与存储

    2024年02月09日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包