I'm using this link from the coinapi web but it gives real time data I want a data when I press a button need solution or coinapi link I've read the coinapi complete documentation but I cant find any solution over there need a link or solution that gives me data when I clicked a button or when I require some data from coinapi.
code here:
class _MainPageState extends State<MainPage> {
double dollars;
String selectedValue = "USD";
List<DropdownMenuItem> getDropDown() {
List<DropdownMenuItem<String>> menuItems = [];
for (String items in list) {
var item = DropdownMenuItem(
child: Text(items),
value: items,
);
menuItems.add(item);
}
return menuItems;
}
@override
void initState() {
// TODO: implement initState
super.initState();
getNetData();
}
void getNetData() async {
HTTP.Response response = await HTTP.get(
'https://rest.coinapi.io/v1/exchangerate/BTC/USD?apikey=myKey';
if (response.statusCode == 200) {
setState(() {
dollars = jsonDecode(response.body)['rate'];
});
} else
print('Error');
}
@override
Widget build(BuildContext context) {
getNetData();
getDropDown();
return Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Expanded(
child: Padding(
padding: EdgeInsets.all(20.0),
child: Container(
child: Card(
color: Colors.lightBlue,
child: ListTile(
title: Text(
'1 BTC = $dollars USD DOLLAR',
textAlign: TextAlign.center,
),
),
),
),
),
),
],
),
Row(
children: <Widget>[
Expanded(
child: Container(
height: 150.0,
color: Colors.lightBlue,
child: Center(
child: DropdownButton(
value: selectedValue,
items: getDropDown(),
onChanged: (value) {
setState(() {
selectedValue = value;
});
},
),
),
),
),
],
),
],
);
}
}