73- Flutter Networking-http - introduction to network packages, fetch data from the internet(Arabic)
HTML-код
- Опубликовано: 18 июн 2020
- In this lecture we will talk about the following
-Introduction to flutter networking packages
-Fetch data from the internet using the http package
1- Add the http package.
2- Make a network request using the http package.
3- Convert the response into a custom Dart object.
4- Fetch and display the data with Flutter.
source code
github.com/code2start/Flutter...
اشتغلت معايا
شكرا على الكورس واصل تالقك
نتمنى أن تكمل هذه السلسلة الممتازة
بالتوفيق
The Best Instructor in flutter and dart
والله شرح فوق الممتاز ربنا يديك الف صحة وعافية ... متنساش Google Map
ربنا يبارك لك في كل شيء ,, شكرا
بامانة انت افضل حد شرح فلاتر بالعربي و ببساطة و بكل تواضع ربنا يوفئك ومزيد من التقدم ومحتاجين شرح باك اند على الفاير بيز واى حاجة تانية غير دارت لان المجتمع بتاعها ضعيف و لما بتقابلنى مشكلة بعانى ع اوصل لحلها
بارك الله فيك استاذنا
تسلم ربنا يبارك فيك
منتظرين دعمك بنشر القناه وهنالك المزيد من الكورسات
رائع جدا
شرحك جميل جد بجد شكرا
نرجو دعمنا بنشر القناه
good
لو سمحت يبشمهندس ،، دلوقتي احنا كان عندنا ف الhome اللي هيتعرض Text واحد بس وحطينا جواه حاجه من الداتا تم باستخدام ال FutureBuilder() ،، طيب دلوقتي لو عندي كذا ويدجت هتاخد حجات من الداتا هستخدم برضو في كل ويدجت من دي FutureBuilder() واعملها كل الconditions دي كل مره!!؟
يعني لكي اكمل السلسلة يجب علي مشاهدة سلسلة ال aqueduct ؟ يوجد الكثيد من المصطلحات الجديدة علي هل هي مشروحة في تلك السلسلة يعني ؟
مفهمتش الجزء بتاع moodel ازاى اتعامل مع data من غير متستخدم ال constractor
ازاى اقدر استخدم BlocProvider مع routes و initialRoute فى main file ؟؟
هتبقا هي هي لو استخدمت static
بدل factory
صح؟
السلام عليكم عندي استفسار يا هندسة انت حاطط قي الكونستركتر map ازاي حطيت الداتا اللي راجعه وهي ليست من ماب
عرفت حلها ولا لاعشان عندى نفس الerror ؟؟
استاذ هذا الدرس تابع لاي مجموعة ؟ هل لمجموعة الapi ام للstate mang ؟
قائمه جديده رقم 12 باسم
networking and api
Code 2 Start
سلسلة الstate manag لم تكتمل بعد ماذا عنها ؟ موضوع البروفايدر لم يتم شرحه ؟
@@noorm5698 أنا فاهم ذلك بس في اشياء مشتركه مابين networking and state أن شاء الله سوف اكمل الكل
ننتظر دعمكم لنا بنشر القناه
شكر بش مهندس يعطيك العافية بس يا ريت لو في محتوى عربي يطبق على دوت نت كور ما يكون api جاهز بل يتم عمله عن طريق الدوت نت كور في الجهاز نفسه او جهاز على الشبكة
استاذ
شكرا ع الفيديو الرائع و الشرح الواضح بس طلعلي ال error دا في الكود لما عملت
Future postData;
ال error في postData و بيطلب اني اضيف Late قبل Future
لما بضيفها و باعمل run بيديني error و ال Text مش بيظهر
LateInitializationError : Field 'postData' has not been initialized
السلام عليكم ممكن طلب صغير عاوزين كام درس عن تعدد اللغات لتطبيق الفلاتر يعني التطبيق يبقى عربي وانجليزي مثلاً اكون شاكر لحضرتك لو استخدمت فى شرحك ال Localization مش third party
حاضر باذن الله
Code 2 Start
تسلملنا يا امير 😇
حضرتك مش ناوي تكمل سلسلة asp.net core اللي بدأتها بحلقتين
يا ريت تكملها
ان شاء الله انا محضر لها شغل كويس جدا مع الانجولر وقريبا هنبدء
@@Code2Start ربنا يفتح عليك
منتظرها ان شاء الله
بارك الله بيك استاذ وجزاك الله خير الجزاء
عايز شرح لمكتبة dio
ممكن تنزال على dio فيديوهات ذى http وchopper
انا حاسس اني هستفاد جدا من الدروس دي
ممكن فديو يوضح ازاى ارفع صوره باستخدام http flutter api
ان شاء الله عندم يتاح الباك اند سوف نقوم بشرحها
@@Code2Start حضرتك هتشرح باكيند امتا ؟ و هل هتبقا بالفايربيز ؟؟
جزاك الله خيرا شرح رائع وبسيط 👍❤
مشكبة الوحيدة لى واجهتني يجب تعديل بعد عناصر في الكود بسبب التوافقية للتحذيتاث
Old Code Replace With
http.get(someString) http.get(Uri.parse(someString))
http.post(someString) http.post(Uri.parse(someString))
full code :
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
main() => runApp(my_app());
class my_app extends StatelessWidget {
const my_app({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Home(),
);
}
}
class Home extends StatefulWidget {
const Home({super.key});
@override
State createState() => _HomeState();
}
class _HomeState extends State {
@override
initState() {
super.initState();
getPostById();
}
Future getPostById() async {
http.Response FuturePost = await http
.get(Uri.parse('jsonplaceholder.typicode.com/posts/100'));
if (FuturePost.statusCode == 200) {
print(FuturePost.body);
return FuturePost;
} else {
throw Exception('can not load post data');
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('flutter @ university'),
),
body: Center(
child: Text('WElcome ...'),
),
);
}
}
jsonn post/100 response :
flutter: {
"userId": 10,
"id": 100,
"title": "at nam consequatur ea labore ea harum",
"body": "cupiditate quo est a modi nesciunt soluta
ipsa voluptas error itaque dicta in
autem qui minus magnam et distinctio eum
accusamus ratione error aut"
}
post.dart code @ model folder : (add required to avoid non nullable problem)
class Post {
int id;
int userId;
String title;
String body;
Post(
{required this.id,
required this.userId,
required this.title,
required this.body});
factory Post.fromJson(Map json) {
return Post(
id: json['id'],
userId: json['userId'],
title: json['title'],
body: json['body']);
}
}
posting data to body 2:
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'package:my_app/model/post.dart';
main() => runApp(my_app());
class my_app extends StatelessWidget {
const my_app({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Home(),
);
}
}
class Home extends StatefulWidget {
const Home({super.key});
@override
State createState() => _HomeState();
}
class _HomeState extends State {
late Future postData;
@override
initState() {
super.initState();
postData = getPostById();
}
Future getPostById() async {
http.Response FuturePost = await http
.get(Uri.parse('jsonplaceholder.typicode.com/posts/1'));
if (FuturePost.statusCode == 200) {
//print(FuturePost.body);
return Post.fromJson(json.decode(FuturePost.body));
} else {
throw Exception('can not load post data');
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('flutter @ university'),
),
body: Center(
child: FutureBuilder(
future: postData,
builder: (context, snapshot) {
if (snapshot.hasData) {
return Text(snapshot.data!.title);
} else if (snapshot.hasError) {
return Text("${snapshot.error}");
}
return CircularProgressIndicator();
}),
),
);
}
}
@@SoSo11 شكرا الك كثير يا بشمهندس لان
null safety عاملة ازمة بالكود