可以自己制作的计算器app

自己制作一个计算器app,其实是一项非常有趣的事情。在这个过程中,你将学习到如何使用各种编程工具,如何使用不同的UI元素和如何将它们组合起来实现一个计算器app。 在这里,我将向你介绍如何制作一个简单的计算器app,并提供一些基础的知识和技巧。

首先,你需要一个编程环境来编写代码。这里推荐使用 Android Studio 进行开发。Android Studio 是 Google 开发的官方 Android 应用程序开发 IDE,可在 Windows、Mac OS 和 Linux 三种操作系统中运行。你可以从官方网站上下载并安装,然后根据提示进行设置和配置。

当你完成环境的配置后,就可以开始编写代码了。在 Android Studio 首次启动时,你会看到一个“Welcome to Android Studio” 窗口。点击“Start a new Android Studio project”进行创建新项目。

接着,进入“New Project”的窗口,开始为计算器app进行设置。你需要为你的项目指定一个名称,选择一个适当的应用程序 ID,选择最低兼容的 Android 版本以及选择一个空的 Activity 作为你的启动器。

等待项目创建完成后,它将自动打开一个代码窗口。在这里,你要打开 xml 文件夹,找到 activity_main.xml 文件。这是你的主屏幕布局文件。你将在此布局中创建计算器 UI 元素。

现在,你已经打开了计算器的UI布局文件,然后你需要在布局中添加 UI 元素。首先要添加的UI元素是 TextView 元素。TextView是用于显示当前计算器中的输入和输出结果的UI元素。在 activity_main.xml 布局文件中,添加以下代码:

android:id="@+id/textView"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:textSize="30sp"

android:text="0"

android:textAlignment="textEnd"/>

其中,android:id是唯一的 ID,用于在代码中引用该元素。android:textSize属性用于设置textview的字体大小。

接下来,添加 Button 元素来实现计算器的按键。在 activity_main.xml 布局文件中,添加以下代码:

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/button7"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="7"

android:textSize="30sp"/>

android:id="@+id/button8"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="8"

android:textSize="30sp"/>

android:id="@+id/button9"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="9"

android:textSize="30sp"/>

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/button4"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="4"

android:textSize="30sp"/>

android:id="@+id/button5"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="5"

android:textSize="30sp"/>

android:id="@+id/button6"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="6"

android:textSize="30sp"/>

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/button1"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="1"

android:textSize="30sp"/>

android:id="@+id/button2"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="2"

android:textSize="30sp"/>

android:id="@+id/button3"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="3"

android:textSize="30sp"/>

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/buttonadd"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="+"

android:textSize="30sp"/>

android:id="@+id/button0"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="0"

android:textSize="30sp"/>

android:id="@+id/buttonsub"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="-"

android:textSize="30sp"/>

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/buttonmul"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="x"

android:textSize="30sp"/>

android:id="@+id/buttonClear"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="C"

android:textSize="30sp"/>

android:id="@+id/buttondiv"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="÷"

android:textSize="30sp"/>

其中,android:layout_width和android:layout_height用于设置UI元素的宽度和高度,android:layout_weight是分配剩余空间的方式,使元素根据分配的比例分配剩余空间。您还可以为每个按键分配唯一的 ID,以便在后续的代码中引用它们。

现在,你已经为计算器的 UI 布局创建了 TextView 和 Button 元素。接下来,你需要编写 Java 代码来处理 UI 元素之间的交互。

在 MainActivity.java 文件中,先定义每个 UI 元素及其 ID:

private TextView mtextView;

private Button mbutton0, mbutton1, mbutton2, mbutton3, mbutton4, mbutton5, mbutton6, mbutton7, mbutton8, mbutton9;

private Button mbuttonadd, mbuttonsub, mbuttonmul, mbuttondiv, mbuttonClear;

使用 findViewById() 方法获取每个 UI 元素的引用:

mtextView = (TextView) findViewById(R.id.textView);

mbutton0 = (Button) findViewById(R.id.button0);

mbutton1 = (Button) findViewById(R.id.button1);

mbutton2 = (Button) findViewById(R.id.button2);

mbutton3 = (Button) findViewById(R.id.button3);

mbutton4 = (Button) findViewById(R.id.button4);

mbutton5 = (Button) findViewById(R.id.button5);

mbutton6 = (Button) findViewById(R.id.button6);

mbutton7 = (Button) findViewById(R.id.button7);

mbutton8 = (Button) findViewById(R.id.button8);

mbutton9 = (Button) findViewById(R.id.button9);

mbuttonadd = (Button) findViewById(R.id.buttonadd);

mbuttonsub = (Button) findViewById(R.id.buttonsub);

mbuttonmul = (Button) findViewById(R.id.buttonmul);

mbuttondiv = (Button) findViewById(R.id.buttondiv);

mbuttonClear = (Button) findViewById(R.id.buttonClear);

接下来,使用这些 UI 元素的OnClickListener 方法来编写代码来实现计算器的按键交互操作。例如,当按下数字键时,将 digit 追加到当前值文本视图的末尾:

private void appendDigit(String digit) {

String text = mtextView.getText().toString();

if (text.equals("0")) {

text = "";

}

text += digit;

mtextView.setText(text);

}

当按下操作键时,将当前值设置为暂存值,并将操作符存储在变量中。将当前值文本视图清空,以准备下一个输入值:

private void performOperator(String operator) {

mValue = Double.parseDouble(mtextView.getText().toString());

mOperator = operator;

mtextView.setText("0");

}

最后,在 onCreate() 方法中,将 OnClickListener 分配给每个按钮:

mbutton0.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

appendDigit("0");

}

});

mbutton1.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

appendDigit("1");

}

});

mbutton2.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

appendDigit("2");

}

});

mbutton3.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

appendDigit("3");

}

});

... // and so on

如此一来,你已经完成了自己制作的计算器app,你可以在 Android Studio 中进行运行、测试和调试。最后,你可以将应用程序打包并发布到 Google Play 商店,与世界分享你的超酷计算器会是一件非常令人兴奋的事情!


相关知识:
自建app平台 加广告
自建app平台是指个人或组织建立起自己的应用程序平台,通过该平台向用户推广自己的应用程序。为了实现收益,加入广告是一个不错的选择。本文将对自建app平台加广告的原理以及详细介绍进行介绍。一、广告的原理广告是一种营销手段,它可以在用户使用应用程序时呈现相应内
2023-06-05
自制安卓app控制开发板
近年来,智能家居越来越受到大众的欢迎,而控制智能家居设备的手段也越来越多,例如手机APP、语音助手等等。本文将介绍如何利用互联网上流行的开源硬件平台 Arduino,结合 Android 平台开发,实现控制智能家居设备的效果。首先,需要准备硬件设备:- A
2023-06-05
自己学做饭的app
随着现代人们日益追求健康的生活方式,越来越多的人开始关注自己的饮食习惯。然而,大多数人的饮食问题并不在于他们不知道该吃什么,而在于他们不知道如何烹饪健康的食物。这就引发了一个问题:有没有一款应用程序可以帮助想学做饭的人做饭呢?答案是肯定的。目前已经出现了很
2023-06-05
自己制作刷题题库app
刷题题库app是近年来备受欢迎的应用之一,由于其便捷性和实时性,它成为了众多学生、程序员和工程师的必备工具之一。如果您想要自己制作一个刷题题库app,以下是一些原理和详细介绍,希望对您有所帮助。首先,刷题题库app的的核心是题库和算法。你需要首先明确你的目
2023-06-05
怎样自己制作歌曲app
现在很多人喜欢制作歌曲,而且移动设备越来越普及,因此自己制作歌曲的APP也变得很流行。本文将介绍一些制作歌曲APP的原理和方法。一、制作歌曲APP的原理制作歌曲APP的原理是使用音频库和音频处理API将音频文件转换为可供移动设备播放的格式,并通过UI界面展
2023-06-05
司机自建app
在当今移动互联网时代,APP已成为人们生活中不可或缺的一部分,而司机也不例外。司机通过自建APP,可以更好地服务于用户,提升自身的效率,这也是司机自建APP的原因。司机自建APP主要涵盖三个方面:用户预约、司机接单、订单完成。下面将从这三个方面详细介绍司机
2023-05-31
手机app制作自学教程
现在,手机app制作已经成为了一个非常热门的行业。越来越多的人开始尝试开发自己的手机应用程序,因为这不仅仅可以是一种兴趣爱好,也可能成为一种创造财富的机会。如果你也想学习如何制作手机app,那么本文章介绍了一些你需要掌握的基础知识和常用工具。1、选择好制作
2023-05-31
如何在华为hms上开发自己的app
华为移动服务(HMS)是华为推出的移动应用程序开发平台,由此开发的应用程序将能够在华为移动设备上运行。华为HMS是一个开放的,全面的解决方案,支持各种移动应用和服务的开发,涵盖移动开发、用户终端、数据管理、云服务、营销增长等方面,可以实现设置账户、证书认证
2023-05-30
公司自主开发的app可以监控手机吗
首先,需要明确一点,监控手机指的是通过安装一个应用或软件来接管手机,获取其各种信息数据,包括但不限于通讯录、短信、通话记录、位置、相册、应用使用记录等等。这种行为属于违法行为,侵犯了用户的隐私。因此,企业开发的app并不是为了监控用户手机,而是为了提供更好
2023-05-30
垂直自媒体app开发
随着移动互联网的发展,人们的生活方式也在悄然改变。垂直自媒体app已然成为了一种新兴的网络运营模式,为用户提供了大量的精品内容。本文将介绍垂直自媒体app的原理及详细介绍。一、垂直自媒体app的原理垂直自媒体app通常又称为特定领域的自媒体app,是一种侧
2023-05-30
超格app怎么自定义做题数量
超格app是一款旨在提高学生数学思维能力的应用程序。其独有的自适应学习算法可以为用户提供个性化的学习路径,让学生能够逐步提升数学领域的自信心。而在超格app中,使用者可以选择完成不同难度的题目进行练习,但是默认情况下,每个难度分别提供了20道左右的题目。如
2023-05-30
app程序开发自学教程
随着智能手机的普及,移动应用开发成为了越来越热门的领域。很多人想学习如何开发自己的移动应用,但是不知道从何开始。本文将介绍一些关于app程序开发的基础知识,以及如何进行自学。基础知识在开始学习app程序开发之前,需要了解一些基础知识。首先,需要了解编程语言
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1