我正在Android Studio中开展一个学校项目,到目前为止,我已经编写了一个生成随机方程式的代码,然后在textview中显示这个等式。这是代码:
String[] operationSet = new String[]{"+", "-", "/", "*"};
Random random = new Random();
int numOfOperations = random.nextInt(2) + 1;
List<String> operations = new ArrayList<>();
for (int i = 0; i < numOfOperations; i++) {
String operation = operationSet[random.nextInt(4)];
operations.add(operation);
}
int numOfNumbers = numOfOperations + 1;
List<Integer> numbers = new ArrayList<>();
for (int i = 0; i < numOfNumbers; i++) {
int number = random.nextInt(10)+1;
numbers.add(number);
}
String equation = "";
for (int i = 0; i < numOfOperations; i++) {
equation += numbers.get(i);
equation += operations.get(i);
}
equation += numbers.get(numbers.size() -1);
TextView TextEquation = (TextView)findViewById(R.id.textView3);
TextEquation.setText(equation);
String stringResultOfEquation = String.valueOf(equation);
// Resultat der Rechung berechnen
double doubleAnswer = eval(stringResultOfEquation);
String stringAnswer = Double.toString(doubleAnswer);
TextView textAnswer = (TextView)findViewById(R.id.textView4);
textAnswer.setText(stringAnswer);
到目前为止,我已尝试使用TimerTask命令:
TimerTask timerTaskWaiting = new TimerTask() {
@Override
public void run() {
}
};
Timer timerwaiting = new Timer();
timerwaiting.schedule(timerTaskWaiting, 5000);
我已经将“等式生成器代码”放入“public void run(){...}”中,但是当我试用它时应用程序崩溃了。
我现在的问题是,如果有一种简单的方法可以在一定时间(例如5秒)之后生成方程式,我的意思是,我希望方程式将在应用程序启动后5秒生成。
如果我的问题中有任何不清楚的地方,请随时提出,我会尽力澄清问题:)
提前感谢您的帮助!
答案 0 :(得分:1)
这段代码应该足以让您了解您需要做什么。显然,还有其他方法可以实现这一目标。
handler = this.handlerByIntent[string.Empty];
答案 1 :(得分:0)
使用RxJava库,它是组织周期性任务的非常简单的工具。