Сообщение об ошибке «имя хоста не может быть пустым» в Android Studio обычно появляется, когда вы пытаетесь установить сетевое соединение, а имя хоста не указано или пусто. Чтобы решить эту проблему, вы можете попробовать следующие методы:
Метод 1. Проверьте разрешения на сетевое подключение.
Убедитесь, что в файле AndroidManifest.xml у вас есть необходимые разрешения для доступа к Интернету. Добавьте следующую строку в файл манифеста, если ее еще нет:
<uses-permission android:name="android.permission.INTERNET" />Метод 2: проверка имени хоста
Убедитесь, что вы указываете действительное имя хоста для установления сетевого подключения. Имя хоста не должно быть пустым и должно содержать правильный домен или IP-адрес.
Вот пример того, как задать имя хоста с помощью класса HttpURLConnection:
try {
    URL url = new URL("https://example.com"); // Replace with your hostname
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    // Perform network operations...
} catch (IOException e) {
    e.printStackTrace();
}Метод 3. Проверка доступности сети
Перед установкой сетевого подключения убедитесь, что сеть доступна. Вы можете использовать класс ConnectivityManagerдля проверки доступности сети. Вот пример:
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
    // Network is available, proceed with network operations...
} else {
    // Network is not available
}Метод 4. Проверьте разрешение Интернета во время выполнения.
Начиная с Android 6.0 (Marshmallow), вам необходимо запросить разрешение INTERNETво время выполнения. Вот пример того, как проверить и запросить разрешение, если оно не предоставлено:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.INTERNET) != PackageManager.PERMISSION_GRANTED) {
    // Permission is not granted, request it
    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.INTERNET}, requestCode);
} else {
    // Permission is already granted, proceed with network operations...
}Не забудьте обрабатывать ответ на запрос разрешения в методе onRequestPermissionsResult()вашего действия.