Flutter Dev نشر 5 أكتوبر 2022 أرسل تقرير نشر 5 أكتوبر 2022 تحيه طيبه للجميع قمت بعمل تطبيق يحتوي على صفحتين وكل صفحة لديها function بإضافة بيانات في قاعدة البيانات الان مشكلتي انني ارغب بتحكم ب function في الصفحة الثانية من الصفحة الأولى بحيث أقوم بالاتصال بها وجعلها تعمل كيف يمكن فعل ذلك ؟ كود مثال على ذلك: هذا الصفحة الاولى والتي ارغب ممن خلالها ان اتصل مع function في الصفحة الثانية void main() { runApp(MainPage()); } class MainPage extends StatefulWidget { @override _MyAppState createState() => _MyAppState(); } class _MyAppState extends State<MainPage> { TextEditingController NameController = TextEditingController(); Future AddNewData() async { final response = await http.post(Uri.parse("**********", ), body: { "Name": NameController.text, } ); if (response.statusCode == 200) { } else { throw Exception('Send Failed'); } } @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: Column(children: [ TextFormField( controller: NameController, decoration: InputDecoration( border: OutlineInputBorder(), ), ), ElevatedButton( child: Text('add new data'), onPressed: () { AddNewData(); }, ), ],) ), ); } } الصفحة الثانية الصفحة المستهدفة: class secondpage extends StatefulWidget { @override _MyAppState createState() => _MyAppState(); } class _MyAppState extends State<secondpage> { TextEditingController ColorController = TextEditingController(); Future AddNewColor() async { final response = await http.post(Uri.parse("**********", ), body: { "Color": ColorController.text, } ); if (response.statusCode == 200) { } else { throw Exception('Send Failed'); } } @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: Column(children: [ TextFormField( controller: ColorController, decoration: InputDecoration( border: OutlineInputBorder(), ), ), ElevatedButton( child: Text('add new color'), onPressed: () { AddNewColor(); }, ), ],) ), ); } } الان لتوضيح الفكرة اكثر احتاج ان اتصل ب AddNewColor في الزر الموجود في صفحة main page او الصفحة الأولى مثل التالي: ElevatedButton( child: Text('add new data'), onPressed: () { AddNewData(); AddNewColor(); }, ), كيف يمكن فعل ذلك؟ احد عنده فكره؟ 1 اقتباس
1 Ahmed Sadek Elamine Touahria نشر 5 أكتوبر 2022 أرسل تقرير نشر 5 أكتوبر 2022 هذا هو جوهر استعمال state management وأنصحك باستعمال getX تمكنك من : > إدارة المسار: لإنشاء أدوات مثل Snackbar و Bottomsheets ومربعات الحوار وما إلى ذلك. بعد ذلك ، في هذه المرحلة ، يمكننا إشراك GetX فيه لأن GetX يمكنه تجميع هذه الأدوات دون استخدام السياق. > أداء عالٍ: تستخدم GetX أصولًا أقل كما هو متوقع. لا تعتمد على Streams أو ChangeNotifier. عند تساوي كل الأشياء ، فإنه يستخدم GetValue و GetStream المنخفضان للخمول لزيادة تطوير التنفيذ. > كود أقل: قد تكون سئمت من تنفيذ نموذج الكتلة في نمط الكتلة وإهدار طاقة التطوير على أكواد غير ضرورية. الوقت هو المال ، أليس كذلك؟ في GetX ، لن تؤلف أي نموذج معياري. يمكنك إنجاز نفس الشيء بشكل أسرع بكثير ، باستخدام كود أقل في GetX. لا تكلف نفسك عناء إنشاء فصول للولاية والحدث ، لأن هذه النماذج المعيارية غير موجودة في GetX. > لا يوجد توليد للكود: هناك سبب مقنع للحاجة إلى استخدام مولدات الكود بأي وسيلة. لذلك لن يضيع وقتك المهم في التطوير أكثر على تشغيل مولدات الأكواد (build_runner) كلما قمت بتغيير شفرتك. > لا توجد عمليات إعادة بناء غير ضرورية: التعديلات غير المرغوب فيها هي مشكلة تخص مديري الدولة استنادًا إلى ChangeNotifier. عندما تقوم بإدخال تحسين في فئة ChangeNotifier الخاصة بك ، يتم إعادة بناء جميع عناصر واجهة المستخدم التي تعتمد على فئة ChangeNotifier هذه. قد تكون بعض عمليات إعادة البناء غير ضرورية ومكلفة. قد يقلل من أداء التطبيق أيضًا. لا تحتاج إلى التأكيد على هذا في GetX لأنه لا يستخدم ChangeNotifier بأي وسيلة. للمزيد تفحص هذا الرابط الرسمي https://pub.dev/packages/get 2 اقتباس
0 Flutter Dev نشر 5 أكتوبر 2022 الكاتب أرسل تقرير نشر 5 أكتوبر 2022 بتاريخ 2 دقائق مضت قال Ahmed Sadek: هذا هو جوهر استعمال state management وأنصحك باستعمال getX تمكنك من : > إدارة المسار: لإنشاء أدوات مثل Snackbar و Bottomsheets ومربعات الحوار وما إلى ذلك. بعد ذلك ، في هذه المرحلة ، يمكننا إشراك GetX فيه لأن GetX يمكنه تجميع هذه الأدوات دون استخدام السياق. > أداء عالٍ: تستخدم GetX أصولًا أقل كما هو متوقع. لا تعتمد على Streams أو ChangeNotifier. عند تساوي كل الأشياء ، فإنه يستخدم GetValue و GetStream المنخفضان للخمول لزيادة تطوير التنفيذ. > كود أقل: قد تكون سئمت من تنفيذ نموذج الكتلة في نمط الكتلة وإهدار طاقة التطوير على أكواد غير ضرورية. الوقت هو المال ، أليس كذلك؟ في GetX ، لن تؤلف أي نموذج معياري. يمكنك إنجاز نفس الشيء بشكل أسرع بكثير ، باستخدام كود أقل في GetX. لا تكلف نفسك عناء إنشاء فصول للولاية والحدث ، لأن هذه النماذج المعيارية غير موجودة في GetX. > لا يوجد توليد للكود: هناك سبب مقنع للحاجة إلى استخدام مولدات الكود بأي وسيلة. لذلك لن يضيع وقتك المهم في التطوير أكثر على تشغيل مولدات الأكواد (build_runner) كلما قمت بتغيير شفرتك. > لا توجد عمليات إعادة بناء غير ضرورية: التعديلات غير المرغوب فيها هي مشكلة تخص مديري الدولة استنادًا إلى ChangeNotifier. عندما تقوم بإدخال تحسين في فئة ChangeNotifier الخاصة بك ، يتم إعادة بناء جميع عناصر واجهة المستخدم التي تعتمد على فئة ChangeNotifier هذه. قد تكون بعض عمليات إعادة البناء غير ضرورية ومكلفة. قد يقلل من أداء التطبيق أيضًا. لا تحتاج إلى التأكيد على هذا في GetX لأنه لا يستخدم ChangeNotifier بأي وسيلة. للمزيد تفحص هذا الرابط الرسمي https://pub.dev/packages/get اهلا بك اخي الكريم الا توجد طريقة مختلفة بدون استعمل هذا المكتبة اخي؟ اقتباس
1 Ahmed Sadek Elamine Touahria نشر 5 أكتوبر 2022 أرسل تقرير نشر 5 أكتوبر 2022 بتاريخ الآن قال مروان مروان3: اهلا بك اخي الكريم الا توجد طريقة مختلفة بدون استعمل هذا المكتبة اخي؟ لا أخي ، state management تستلزم التعامل مع احد الحزم مثل provider أو getX ....المعتمدة من قبل كبرى الشركات ، ومستحيل أن تجد مطور لايتعامل معها 1 اقتباس
0 Flutter Dev نشر 5 أكتوبر 2022 الكاتب أرسل تقرير نشر 5 أكتوبر 2022 بتاريخ الآن قال Ahmed Sadek: لا أخي ، state management تستلزم التعامل مع احد الحزم مثل provider أو getX ....المعتمدة من قبل كبرى الشركات ، ومستحيل أن تجد مطور لايتعامل معها تشكر كثير اقتباس
0 Flutter Dev نشر 5 أكتوبر 2022 الكاتب أرسل تقرير نشر 5 أكتوبر 2022 اخي @Ahmed Sadek كيف ممكن أوصل للفكش في الصفحة الثانية من خلال getX ؟ ممكن شرح مختصر لو عندك فكره اقتباس
1 Ahmed Sadek Elamine Touahria نشر 5 أكتوبر 2022 أرسل تقرير نشر 5 أكتوبر 2022 بتاريخ الآن قال مروان مروان3: اخي @Ahmed Sadek كيف ممكن أوصل للفكش في الصفحة الثانية من خلال getX ؟ ممكن شرح مختصر لو عندك فكره هذا موضوع طويل أخي . من غير الممكن شرحه هنا حاول ان تبحث عن طريقة عملها وإن شاء الله رح تطور كثير ، لأنها أساس العمل في أي تطبيق 1 اقتباس
السؤال
Flutter Dev
تحيه طيبه للجميع
قمت بعمل تطبيق يحتوي على صفحتين وكل صفحة لديها function بإضافة بيانات في قاعدة البيانات
الان مشكلتي انني ارغب بتحكم ب function في الصفحة الثانية من الصفحة الأولى بحيث أقوم بالاتصال بها وجعلها تعمل
كيف يمكن فعل ذلك ؟
كود مثال على ذلك: هذا الصفحة الاولى والتي ارغب ممن خلالها ان اتصل مع function في الصفحة الثانية
الصفحة الثانية الصفحة المستهدفة:
الان لتوضيح الفكرة اكثر احتاج ان اتصل ب AddNewColor في الزر الموجود في صفحة main page او الصفحة الأولى مثل التالي:
ElevatedButton( child: Text('add new data'), onPressed: () { AddNewData(); AddNewColor(); }, ),
كيف يمكن فعل ذلك؟ احد عنده فكره؟
6 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.