Я хотел сделать калькулятор легко.
Поэтому я решил использовать носорога.
Я добавил эту строку в приложение Gradle.
реализация 'io.apisense: rhino-android: 1.0'
и вот мой метод нажатия кнопки
public void onButtonOkOnClicked(View view) throws ScriptException {
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("JavaScript");
TextView tv = (TextView) findViewById(R.id.tv_number);
tv.setText(engine.eval(tv.getText().toString()).toString());
}
но мое приложение останавливается, когда я нажимаю кнопку.
Как я могу использовать метод eval?
Причина: java.lang.reflect.InvocationTargetException
Причина: java.lang.NullPointerException: попытка вызвать метод интерфейса 'java.lang.Object javax.script.ScriptEngine.eval (java.lang.String)' для ссылки на пустой объект
Я нашел другое решение.
LINK