下面是实现简易计算器小程序的完整攻略,主要分以下四个部分:
- 项目准备
- UI设计
- 逻辑实现
- 测试与发布
1. 项目准备
选择开发工具
推荐使用Android Studio,是当前Android开发的主流IDE,功能强大,使用方便。
创建Android项目
在Android Studio中创建一个新的Android项目,选择Empty Activity或者Basic Activty都可以。
确认依赖库
在项目的build.gradle文件中添加依赖库:
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
2. UI设计
设计界面
在activity_main.xml文件中,使用LinearLayout等布局控件设计计算器的UI界面,例如:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv_result"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:gravity="end"
android:textSize="40sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/btn_1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="1"
android:textSize="24sp" />
<!-- 其他数字按钮省略 -->
<Button
android:id="@+id/btn_add"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="+"
android:textSize="24sp" />
</LinearLayout>
<!-- 其他操作按钮省略 -->
</LinearLayout>
布局样式
在styles.xml中设置app的主题样式:
<resources>
<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/purple_500</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
<item name="colorOnPrimary">@color/white</item>
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="colorOnSecondary">@color/black</item>
<item name="android:fontFamily">@font/roboto_regular</item>
</style>
</resources>
3. 逻辑实现
监听点击事件
在MainActivity.java文件中,使用findViewById方法找到布局控件,设置点击事件监听器:
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private TextView tvResult;
private Button btn1;
// 其他数字按钮省略
private Button btnAdd;
// 其他操作按钮省略
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvResult = findViewById(R.id.tv_result);
btn1 = findViewById(R.id.btn_1);
// 其他数字按钮省略
btnAdd = findViewById(R.id.btn_add);
// 其他操作按钮省略
btn1.setOnClickListener(this);
// 其他数字按钮省略
btnAdd.setOnClickListener(this);
// 其他操作按钮省略
}
@Override
public void onClick(View v) {
int id = v.getId();
switch (id) {
case R.id.btn_1:
// 点击数字1的逻辑处理
break;
// 其他数字按钮省略
case R.id.btn_add:
// 点击加号的逻辑处理
break;
// 其他操作按钮省略
}
}
}
实现计算逻辑
在MainActivity.java文件中,实现加减乘除等计算逻辑:
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private TextView tvResult;
private Button btn1;
// 其他数字按钮省略
private Button btnAdd;
// 其他操作按钮省略
private double num1 = 0;
private double num2 = 0;
private int operator = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvResult = findViewById(R.id.tv_result);
btn1 = findViewById(R.id.btn_1);
// 其他数字按钮省略
btnAdd = findViewById(R.id.btn_add);
// 其他操作按钮省略
btn1.setOnClickListener(this);
// 其他数字按钮省略
btnAdd.setOnClickListener(this);
// 其他操作按钮省略
}
@Override
public void onClick(View v) {
int id = v.getId();
switch (id) {
case R.id.btn_1:
addNumber(1);
break;
// 其他数字按钮省略
case R.id.btn_add:
operator = 1;
num1 = Double.parseDouble(tvResult.getText().toString());
tvResult.setText("");
break;
// 其他操作按钮省略
}
}
private void addNumber(int number) {
String currentResult = tvResult.getText().toString();
if (currentResult.equals("0")) {
tvResult.setText(String.valueOf(number));
} else {
tvResult.setText(currentResult + number);
}
}
private void getResult() {
num2 = Double.parseDouble(tvResult.getText().toString());
double result = 0;
switch (operator) {
case 1:
result = num1 + num2;
break;
// 其他操作省略
}
tvResult.setText(String.valueOf(result));
}
}
4. 测试与发布
在模拟器中测试
在Android Studio中,选择一个模拟器或者连接一个真实的Android设备,点击运行按钮进行测试。
发布apk包
在Android Studio中生成apk包文件,使用工具如fir.im等第三方应用发布平台进行发布。
示例1:
- 单击菜单栏的“Build”选项
- 在弹出的菜单中选择“Generate Signed Bundle / APK”
- 选择APK选项,点击Next
- 配置签名证书、输出路径、构建类型等参数,点击Finish
- 在输出路径中找到生成的.apk文件
示例2:
- 安装fir.im的开发者客户端
- 在fir.im网站上创建一个应用,并将应用对应的token在开发者客户端中验证
- 将.apk文件拖到开发者客户端中,填写相关应用信息
- 点击上传按钮即可发布
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Android实现简易计算器小程序 - Python技术站