#java #android #performance #android-studio #inetaddress
#java #Android #Производительность #android-studio #адрес inetaddress
Вопрос:
У меня проблема с моей программой поиска ip в Java, я импортировал адрес Inet и реализовал задачу async и использовал разрешение в манифесте, но все еще показывает ту же проблему. Ошибка: не удается разрешить узел «[Ljava.lang.Строка;@f1679a5»: Нет адреса, связанного с именем хоста Я просматривал весь Интернет, и некоторые из них говорят, что это проблема с эмулятором, но я могу получить доступ к Интернету на своем устройстве, я сделал все, что они рекомендовали, но до сих пор нет решений.
Вот часть кода:
EditText hostnumber;
TextView output;
Button submit;
ImageView back;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lookup);
back = findViewById(R.id.backlearn);
hostnumber = findViewById(R.id.hostnumber);
output = findViewById(R.id.outputDecimal);
submit = findViewById(R.id.submit);
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Lookup.this, MainActivity.class);
startActivity(intent);
}
});
submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@SuppressLint("StaticFieldLeak") AsyncTask<String, Void, connection.Result<InetAddress>> task = new AsyncTask<String, Void, connection.Result<InetAddress>>() {
// NOTE: this method runs in a background thread, you cannot access the View from here
@Override
protected connection.Result<InetAddress> doInBackground(String... hostnumber) {
connection.Result<InetAddress> resu<
try {
result = new connection.Result.Success(InetAddress.getByName(String.valueOf(hostnumber)));
} catch (UnknownHostException e) {
e.printStackTrace();
result = new connection.Result.Failure(e);
}catch (Exception e) {
result = new connection.Result.Failure(e);
}
return resu<
}
@Override
protected void onPostExecute(connection.Result<InetAddress> result) {
if (result instanceof connection.Result.Success) {
output.setText((CharSequence) ((connection.Result.Success<InetAddress>) result).data);
} else if (result instanceof connection.Result.Failure) {
Throwable error = ((connection.Result.Failure<InetAddress>) result).error;
Toast.makeText(Lookup.this,"Please Check The Address!: " error, Toast.LENGTH_SHORT).show();
}
}
};
task.execute(hostnumber.toString());
};
})
;}
}
class connection extends Activity {
static class Result<T> {
static class Success<T> extends Result<T> {
public T data;
public Success(T data) {
this.data = data;
}
}
static class Failure<T> extends Result<T> {
public Throwable error;
public Failure(Throwable error) {
this.error = error;
}
}
}
Я делаю что-то не так, потому что я так считаю? или какая-то проблема с эмулятором или отладкой со стороны Android Studio. если у вас есть какие-либо решения для этого, я был бы признателен. Заранее спасибо!
Комментарии:
1. Вы тестировали это на реальном телефоне?
2. @navylover Я только что запустил его на реальном устройстве, и та же проблема