Android应用程序:Android Studio-公式计算器
我想为min.-Version2制作一个简单的Android应用程序供本地使用。问题是我从未制作过Android应用程序。我现在已经安装了Android Studio和SDK工具,但在创建空白应用程序项目时会出错。事实上,我是一名VB.NET程序员,我也知道C#,PHP,但我以前从未为智能手机做过任何事情 我需要的是一个简单的计算器,它有两个文本框(例如,Android应用程序:Android Studio-公式计算器,android,sdk,Android,Sdk,我想为min.-Version2制作一个简单的Android应用程序供本地使用。问题是我从未制作过Android应用程序。我现在已经安装了Android Studio和SDK工具,但在创建空白应用程序项目时会出错。事实上,我是一名VB.NET程序员,我也知道C#,PHP,但我以前从未为智能手机做过任何事情 我需要的是一个简单的计算器,它有两个文本框(例如,txt1(a)和txt2(b),作为双精度输入)、一个计算按钮和一个结果字段(作为双精度输入)。。请参见下面的示例图片 当聚焦文本框时,必须
txt1
(a)和txt2
(b),作为双精度输入)、一个计算按钮和一个结果字段(作为双精度输入)。。请参见下面的示例图片
当聚焦文本框时,必须出现一个数字键盘(如计算器),并带有一个小数点按钮。当我点击结果按钮时,输出必须按照以下公式计算和打印:
谁能告诉我怎么做?或者有人能告诉我在哪里写代码让这个应用程序工作吗
谢谢。因此,首先您需要了解android布局XML文件的工作原理。然后添加4项:2个
EditText
s开始,然后添加一个按钮
和文本“计算”,最后再添加一个EditText
。为所有这些设置一些ID(即text1、text2、按钮、输出)。另外,不要忘记将所有项目设置为“布局宽度”为“匹配父项”,而“布局高度”为“换行内容”(用于根据需要显示) 然后在主活动类中,在on
onCreate(Bundle savedInstanceState)
中:
希望我能帮忙,如果有任何错误,请通知我 由于使用了普通(而非数字)键盘,在分配a和b之前是否可以通过以下代码:
char separator=Globalization.CultureInfo.currentcurity.NumberFormat.NumberDecimalSeparator;if(separator='.'){text1.value.replace(“,”,”);text2.value.replace(“,”,“)}else if(separator='.',”){text1.value.replace(“,”,”);text2.value.replace(“,”,”);}
。。。因为人们在输入4.0和5.0时会犯严重错误,而不是4,0和5,0。我已经在Windows桌面版的应用程序中完成了这项工作,最后result=Math.round(Math.sqrt(result),3)代码>也可能?@LowLevel No,我们不需要所有分隔符,因为在我设置的代码中:setInputType(InputType.TYPE\u CLASS\u NUMBER | InputType.TYPE\u NUMBER\u FLAG\u DECIMAL)
这意味着数字始终是有效的十进制数字,除非它是空的(我现在正在更新代码)@LowLevel没有Math.round(result,3)
,但您可以使用((double)Math.round(result*1000))/1000
我仍然收到一条错误消息:aidl丢失。我试着先把它修好。谢谢你的回复。
final EditText text1 = (EditText) findViewById(R.id.text1);
final EditText text2 = (EditText) findViewById(R.id.text2);
final EditText output = (EditText) findViewById(R.id.output);
text1.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
text2.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
output.setEditable(false);
Button calculate = (Button) findViewById(R.id.button);
calculate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (text1.getText().isEmpty() || text2.getText().isEmpty()) return;
double text1Value = Double.valueOf(text1.getText().toString());
double text2Value = Double.valueOf(text2.getText().toString());
double a, b;
if (text1Value > text2Value) {
a = text1Value;
b = text2Value;
} else {
a = text2Value;
b = text1Value;
}
double result = (a*a - b*b) / 4;
result = Math.sqrt(result);
output.setText(String.valueOf(result));
}
});