【发布时间】:2018-05-15 15:05:15
【问题描述】:
我想在 Android Studio 中使用 AsyncTask 编写一个斐波那契应用程序。虽然我的应用程序没有错误,但当我运行它时,它会显示:“MyApplication 已停止!”。谁能指出我的错误? 我在这里包含了java代码。 提前致谢。
package com.example.asus.myapplication;
public class fibonacci
extends AppCompatActivity
implements View.OnClickListener {
private Button SolveButton;
private EditText Number;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fibonacci);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Number = (EditText) findViewById(R.id.editText);
Number.setOnClickListener(this);
SolveButton = (Button) findViewById(R.id.button);
SolveButton.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch(view.getId()) {
case R.id.button: {
double i =
Double.parseDouble(Number.getText().toString());
new fibonacci_thread().execute(i);
break;
}
}
}
public class fibonacci_thread
extends AsyncTask<Double, Void,
Double> {
double s1 = 0;
double s2 = 1;
double s3 = 0;
@Override
protected Double doInBackground(Double... params) {
for(double k = 3; k <= params[0]; k++) {
s3 = s1 + s2;
s1 = s2;
s2 = s3;
}
return s2;
}
@Override
public void onPostExecute(Double result) {
EditText textView = (EditText) findViewById(R.id.editText2);
String yourDoubleString = String.valueOf("Result: " +
result);
textView.setText(yourDoubleString);
}
@Override
protected void onPreExecute() {
}
@Override
protected void onProgressUpdate(Void... values) {
}
}
}
这是我在使用 Genymotion 在“自定义电话 - 7.1.0 - API 25 - 768x1280”上安装应用程序期间的事件日志: 上午 12:14 Genymotion:设备 [自定义电话 - 7.1.0 - API 25 - 768x1280]:开始
12:15 AM 执行任务:[:app:assembleDebug]
12:15 AM Gradle 构建在 6 秒 61 毫秒内完成
12:15 AM Instant Run 执行了完整的构建和安装,因为 设备上的安装与磁盘上的本地构建不匹配。 (不再显示)
12:15 AM 无法为调试器绑定到本地 8623
【问题讨论】:
-
显示 logcat 异常,这会让你的应用崩溃。
-
请更新您的问题并添加
Log。 -
have one button for execution好的。但是您的应用程序何时崩溃? -
String.valueOf("Result: " + result);???那看起来不太好。你也可以使用"Result: " + result; -
给我你的显示器或 Logcat 日志