Flutter
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:dio/dio.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:http/http.dart' as http;
class Machine extends StatefulWidget {
@override
_Machine createState() => _Machine();
}
class _Machine extends State<Machine> {
var httpDataOrders;
final String machineApi ="http://e4.altay.com.tr/svc/api/Machine/GetList";
final dio = new Dio(); // for http requests
bool isLoading=true;
List<String> machineList = [];
Widget _appBarTitle = new Text('Makina Listesi');
Icon _searchIcon = new Icon(Icons.search);
@override
void initState() {
this.getFilteredOrdersByCompany();
// timer = Timer.periodic(Duration(seconds: 60), (Timer t) => getJsonDataOrders());
}
Future<String> getFilteredOrdersByCompany() async{
isLoading=true;
var filteredList=[];
SharedPreferences prefs=await SharedPreferences.getInstance();
var token= prefs.getString("URIZ");
String realToken=token.toString();
int len=(realToken.length)-1;
var response = await http.get(
machineApi,
headers: {"Authorization":"Bearer "+realToken.substring(1,len)}
);
if (response.statusCode == 200) {
var convertDataToJson = json.decode(response.body);
this.httpDataOrders=convertDataToJson;
for(var item in this.httpDataOrders){
filteredList.add(item);
}
setState(() {
if(filteredList.length!=0){
this.httpDataOrders=filteredList;
isLoading=false;
}
else{
this.httpDataOrders=convertDataToJson;
isLoading=false;
}
});
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: _buildBar(context),
body: ListView(
scrollDirection: Axis.vertical,
children: <Widget>[
Padding(
child: ListView.builder
(
itemCount: this.httpDataOrders.length,
itemBuilder: (BuildContext context, int index) {
return (
padding: const EdgeInsets.all(16.0),
child: Container(
child: new FittedBox(
child: Material(
color: Colors.white,
elevation: 14.0,
borderRadius: BorderRadius.circular(24.0),
shadowColor: Color(0x802196F3),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Container(
child: Padding(
padding: const EdgeInsets.only(left: 16.0),
child: myDetailsContainer1(index),
),
),
Container(
width: 200,
height: 150,
child: ClipRRect(
borderRadius: new BorderRadius.circular(45.0),
child: Image(
fit: BoxFit.contain,
alignment: Alignment.topRight,
image: AssetImage(
"images/Bukum.jpeg"),
),
),),
],)
),
),
),
);
);
}
],
),
);
);
}
Widget myDetailsContainer1(int index) {
return Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: <Widget>[
Padding(
padding: const EdgeInsets.only(left: 8.0),
child: Container(child: Text(this.httpDataOrders[index]["Name"]+ "\n",
style: TextStyle(color: Color(0xffe6020a), fontSize: 26.0,fontWeight: FontWeight.bold),)),
),
Container(child: Text(this.httpDataOrders[index]["WorkstationId"]!=null?this.httpDataOrders[index]["WorkstationId"].toString():"Null"+ "\n",
style: TextStyle(color: Colors.black, fontSize: 22.0,fontWeight: FontWeight.bold),)),
Container(child: Text("Marka ve Model",
style: TextStyle(color: Colors.black54, fontSize: 20,),)),
Container(child: Text(this.httpDataOrders[index]["Model"]!=null?this.httpDataOrders[index]["Model"].toString():"Null",
style: TextStyle(color: Colors.black54, fontSize: 18.0,fontWeight: FontWeight.bold),)),
],
);
}
)
}
)
Widget _buildBar(BuildContext context) {
return new AppBar(
centerTitle: true,
title: _appBarTitle,
leading: FlatButton(
onPressed: () => Navigator.of(context).pop(true),
child: new Icon(Icons.arrow_back, color: Colors.white),
),
);
}
//
// void _searchPressed() {
// setState(() {
// if (this._searchIcon.icon == Icons.search) {
// this._searchIcon = new Icon(Icons.close);
// this._appBarTitle = new TextField(
// decoration: new InputDecoration(
// prefixIcon: new Icon(Icons.search),
// hintText: 'Search...'
// ),
// );
// } else {
// this._searchIcon = new Icon(Icons.search);
// this._appBarTitle = new Text('Search Example');
// }
// });
// }
}
Kodun tamamı bu şekilde dediğiniz şekilde yapmaya çalıştım hatalar veriyor bakabilir misiniz hocam?