Необработанное исключение: не удалось выполнить поиск хоста: «https:myexampleapi.com»Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Необработанное исключение: не удалось выполнить поиск хоста: «https:myexampleapi.com»

Сообщение Anonymous »

У меня есть API, который предоставляет мне данные каждый раз, когда я отправляю запрос POST с двумя ключами: u и pw.
Структура данных API выглядит следующим образом:

Код: Выделить всё

{
"status": "done",
"coins": 123456,
}
Кроме того, это Виджет с отслеживанием состояния, который я создал.
Это кнопка с некоторыми настраиваемыми атрибутами.

Код: Выделить всё

class LigoButton extends StatefulWidget {
final String text;
final double width;
final double height;
final VoidCallback ontap;

const LigoButton({
super.key,
required this.text,
required this.width,
required this.height,
required this.ontap,
});

@override
State createState() => _LigoButtonState();
}

class _LigoButtonState extends State  {
bool isLoading = false;

@override
Widget build(BuildContext context) {
return Container(
width: widget.width,
height: widget.height,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(30.0),
gradient: const LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Color(0xffFEAC5D),
Color(0xffF43469),
],
),
),
child: Material(
color: Colors.transparent,
borderRadius: BorderRadius.circular(30.0),
child: InkWell(
onTap: () async {
if (isLoading) return;

setState(() {
isLoading = true;
});

widget.ontap();

await Future.delayed(const Duration(seconds: 1));

setState(() {
isLoading = false;
});
},
borderRadius: BorderRadius.circular(30.0),
child: Center(
child: isLoading
? const SizedBox(
width: 20.0,
height: 20.0,
child: CircularProgressIndicator(
color: Colors.white,
),
)
: Text(
widget.text.tr,
style: const TextStyle(
color: Colors.white,
fontSize: 17.0,
fontFamily: 'Lalezar',
fontWeight: FontWeight.normal,
),
),
),
),
),
);
}
}
Я использовал свой виджет в основном коде и отправляю запрос POST, как показано ниже:

Код: Выделить всё

LigoButton(
text: 'checkDepository',
width: 120.0,
height: 50.0,
ontap: () async {
var adminID = adminIDController.text;
var adminPassword = adminPasswordController.text;

final response = await http.post(
Uri.parse("https://myexampleapi.com"),
headers: {
"Content-Type": "application/json",
},
body: jsonEncode({
'u': adminID,
'pw': adminPassword,
}),
);

var coins = jsonDecode(response.body);

LigoStatus.status = response.statusCode == StatusCode.OK
? 'OK'
: 'ERROR';

setState(
() {
totalCoinContainer = Container(
width: 200.0,
height: 50.0,
decoration: BoxDecoration(
color: Colors.transparent,
border: Border.all(
color: Colors.green,
width: 1.5,
),
borderRadius: BorderRadius.circular(30.0),
),
child: Center(
child: Text(
coins['coins'],
style: const TextStyle(
color: Colors.green,
fontSize: 18.0,
fontFamily: 'Lalezar',
fontWeight: FontWeight.normal,
),
),
),
);
},
);
},
),
),
И каждый раз, когда я нажимаю на виджет LigoButton, появляется эта ошибка.

Код: Выделить всё

E/flutter ( 6068): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Failed host lookup:  'myexampleapi.com'
Буду признателен, если вы дадите мне ответ или что-нибудь, что может мне в этом помочь.

Подробнее здесь: https://stackoverflow.com/questions/783 ... pleapi-com
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»