📅  最后修改于: 2023-12-03 15:38:12.247000             🧑  作者: Mango
体重指数计算器是一个计算人的健康状态的工具。在本教程中,我们将使用 Android Studio 来构建一个简单的体重指数计算器。
打开 Android Studio,点击 "Start a new Android Studio project"。在下一个界面中,输入应用程序的名称和包名称。我们将使用默认的 Activity 来创建新项目。
我们需要添加用户界面元素来让用户输入他们的身高和体重。在 activity_main.xml 文件中,我们可以添加以下代码:
<EditText
android:id="@+id/height"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Height (in cm)"
android:inputType="number"/>
<EditText
android:id="@+id/weight"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Weight (in kg)"
android:inputType="number"/>
<Button
android:id="@+id/calculate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Calculate BMI"/>
上述代码添加了两个 EditText 元素,用于用户输入他们的身高和体重,并且添加了一个 Button 元素,用于计算用户的体重指数。
在 MainActivity.java 文件中,我们需要添加以下代码来计算体重指数:
public void calculateBMI(View view) {
EditText heightEditText = (EditText) findViewById(R.id.height);
EditText weightEditText = (EditText) findViewById(R.id.weight);
double height = Double.parseDouble(heightEditText.getText().toString());
double weight = Double.parseDouble(weightEditText.getText().toString());
double bmi = weight / (height * height / 10000);
String result;
if (bmi < 18.5) {
result = "Underweight";
} else if (bmi < 25) {
result = "Normal weight";
} else if (bmi < 30) {
result = "Overweight";
} else {
result = "Obese";
}
Toast.makeText(this, "Your BMI is " + bmi + ". You are " + result, Toast.LENGTH_LONG).show();
}
上述代码会从 EditText 元素中获取用户输入的身高和体重,计算体重指数,然后使用 Toast 显示用户的体重指数和健康状态。
之后,在 onCreate 方法中,我们需要将计算逻辑绑定到 Button 元素,如下所示:
Button calculateButton = (Button) findViewById(R.id.calculate);
calculateButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
calculateBMI(v);
}
});
现在,我们已经创建了一个简单的体重指数计算器。点击 "Run" 按钮,可以构建并运行应用程序。在应用程序中输入您的身高和体重,然后点击 "Calculate BMI" 按钮,您将看到 Toast 显示您的体重指数和健康状态。
在这个简单的教程中,我们使用 Android Studio 构建了一个简单的体重指数计算器。我们添加了用户界面元素,如 EditText 和 Button,然后添加了计算逻辑。最后,我们构建并运行了应用程序,查看了我们的实现。
(注:本段文字由于采用了Markdown格式,故无法使用机器人直接执行)