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

Flutter Dev

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

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

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

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

    2

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

  1. اهلا بك اخي الكريم نعم قمت بذلك يبدو ان المشكله موجوده في الكود الذي ياتي بعد الاستعلام او انه فيه شي انا عملت ناقص اما بنسبة الى for الذي تفضلت انت بها حاولت ايضا تطبيقها كثير ولكن لم انجح بسبب قل الخبره قمت بوضعها بعد هذا السطر في الكود لدي itemCount: GetData.length, itemBuilder: (BuildContext context, int index) { كما قمت بمحاولة وضعها في void initState() ايضا قمت بتكرار دالة جلب البيانات FetchTopic() بحيث واحده تجيب بجمله شرطيه المنتجات التي تمتلك الرقم 0 اما الثانية التي تمتلك الرقم 1 فاصبح شكل الكود بشكل التالي كامل: import 'CategoryData.dart'; void main() { runApp( MyAffpp(), ); } class MyAffpp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home: SecondCategryPage(), ); } } class SecondCategryPage extends StatefulWidget { @override _HomePageState createState() => _HomePageState(); } class _HomePageState extends State<SecondCategryPage> { var image; var apiURL; List<Category> GetData = List(); @override void initState() { FetchTopic().then((value) { setState(() { GetData.addAll(value); }); }); super.initState(); } Future<List<Category>> FetchTopic() async { apiURL = 'https://***********/testpage.php'; var response = await http.get(apiURL); if (response.statusCode == 200) { final items = json.decode(response.body).cast<Map<String, dynamic>>(); List<Category> listOfFruits = items.map<Category>((json) { return Category.fromJson(json); }).toList(); return listOfFruits; } else { // _showMessageInScaffold('no data'); throw Exception('Failed to load data from Server.'); } } Future<List<Category>> FetchTopictwo() async { apiURL = 'https://*************/testpagetwo.php'; var response = await http.get(apiURL); if (response.statusCode == 200) { final items = json.decode(response.body).cast<Map<String, dynamic>>(); List<Category> listOfFruits = items.map<Category>((json) { return Category.fromJson(json); }).toList(); return listOfFruits; } else { // _showMessageInScaffold('no data'); throw Exception('Failed to load data from Server.'); } } @override Widget build(BuildContext context) { return Scaffold( body: Container( child: Center( child: Column(children: <Widget>[ Flexible( child: GridView.builder( gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 3, crossAxisSpacing: 2.0, mainAxisSpacing: 2.0, childAspectRatio: 2.1 / 3), itemCount: GetData.length, itemBuilder: (BuildContext context, int index) { return Container( child: Card( // margin: EdgeInsets.all(5.0), elevation: 3, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(10)), child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: <Widget>[ Expanded( child: GestureDetector( child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: <Widget>[ ClipRRect( borderRadius: BorderRadius.vertical( top: Radius.circular(10.0)), child: Image.network( GetData[index].ImageURL, height: 120, fit: BoxFit.cover), ), // SizedBox(height: 8), // Divider(), Center( child: Column( crossAxisAlignment: CrossAxisAlignment.center, children: <Widget>[ Text(GetData[index].Name), ]), ), ]), )), ], ), ), ); }, ), ) ]), ), ), ); } } واصبح لدي مفلين php منفصلات لكل عملية في السيرفر بنسبة الى الخطا الذي يظهر لدي من شيفرت المدرب عدنان يتعذّر على هذه الصفحة العمليتعذر على *******.com معالجة هذا الطلب حاليًا. HTTP ERROR 500
  2. هلا بيك الغالي اخذت ملف php الذي قمت انت بارفاقه وقمت بتعديل اسم الجدول والخانه المطلوبه وكانت النتيجه ظهور رسالة الخطاء من السيرفر المشكله السيرفر لا يقوم بتحديد موقع الخطاء هو فقط يظهر لي بعدم الاتصال او الوصول الى الصفحه الخطاء يظهر بشكل التالي: يتعذّر على هذه الصفحة العمليتعذر على ******.com معالجة هذا الطلب حاليًا. HTTP ERROR 500 وهذا الصفحه التي قمت بالعمل عليها : <?php require_once 'con.php'; $sql = "SELECT * FROM prodect WHERE test=1 ORDER BY RAND()"; function getRepeated($query) { $repeat_times = 10; $counter = 0; $rows = []; $result = mysql_query($query); // تحضير كل الحقول while($row == mysql_fetch_row($result)) { $rows[] = $row; } // تحضير مصفوفة تحمل عناصر مميزة ومكررة $repeated = []; for($index = 0; $counter < $repeat_times; $counter++) { $repeated[] = $rows[$i]; $index++; // إعادة الدور إلى الصفر لملئ المصفوفة بعناصر مكررة if($index == count($rows)) { $index = 0; } } return $repeated; } $special = getRepeated($sql); ?> على ما يبدو انني قمت بتطبيق نقطة غلط في الموضوع هل فيه شي انا قمت بتطبيقه بشكل خاطى اخي ؟ بنسبه الى مسميات الجدول + الخانات انا متاكد منهم هذيله لا توجد بيهم مشكله
  3. مرحبا بيك اخي اعتذر على تاخر ردي بس كنت احاول اطبق الامر طوال الوقت قمت بتطيق الشرح كذا مره بس بامانه خبرتي ضعيفه شويه ف الباك اند من امس وانا احاول فيه يشتغل وان ينجح التطبيق لدي ولكن بدون فائده والله ي اخوي اني قمت بمحاولات مختلفه عديده من امس لتطبيق هذا الامر ولكن مع الاسف لم ينجح الامر لدي رغم كل المحاولات
  4. مرحبا اخي شاكر لك افادتك اخوي ولكني حقيقه لم اعرف طريقة التطبيق كيف ممكن تكون بنسبه الى الكود المستعمل لدي هو كالتالي: GridView.builder( shrinkWrap: true, physics: NeverScrollableScrollPhysics(), gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 2, crossAxisSpacing: 2.0, mainAxisSpacing: 2.0, childAspectRatio: 2.4 / 3), itemCount: Date.length, itemBuilder: (BuildContext context, int index) { return Container( child: Card( elevation: 1, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(5)), child: SingleChildScrollView( child: Column( children: <Widget>[ GestureDetector( child: Column( crossAxisAlignment: CrossAxisAlignment .stretch, children: <Widget>[ Center( child: Column( children: < Widget>[ Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Text(Date[index].Name, style: TextStyle(color: CustomColors.firebaseNavy, fontSize: 15)), ], ), ]), ), ] ), ), ], ), )), ); }, ), Future<List<Flowerdata>> FetchTopic() async { apiURL = 'https://*********/MainItem.php' var response = await http.get(apiURL); var flowers = List<Flowerdata>(); if (response.statusCode == 200) { final items = json.decode(response.body).cast<Map<String, dynamic>>(); List<Flowerdata> listOfFruits = items.map<Flowerdata>((json) { return Flowerdata.fromJson(json); }).toList(); return listOfFruits; } else { // _showMessageInScaffold('no data'); throw Exception('Failed to load data from Server.'); } }
  5. لنفترض لدي جدول في قاعدة البيانات يحتوي على منتجات متنوعه مثلا 100 منتج / ويحتوي على الحقول الاسم وتاريخ والعنوان والسعر الخ... الاستعلام بشكل الطبيعي عن هذا المنتجات مع عمل العشوائية لهم بحيث انهم في كل مره يتم عرضهم يختلف المواقع لهم يكون بشكل التالي على سبيل المثال: $sql = "SELECT * FROM Prodect ORDER BY RAND()"; ولكن لو قمت بوضع خانة اضافية او حقل اضافي للمنتج ولتكون مثلا باسم (منتج مميز) وساقم بتعبتها برقم 1 بحيث لو كان المنتج مميز سوف تحتوي هذا الخانة على الرقم 1 اما الباقي الرقم 0 بحيث سوف اختار 5 منتجات من الـ 100 منتج الذي لدي في الجدول السابق واضع لهم قيمة 1 الان انا حتاج ان يتم تكرار هذا المنتجات الـ 5 بعد كل مثلا 10 منتجات بمعنى المستخدم الان يشاهد lsitview هذا ليست فيها 100 منتج الذي احصل عليهم من الجدول وفي كل مره يدخل المستخدم ليعرض هذا القائمة القائمة يختلف منتجاتهم بسبب ORDER BY RAND ولكن ايضا ارغب بتكرار الـ 5 منتجات الذي وضعت لهم القيمة 1 كل شوي بين المنتجات الـ 100 المعروضه يعني نقدر نقول وكانهم اعلانات جوجل تظهر بين كل المنتجات كل شوي مثلا المستخدم ينزل للاسفل الان في listview سوف يشاهد المنتجات ال 5 وينزل شوي اكثر يرجع يشاهد ال 5 هذيله بهذا الشكل ارغب ان يستمر الامر كيف ممكن نعمل هذا الامر مع mysql ? مع العلم اني استعمل هذا الاستعلام في نهاية الامر لتطبيق flutter وعرض القائمة بداخله المطلوبه
  6. اهلا بك اخي الكريم تحيه طيبه لك طريقتك صحيحه 100%100 ولكن المشكله ان الموقع هذا حتى عشان تحصل على الاسعار ب USD يحتاج اشتراك يعني توجد قيود على الامر ولكن بعد البحث وجدت موقع جميل يقدم هذا الخدمه ممكن استعماله في بداية الامر وبعدها التفكير في شراء احد الحزم من الموقع هذا او موقع مختلف على حسب الرغبه https://free.currconv.com/ هذا اسم الموقع وهو يقدم الخدمه من 2013 تقريبا بشكل مجاني مع وجود الاشتركات لو رغب المستخدم للحصول على خدمه افضل انا قمت بتخلي عن الفكره في الوقت الحالي قمت بعملها بطريقه مختلفه كسعر ثابت فقط بعمله واحده
  7. مرحبا اخي الكريم شاكر لك ردك وشرحك الغالي بنسبة الى موضوع API التي احصل منها على اسعار العملات اعتمادنا على سعر الدولار انا شفت هذا الموقع : https://fixer.io/ يمنح الف طلب شهري بشكل مجاني وهذا شي ممتاز ولكن يجب الاسعار ليس على الدولار بل على EUR وهذا الرابط الذي استعمله للاستعلام : http://data.fixer.io/api/latest?access_key=**************&format=1 ما هو الحل لتغيره الى USD اذا كانت لديك فكره
  8. الامر فعال ولكن هذا في حالة ان المنتجات التي سوف تدرج سوف تكون مني انا شخصيا في التطبيق ولكن لو كان المستخدمون سوف يدخول بيانات منتجاتهم سوف يكون الامر فيه مشقه عليهم كما تعلم الجميع يعرف سعر منتجه من خلال سعر عملة الدوله التي هو فيها ولكن بنسبه الى الدولار مثلا سوف يكونو مجبورين على استعمال تحويل العملة وما شابه حتى يستطيعون اضافة العمله بشكل هذا
  9. نعم لقد فهمت الطريقة شاكر لك الغالي افادتك الكريمه طريقتك جميله يمكن وضع اسعار اثنين او 3 بحد اقصى وتكون اسعار مثل الدولار وسعر الدوله المحليه او دوله عربيه ودوله اضافيه
  10. مرحبا اخي الكريم شاكر لك ردك الغالي لدي استفسار الان بهذا الطريقة انت تضع سعر ثابت الى الدولار مثلا ؟ ام تجلب اسعار العملات من الانترنت؟ هل يوجد شرح لفعل شي مشابه لطريقتك من خلال اليوتيوب او مدونة شرح تفصيلي اقصد؟
  11. في حالة ارغب بعرض اسعار مختلفه لمستخدمين تطبيق فلاتر ما هيا افضل طريقة لعرض الاسعار لهم؟ هل يوجد في فلاتر باكج لتحويل العملات يمكن استعماله بشكل مجاني؟ ايضا بنسبه الى API هل يتوفر رابط بشكل مجاني ام كل المواقع تعطيك باقه مثلا الف طلب في الشهر وبعدها تتوقف ويجب التحول الى الخطه المدفوعه ام ان هنالك طريقه للحصول على رابط مجاني؟ مثلا الا يمكن استعمال رابط جوجل لمقارنة الاسعار؟ ياليت اذا فيه افكار مختلفه تخدم التطبيقات التجاريه من فلاتر لعرض الاسعار تفيدونا الموضوع جديد علي ولكم كل الشكر
  12. اهلا بك اخي الكريم شاكر لك افادتك فعلا هذا ما كنت ابحث عنه بنسبه الى الباكيج الذي قمت بمشاركته انت معي يبدو الامر متعبا قليلا وطويل نوعا ما توجد طريقة اسهل للفائده عن طريق الفاير بيز وهذا الباكج الخاص بها كثير يوجد لها شروحات في الانترنت اليوتيوب وما شابه firebase_dynamic_links: ^2.0.2 مودتي لك اهلا بك اخي الكريم بنسبه للي كنت اقصده هو مشاركة الصفحه كامل بحيث الرابط يستطيع المستخدم النقر عليه والانتقال الى تطبيقي اما الطريقة التي ذكرتها انت تنفع لمشاركة رابط التطبيق مثلا ولكن لمشاركة الصفحه لا اعلم اذا كان يمكن استعمالها للفائده توجد باكج للفايز بيز تقوم بهذا العمل firebase_dynamic_links: ^2.0.2 مودتي لك الغالي
  13. مرحبا اخي الكريم نعم على ما يبدو لذلك اغلب المبرمجين يتوجهون له حتى اني انتبهت الى فريق تطوير فلاتر في احد المقاطع على اليوتيوب يعمل عليه اذا كنت مش غلطان شاكر لك اضافتك ومعلوماتك القيمه كل الشكر لك
  14. كيف يمكن عمل مشاركة لصفحة فلاتر مع محتوياتها مثلا الصوره + العنوان المتواجد فيها الى تطبيقات مختلفه بحيث يصل رابط الى المستخدم الثاني + صوره + العنوان ولو ضغط على الرابط يتحول الى التطبيق ولو ما منزل التطبيق لديه يتحول الى المتجر ياليت اذا احد مطبق الفكره من قبل يشارك الكود معنا لفعل ذلك
  15. بمعنى لو حتى كان جهازي حديث عشان احافظ على كفاءته ولا تقل بعد فتره بسيطه يفضل اني اتجنب استعمل الاندرويد ستوديو ؟ ام لا توجد مشكله لو استعملته فتره طويله من الزمن اذا كان جهازي حديث وموصفاته تناسبه الاندرويد ستوديو ؟
  16. ما هو الفرق بين vs code و الاندرويد ستوديو مع برمجة لفلاتر الي شفته كثير مبرمجين في الشروحات وغيره مثلا على اليوتيوب يستعملو vs code مع ان فلاتر من جوجل والاندرويد ستوديو من جوجل لماذا يتم التوجه الى vs code ما هو المميز فيه او الفرق عن الاندرويدو ستوديو ؟
  17. شاكر لك اخي العزيز اول مره استعمل هذا الطريقة معلومه جديده علي زادك الله من واسع فضله استفسار اخير لو تكرمت لما اضع الجمله الشرطيه بهذا الشكل الا يوجد خطر الحقن ؟
  18. لدي استفسار لوتكرمتو هل يمكن الاستعلام بوجود شرطين مختلفين بمعنى انا لدي الجدول التالي : conversation table : -------------------------------------------------------------- id |topic_id | user_send_id | user_Received_id| topic --------------------------------------------------------------- 1 | 325 | 2 | 2 | مرحبا لدى عدة اسئله على هذا الموضوع --------------------------------------------------------------- 2 | 325 | 1 | 2 | مرحبا اخى الكريم هل لديك وقت كافى --------------------------------------------------------------- 3 | 325 | 2 | 1 | هل نستطيع التحدث في وقت مختلف --------------------------------------------------------------- 4 | 325 | 2 | 1 | انا مشغول الان الجدول عباره عن محادثه بين مستخدمين مختلفين وكل مستخدم يمتلك id منفرد له ما ارغب القيام به هو اذا كان user_send_id مساوي لـ user_received_id لا ترجعهم الى مع وجود شرط مختلف والى هو wehere user_Received_id =? بمعنى لو كان مختلف ارجع الى السجلات الخاصه ب المرسل ولا تجلب السجلات التي يتشابه فيها المرسل مع المستلم الكود حاليا يعمل كالتالي وهو يجلب لي سجلات محدده ولكن الان حتى المتشابه في الـ id يجلبهم محتاج اضافة شرط اضافي ولكني لا اعلم كيف يمكن عمل ذلك <?php include 'con.php'; $user_Received_id= $_GET["user_Received_id"]; $sql = "SELECT * FROM conversation WHERE user_Received_id = ?"; $stmt = $con->prepare($sql); $stmt->bind_param("s",$user_Received_id); $stmt->execute(); $result = $stmt->get_result(); //$result = $con->query($sql); if ($result) { while($row[] = $result->fetch_assoc()) { $item = $row; $json = json_encode($item, JSON_NUMERIC_CHECK); } } else { echo "No Data Found."; } echo $json; $con->close(); ?>
  19. السلام عليكم ورحمة الله وبركاته قمت بعمل صفحه للمحادثه بين الاعضاء بحيث واحد يرسل والمستخدم الثاني يستقبل الان احاول ان اقوم بعملية فرز بحيث المرسل يكون من اليسار مثلا والمستلم من اليمين فرز للمحادثات او اسطر المحادثه الفرز تم وشغال ولكن صورة العضو لم استطع وضعها في مكانها الطبيعي مرفق صوره لتوضيح العمل المطلوب الان: كما هو ظاهر في الصوره المرفقه صورة العضو الذي ابتدا المحادثه في مكان خطاء وهيا بعد المحادثه المفترض تكون قبل المحادثه مثل ما حدث لدى العضو الثاني كيف ممكن اعمل هذا الامر او ما هو الخطاء في الكود الذي عملته مرفق الكود : Expanded( child: FutureBuilder<List<MessageData>>( future: GetMessage(), builder: (context, snapshot) { if (snapshot.hasData) { return ListView( children: snapshot.data .map((data) => Column( children: <Widget>[ Row( mainAxisAlignment: this.IDReceived == data.IDReceived ? MainAxisAlignment.start :MainAxisAlignment.end , children: [ Column( crossAxisAlignment: this.IDReceived == data.IDReceived ? CrossAxisAlignment.start :CrossAxisAlignment.end , children: [ Row( children: [ Container( constraints: BoxConstraints( maxWidth: MediaQuery.of(context).size.width * .6), padding: const EdgeInsets.all(15.0), decoration: BoxDecoration( color: Color(0xfff9f9f9), borderRadius: BorderRadius.only( topRight: Radius.circular(25), bottomLeft: Radius.circular(25), bottomRight: Radius.circular(25), ), ), child: Text(data.Messages.toString(),style: TextStyle(fontSize: 17)), ), CircleAvatar( backgroundImage: NetworkImage( data.image.toString() ,) ), ], ), ], ), ], ), ياليت من لديه خبره في الامر يساعدنا ولكم جزيل الشكر
  20. شاكر لك اخي فعلا قمت بتحديث والغاء تثبيت الاندرويد ستويدو بالكامل وتم حل المشكله خساره الوقت الي يضيع على شي مثل كذا والله يمكن 4 ساعات شاكر لك ردك الغالي الظاهر ان فيه شي تغير ف اعدادت الاندويدو ستويدو ب الغلط او تحديث عمل لدي هذا المشكله قمت بحذف البرنامج وتحديث وتم حل المشكله كل الشكر لك الغالي
  21. كنت اعمل بشكل طبيعي على الاندرويد ستوديو وفجاه بدون اي مقدمات اختفاء لدي علامة الاقترحات الي تقدمها فلاتر صوره لتوضيح : قمت بتجريب اغلب الحلول المذكوره في الانترنت لمحاولة ارجاعها ولكن بدون فائده ياليت اذا احد يعرف حل للمشكله يفيدنا بارك الله فيكم
  22. قمت بتجربه بشكل التالي ولم ينجح الامر import 'package:shared_preferences/shared_preferences.dart'; class MyPreferences { static const ID = "id"; static const STATE = "state"; final String _kNotificationsPrefs = "allowNotifications"; final String _kSortingOrderPrefs = "sortOrder"; static final MyPreferences instance = MyPreferences._internal(); static SharedPreferences _sharedPreferences; String id = ""; String state = ""; bool value; MyPreferences._internal() {} factory MyPreferences() => instance; Future<SharedPreferences> get preferences async { if (_sharedPreferences != null) { return _sharedPreferences; } else { _sharedPreferences = await SharedPreferences.getInstance(); state = _sharedPreferences.getString(STATE); id = _sharedPreferences.getString(ID); _sharedPreferences.getBool(_kNotificationsPrefs) ?? false; return _sharedPreferences; } } Future<bool> commit() async { await _sharedPreferences.setString(STATE, state); await _sharedPreferences.setString(ID, id); await _sharedPreferences.setBool(_kNotificationsPrefs, value); } Future<MyPreferences> init() async { _sharedPreferences = await preferences; return this; } }
  23. اهلا اخي احاول اضافتهم الى الكود الذي لدي حتى تكون بنفس طريقة العمل الطريقة الذي ذكرتها انت في البداية هذا تكون في صفحة العمل ولكني ارغب بجلعها مثل string الذي في الصفحه الان اي في نفس الصفحه ولكن من نوع bool حتى استخدمها من اي مكان وتكون كل البيانات في صفحة واحده @بلال زيادةبمعنى اضافتها في هذا الكلاس {}class MyPreferences
×
×
  • أضف...