اذهب إلى المحتوى

Flutter Dev

الأعضاء
  • المساهمات

    787
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    2

كل منشورات العضو Flutter Dev

  1. تحيه طيبه للجميع لدي استفسار لو تكرمتم كيف ممكن نعمل مقارنة قيم مختلفة في widget flutter ك مثال التالي: snapshot.data[index]['LastDate'] >= DateFormat('dd-MM-yyy').format(DateTime.now()) حاولت اعمل كذا بس احصل على الخطاء التالي: Class 'String' has no instance method '>='. Receiver: "23-10-2022" Tried calling: >=("20-09-2022") كيف يمكن فعل ذلك؟
  2. لقد نجح الامر كل الشكر لك اخي الكريم أيضا تم حل المشكلة السابقة ولكني لا استطيع حذف مشاركتي كل الشكر لك اخي
  3. مرحبا اخي الكريم شاكر لك ردك عزيزي حقيقه انني فكرت في الفكرة مسبقا ولكني لم اعرف طريقة تطبيقها لا اعلم ولكنها تلعب في عقلي لعب اذا كانت لديك فكره في الاستعلامات هل يمكنك مساعدتي في هذا السطر لو تكرمت: $sql = "SELECT * FROM Notifications LEFT JOIN IsWatchedNotifications ON Notifications.NotificationsID = IsWatchedNotifications.NotificationsID where "; مع العلم ان جدول الاشعارات الأساسي هو Notifications وهو يحتوي فقط تفاصيل الاشعارات العامة اما الجدول الثاني هو IsWatchedNotifications وهو يحتوي على id المستخدم + id الاشعارات كيف يمكنني جمع العلاقة الان بينهم اذا كانت لديك فكره في هذا الامر
  4. تحيه طيبه للجميع لدي استفسار لو تكرمتم لمن سبق وان عمل على هذا الخاصية على موقع او تطبيق هاتف نقال انا قمت بعمل جدول في قاعدة من نوع MySQL يحتوي على الـ Body + title+ date لحفظ اشعارات التطبيق العامة التي يتم ارسالها من قبل إدارة التطبيق مثل التهنئة في حالة المناسبات او التنبيهات العامة وما شابه .. الخ. المشكلة الان : هذا الاشعارات تصل الى جميع مستعملين التطبيق وانا ارغب بعمل خاصية IsWatched + Badges بحيث يكون فيه تنبيه للمستخدم لو لم يقم بمشاهدة هذا الاشعار الجديد ولكن المشكلة ان هذا الاشعار تم ارساله الى جميع المستعملين كيف ممكن اسجل او احفظ من قام بمشاهدة هذا التنبيه كيف هيا الفكرة العامة حتى أقوم بإدارة هذا الامر؟ ك مثال في حالة ارسال اشعار الى مستخدم واحد كان الامر بسيط ممكن إضافة خانة مرتبطة بمعرف المستخدم + IsWatched وينتهي الامر ولكن كيف نعمل في الحالة أعلاه مع مستخدمين متعددين؟ ما هيا الحلول المتوفره؟ شكرا لكم
  5. اهلا اخي الكريم حقيقه كنت أحاول عمل اختصار لصفحات الاستعلام ولكن مثل ما ذكرت انت الفكرة أصبحت اصعب قليلا كنت اريد اعمل left join من الجدولين حيث انني لدي الجدول الأول المشار له في المشاركة أعلاه + جدول المفضلة ولكني تراجعت بعد تعقيد الفكرة وقمت بوضع استعلام لجدول المفضلة بشكل منفصل حتى لا يكون استعمله في مواقع مختلفة في التطبيق معقد كل الشكر لك اخي الكريم
  6. اهلا اخي الفكرة انني سوف اجلب favorite من جدول ال favorite لو كان تم إضافة favorite للكتاب ولو لم يكن تم عمل favorite له يعمل skip له
  7. مرحبا اخي الكريم قمت بوضع الكود بشكل التالي: <?php require_once 'con.php'; $id='14'; $isTouch = isset($Uid); if (isset($Uid)) { $sql="SELECT * FROM books where id = ? AND Uid=? " ; }else { $sql="SELECT * FROM books where id = ?" ; } $stmt = $con->prepare($sql); $stmt->bind_param("ss",$id,$Uid); $stmt->execute(); $result = $stmt->get_result(); if ($result->num_rows >0) { while($row[] = $result->fetch_assoc()) { $item = $row; $json = json_encode($item, JSON_NUMERIC_CHECK); } } else { $json = json_encode(["result" => "No Data Foun"]); } echo $json; $con->close(); ?> ولكني احصل على الخطاء التالي: Warning: mysqli_stmt::bind_param(): Number of variables doesn't match number of parameters in prepared statement in /home/home/****************php on line 30 on line 22 Notice: Trying to get property 'num_rows' of non-object in /home/****************php on line 30 {"result":"No Data Foun"}
  8. قمت بوضع استعلام ويحتوي على شرطين WHERE احتاج ان اجعل الكود يعمل بشكل صحيح لو تحقق اول شرط ولم يتحقق الشرط الثاني بمعنى واحد اجباري وثاني اختياري بمعنى انا قمت بوضع الشرط الأول وهو جلب البيانات التي id لها يساوي كذا هذا شرط اجباري طبعا اما الثاني اجلب لي الداتا التي لونها اخضر مثلا هذا شرط اختياري حتى لو المستخدم لم يقم بأرساله الى ملف php الملف يجب ان يعمل بشكل صحيح الكود المستعمل كالتالي: <?php require_once 'con.php'; $id=$_GET['id']; $Uid=$_GET['Uid']; $sql="SELECT * FROM books where id = ? AND Uid=? " ; $stmt = $con->prepare($sql); $stmt->bind_param("ss",$id,$Uid); $stmt->execute(); $result = $stmt->get_result(); if ($result->num_rows >0) { while($row[] = $result->fetch_assoc()) { $item = $row; $json = json_encode($item, JSON_NUMERIC_CHECK); } } else { $json = json_encode(["result" => "No Data Foun"]); } echo $json; $con->close(); ?> الشرط الأول هذا يجب ان يكون اجباري او الملف لن يعمل : $id=$_GET['id']; اما الشرط الثاني وهو الاختياري لا يهم الملف استقبله او لا وفي حالة استقباله يتم تنفيذه $Uid=$_GET['Uid']; كيف يمكن عمل ذلك ؟ هل توجد طريقة
  9. اهلا اخي الكريم مع الأسف حاولت كثير عمل مثل ذلك ولكن بدون فائدة شكرا لك على المعلومه الطيبة
  10. تحيه طيبه للجميع أحاول استدعاء Widget من صفحة رقم 2 الى الصفحة رقم 1 كل الصفحات تحتوي على Scaffold في بنيتها المشكلة لو قمت باستعماله في الصفحة رقم 2 احصل على الخطاء التالي: RenderCustomMultiChildLayoutBox object was given an infinite size during layout. كيف يمكن حل هذا المشكلة طبعا تغليف Scaffold من خلال Container ووضع ارتفاع وعرض امر غير مجدي وذلك بسبب اختلاف مقاسات الشاشات والمشكلة الأكبر هيا بسبب استعمال bottomSheet لو قمت Container رح يكون اسفل list view وهذا خطاء من المفترض ان يظهر فوق الجميع كود الصفحة رقم 2 بشكل التالي: Widget Page2() { return Scaffold( body: Text('Just test'), bottomSheet: BottomSheetClass(PhoneNum,context) ); } اما كود الصفحة رقم 1 class Page1 extends StatefulWidget { @override mainStates createState() => new mainStates(); } class mainStates extends State<Page1> { final GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>(); @override Widget build(BuildContext context) { { return Scaffold( key: _scaffoldKey, body: ListView( children: [ Center( child: Column( children: [ Page2() ], ), ), ], ), ); } } } هل توجد طريقة لحل المشكلة ؟ ملاحظة/ استطيع حذف Scaffold في الصفحة 2 ولكن احتاج الى استعمال bottomSheet في هذا الصفحة لا يمكنني نقله الى الصفحة رقم 1 هل توجد طريقة لاستعماله بدون Scaffold؟ او يوجد حل مختلف لحل مشكلة Scaffold؟ شكرا لكم
  11. جزاك الله الف خير اخي الكريم نعم لقد فهمت عليك
  12. اهلا اخي الكريم ولكن ماذا نستفيد من التنبيه لو تكرمت؟ وماذا تقصد من (إضافة ميزانية جديدة)؟
  13. اهلا اخي الكريم حقيقه هيا خدمه جميله بس مخاطرها اكبر بالنسبه الى سعرها حتى اني وجدتها ارخص من الاستضافات العاديه بكثير لكن المشكله في تحديد السقف
  14. تحيه طيبه للجميع هل يمكن تحديد سقف ميزانية الفايربيز من هلال برمجة تطبيقات flutter بحيث لو وصل السقف الفلاني يتم وقف النت عن التطبيق او شي من هذا القبيل؟في الخطه المدفوعه وهل الفاير بيز يعتبر خيار جيد لتطبيقات مثل تطبيق مستعمل واولكس والسوق المفتوح ؟
  15. تحيه طيبه للجميع لدي استفسار لو تكرمتم في وضع الخطة المدفوعة على الفايربيز Cloud Firestore هل توجد طريقة لتحديد سقف الخطة على سبيل المثال انا لا ارغب ان اتجاوز 100 دولار شهريا حتى لو كان تطبيقي يحتاج الى ذلك ( تطبيق flutter )
  16. تحيه طيبه للجميع حقيقه انني منذ فتره افكر باستعمال firebase ولكن توجد لدي مشكلة كبيره في فهم تقسيمات هذا الخدمة حيث انني استعمل الاستضافة التقليدية لتطبيقاتي + ملفات php لتواصل مع الاستضافة وقواعد البيانات Firestore database Realtime database Storage Hosting ما هو الفرق بينهم بشكل مبسط ؟ وماذا نستعمل منهم لتخزين قائمة تحتوي على أسماء + صور + ارقام ولو كنت احتاج الى مساحة 10 جيجا هل سيكون سعرها مرتفع ؟ لتخزين صور ونصوص مع العلم حاولت ابحث ولم افهم تقسيمات الأسعار لديهم ولكني لو كنت فاهم بشكل الصحيح اعتقد انني وجدتهم ارخص من الاستضافة العادية بالنسبة الى حجم 10 جيجا شكرا للجميع
  17. Uncaught mysqli_sql_exception: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'table topics SET where id=?' at line 1 in ..... قمت بتجربة أيضا على جدول مختلف ونفس المشكلة مستمرة وهذا الرسالة التي حصلت عليها من السطر أعلاه
  18. مرحبا اخي الكريم قمت بتجربة نفس المشكلة مستمرة انا متأكد من هذا السطر انه كتب بشكل الصحيح ولكن يبدو ان المشكلة في سطر مختلف انا ارغب ان اعمل تخطي إلى الاعمدة التي لم يقم المستخدم بأرسال بيانات لتحديثها من النموذج الى ملف php بحيث على سبيل المثال المستخدم يرغب بتحديث فقط حقل الاسم اذن هو سوف يقوم بأرسال فقط خانة الاسم يجب ان يقوم ملف php فقط بتحديث عمود الاسم وترك الاعمدة المتبقية بنفس البيانات الموجودة فيها مسبقاً
  19. مرحبا اخي الكريم شاكر لك الغالي بس استفسار الكود يظهر لدي الخطاء التالي مع التنفيذ : Fatal error: Uncaught Error: Call to a member function execute() on bool in ويظهر انه في السطر التالي: $stmt->execute($values); مرحبا اخي الكريم لا اقصد معرفة الاعمدة الفارغة القصد ان لو المستخدم لم يرسل بيانات عمود من الاعمدة الى ملف php لا يتم تغير البيانات السابقة الموجودة في العمود هذا ما احتاجه الان لو قمت بتحديث ولم اقم بتعبئة جميع الحقول تلك الحقول التي اتركها بدون تعبئة يتم وضع null فيها بمعنى يتم حذف البيانات القديمة المتوفرة وهذا ما أحاول إيجاد حل له
  20. تحيه طيبه للجميع لدي صفحة PHP أقوم من خلالها بتحديث بيانات MySQL table المشكلة ان المستخدم لديه حقول مختلفة ولو قام المستخدم بترك حقل بدون التعديل عليه سوف يتم ارسال بيانات فارغة الى هذا الملف ثم يتم وضع NULL في جدول البيانات احتاج الى معرفة كيفية التحقق من خلال ملف PHP قبل عمل UPDATE اذا كان الحقل لديه بيانات يتم التحديث اما الحقول الفارغة يتم عمل SKIP او تخطي لها حتى لا تتغير البيانات الحالية في قاعدة البيانات. الملف كالتالي: <?php require_once 'con.php'; $id =$_POST['id']; $name =$_POST['name']; $ExtraData = $_POST['ExtraData']; $IDColors = $_POST['IDColors']; $sql="UPDATE TableUser SET name=?,ExtraData=?,IDColors=? WHERE id=?"; $stmt = $con->prepare($sql); $stmt->bind_param("ssss",$name,$ExtraData,$IDColors,$id); $stmt->execute(); $result = $stmt->get_result(); $exeQuery = mysqli_query($con, $sql) ; if($exeQuery){ echo (json_encode(array('code' =>1, 'message' => 'Modifier avec succee'))); }else {echo(json_encode(array('code' =>2, 'message' => 'Modification Non Terminer'))); } ?> الحقول أعلاه على سبيل المثال قد يقوم المستخدم بإضافة بيانات فقط في حقل الاسم ويترك الباقي فارغة احتاج ان اجعل الكود يقوم بعملية تخطي للحقول الفارغة حتى لا يتم تغير البيانات في قاعدة البيانات شكرا للجميع
  21. تحيه طيبه للجميع لدي استفسار لو تكرمتم لدي مشروع يحتوي على عدد 3 صفحات بشكل التالي: Page1 class Page1 extends StatefulWidget { var PID; var name; Page1({Key? key,this.PID,this.name}) : super(key: key); @override _Page1State createState() => _Page1State(); } class _Page1State extends State<Page1> { @override Widget build(BuildContext context) { return MaterialApp(home: Scaffold(body: Column(children: [ ElevatedButton(onPressed: (){ Navigator.push( context, MaterialPageRoute( builder: (context) => Page2( ), )); }, child: Text('Move to page2')), ElevatedButton(onPressed: (){ Navigator.push( context, MaterialPageRoute( builder: (context) => Page3( ), )); }, child: Text('Move to page3')), ]),),); } } Page2 - تحتوي على قائمة listTite الكتب Page3- تحتوي على قائمة listTite المولفين على فرض انني الان في الصفحة Page1 ثم قمت بالانتقال من خلالها الى الصفحة Page2 طبعا هذا الصفحة تعرض لي مجموعة اختيارات مع تمكين خاصيةonTap قمت بوضع الـ onTap هذا بشكل التالي: Navigator.push( context, MaterialPageRoute( builder: (context) => Page1( PID:snapshot.data[index]['PID'], ), )); الان مع العودة الى الصفحة page1 سوف اجلب لدي PID ثم سوف انتقل مره ثانية من الصفحة Page1 الى الصفحة Page3 التي هيا اخر صفحة لدي يوجد بها أيضا قائمة مع خاصيةonTap Navigator.push( context, MaterialPageRoute( builder: (context) => Page1( name:snapshot.data[index]['name'], ), )); ثم سأعود بطبيعة الحال الى الصفحة page1 أيضا لو قمت بضغط على القائمة مع نقل name لدي المشكلة الان كالتالي: لو قمت بنقل PID في اول خطوه ثم قمت بنقل name بعدها بعد العودة من صفحة Page او الصفحة التي انقل منها name سوف اجد انني فقد قيمت PID من Page هو ما قمت بنقله في البداية كيف يمكن حل هذا المشكلة بمعنى أي متغير أقوم بنقله الى page1 احتاج الى ان لا يتم حذفه في حالة المستخدم انتقل الى صفحة مختلفة ليجلب قيم مختلف يجب ان تبقى هذا القيم هل توجد طريقة لفعل ذلك ؟ شكرا لكم
  22. تحيه طيبه للجميع استفسار لو تكرمتم لدي صفحة لتحرير بيانات المشاركة او تعديل المشاركة ومن ضمن الاختيارات ارغب ان يستطيع المستخدم تعديل لون المشاركة الخطوات كالتالي: النقر على زر تعديل المشاركة تفتح صفحة التعديل المستخدم يشاهد حقول التعديل مع عرض البيانات الحالية لون المشاركة الحالي اخضر الان ارغب بتعديل الأخضر وتغيره احتاج الى فكره الان كيف استطيع ان أقوم بعرض قائمه منبثقه للمستخدم حتى يقوم باختيار لون جديد مع اخذ القيمة الجديدة من المستخدم بالإضافة حتى استعملها في تحديث اختياره + عرض الاختيار الجديد قبل الحفظ ماذا نستطيع ان نستعمل في هذا الحالة لتطبيق هذا الفكرة؟ حقيقه انني حاولت استعمل list view في AlertDialog ولكن وجدت ان المشكلة اثناء اغلاق AlertDialog لا يتم تحديث الاختيار وعرضه اعتقد ان طريقتي خطاء لذلك احتاج الى مساعده من لديه فكره في عمل ذلك يفيدنا شكرا لكم
  23. تحيه طيبه للجميع أحاول ان اضع FutureBuilder في داخل FutureBuilder ولكن مع الأسف البيانات لا يتم تحمليها ولا اعلم ما هو السبب كود المستعمل كالتالي: Future _buildAboutDialog(BuildContext context) { return showDialog( context: context, builder: (context) { return StatefulBuilder( builder: (context, setState) { return AlertDialog( title: Text("Title of Dialog"), content: FutureBuilder( future: GetColor(), builder: (context, AsyncSnapshot snapshot) { if (snapshot.hasData) { return Padding( padding: const EdgeInsets.all(5.0), child: ListView.separated( separatorBuilder: (context, index) { return Divider(); }, scrollDirection: Axis.vertical, shrinkWrap: true, physics: ScrollPhysics(), itemCount: snapshot.data.length, itemBuilder: (context, index) { return Container( child: Column( children: <Widget>[ GestureDetector( child: ListTile( leading: ClipOval( child: CachedNetworkImage( imageUrl: "${snapshot .data[index]['ColorImage']}", errorWidget: (context, url, error) => Icon(Icons .error), ), ), trailing: Icon( Icons .keyboard_arrow_left_sharp, )), onTap: () => { }, ), ])); }), ); } else if (snapshot.hasError) { return Center( child:Text('')); } // By default, show a loading spinner. return showicon? SizedBox( height: MediaQuery.of(context).size.height / 1.3, child: Center( child: CircularProgressIndicator( valueColor: new AlwaysStoppedAnimation<Color>(Colors.black), ), ), ):Center( child: SizedBox( height: MediaQuery.of(context).size.height / 1.3, child: Text(''); )); }, ), actions: <Widget>[ TextButton( onPressed: () => Navigator.pop(context), child: Text("Cancel"), ), TextButton( onPressed: () { setState(() { // contentText = "Changed Content of Dialog"; }); }, child: Text("Change"), ), ], ); }, ); }, ); } قمت بوضعه في زر ولكن ما يحدث هو ان AlertDialog يفتح ولكن FutureBuilder لا يعمل هل يعلم احد طريقة حل ذلك؟
  24. اهلا اخي الكريم يعني برايك هل PATH_provider و hive مناسبين لفكرة تخزين البيانات ام ان hive افضل من PATH_provider? بالنسبة الى كمية البيانات هيا ليست كبيره جدا على سبيال المثال اقسام التطبيق ومشاركات المستخدم بنفسه وما شابه اما ك مواضيع وما شابه هذا تاتي من قاعدة البيانات اون لاين
  25. تحيه طيبه للجميع لدي استفسار لو تكرمتم ما هو الفرق بين هذا المكاتب path_provider vs sqlite vs hive وايهم افضل واسرع لحفظ بيانات api لتسريع تحميل التطبيق للمستخدم / صور + نصوص ما هو الفروقات بينهم بشكل عام؟
×
×
  • أضف...