Я не очень хорошо разбираюсь в кодировании, но меня заставили сделать приложение для спидометра, использующее Java, для моего класса робототехники. Есть много ошибок, и я просто не уверен, как их исправить.
Некоторые из точных проблем:
1: location.setUseMericUnits(this.useMetricUnits());
nCurrentSpeed = location.getSpeed()
useMetricUnits подчеркнуто красным, говоря: «не удается разрешить метод» useMetricUnits () '
2: if(this.useMetricUnits()){
tv_speed.setText(strCurrentSpeed + " km/h");
У него такая же проблема с useMetricUnits
3: private boolean useMetricUnits() {
return Sw_metric.isChecked();
useMetricUnits () говорит: ; expected and return Sw_metric.isChecked() says cannot return a value from a method with a void result type
4: @Override
public void onRequestPermissionsResult(int requestCode,@NonNull String[] permissions,
@NonNull int[] grantResults) {
@ Override говорит, что аннотации здесь не разрешены, (int request говорит; ожидается, а @NonNull говорит, что идентификатор ожидается для них обоих
private void updateSpeed(CLocation location){
float nCurrentSpeed = 0;
if(location != null){
location.setUseMericUnits(this.useMetricUnits());
nCurrentSpeed = location.getSpeed();
}
Formatter fmt = new Formatter(new StringBuilder());
fmt.format(Locale.US, "%5.1" , nCurrentSpeed);
String strCurrentSpeed = fmt.toString();
strCurrentSpeed =strCurrentSpeed.replace(" ", "0");
if(this.useMetricUnits()){
tv_speed.setText(strCurrentSpeed + " km/h");
}
else {
tv_speed.setText(strCurrentSpeed + " mp/h");
}
private boolean useMetricUnits() {
return Sw_metric.isChecked();
}
@Override
public void onRequestPermissionsResult(int requestCode,@NonNull String[] permissions,
@NonNull int[] grantResults) {
if(requestCode == 1000) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
doStuff();
} else {
finish();
}
}
}
}}
Это должен быть спидометр, и я не уверен, что не так с кодом.