-
المساهمات
787 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
2
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Flutter Dev
-
لدي كلاس shared_preferences منفصل بحيث انني استطيع استدعاه من صفحات مختلفه وتخزين فيه البيانات من حيث يتطلب ذلك كالتالي: import 'package:shared_preferences/shared_preferences.dart'; class MyPreferences { static const ID = "id"; static const STATE = "state"; static final MyPreferences instance = MyPreferences._internal(); static SharedPreferences _sharedPreferences; String id = ""; String state = ""; 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); return _sharedPreferences; } } Future<bool> commit() async { await _sharedPreferences.setString(STATE, state); await _sharedPreferences.setString(ID, id); } Future<MyPreferences> init() async { _sharedPreferences = await preferences; return this; } } احتاج الى اضافة بيانات مختلفه فيه ليست من نوع Stirng احتاج الى اضافة setBool و getBool بحيث انني ارغب بعمل تحقق من المستخدم اذا كان عامل تسجيل دخول او لا كيف يمكن عمل ذلك في كلاس shared_preferences مع العلم انني ساقوم بتخزين البيانات من صفحه مختلفه
-
مرحبا اخي @يوسف احمد9 اعتذر على تاخر الرد في البداية قمت بتجربة ووضع سينل كوت الكود يعمل بشكل هذا فعلا ولكن الان هو يرجع بيانات المستخدمين فعلا ولكن ياتي ايضا ب مواضيع ليست مرتبطه ب topic_ id شاهد اخي هذا صور مرفقه فيها بيانات الجدول والبيانات التي ييرجعها عن طريق الاستعلام وارفقت لك ملف الكود المستعمل + الجدول المستعمل mysql file البيانات التي يرجعها الاستعلام الان توجد بيانات ليست مرتبطه بالموضوع كل البيانات المتوفره في الجدول الان وهذا الكود المستعمل كامل للستعلام اعلاه <?php include 'con.php'; $topic_id= 200; $user_Received_id='wkFldN4TzDhczkdHMotQ'; $user_send_id='xQVZw68SDee5ITSN2V'; $sql = "SELECT * FROM conversation WHERE (user_Received_id='$user_Received_id' AND user_send_id='$user_send_id') or(user_Received_id='$user_send_id' AND user_send_id='$user_Received_id') and topic_id = $topic_id"; $stmt = $con->prepare($sql); //$stmt->bind_param("sss",$IDAd,$IDUserReceived,$IDUuserSend); $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(); ?> A.PHP DB.txt ==================== مرحبا اخي بلال @بلال زيادة تحيه طيبه لك ملف المشروع يتكون من ملف php + mysql قمت بارفاقه لك ايضا هذا هو الكود السمتعمل للاستعلام <?php include 'con.php'; $topic_id= 200; $user_Received_id='wkFldN4TzDhczkdHMotQ'; $user_send_id='xQVZw68SDee5ITSN2V'; $sql = "SELECT * FROM conversation WHERE (user_Received_id='$user_Received_id' AND user_send_id='$user_send_id') or(user_Received_id='$user_send_id' AND user_send_id='$user_Received_id') and topic_id = $topic_id"; $stmt = $con->prepare($sql); //$stmt->bind_param("sss",$IDAd,$IDUserReceived,$IDUuserSend); $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(); ?> وهنا تكمن المشكله يقوم بارجاع بيانات ليست مرتبطه مع topic_id وهذا صوره للبيانات المتوفره في قاعدة البيانات افدني اذا كانت لديك فكره عن سبب المشكله بارك الله فيك A.PHP DB.txt
-
قمت بتطبيقه بشكل التالي حسب بيانات الجدول الظاهر في الصوره ولم يرجع لي اي بيانات <?php include 'con.php'; $json = file_get_contents('php://input'); $obj = json_decode($json,true); $topic_id= '200'; $user_Received_id='wkFldN4TzDhczk********'; $user_send_id='xQVZw68SDee5ITSN2V*******'; $sql = "SELECT * FROM conversation WHERE (user_Received_id=$user_Received_id AND user_send_id=$user_send_id) or (user_Received_id=$user_send_id AND user_send_id=$user_Received_id) and topic_id = $topic_id"; $stmt = $con->prepare($sql); //$stmt->bind_param("sss",$topic_id,$user_Received_id,$user_send_id); $stmt->execute(); $result = $stmt->get_result(); //$result = $con->query($sql); if ($result) { $data = []; while ($row = $result->fetch_assoc()) { $data[] = $row; } echo "<pre>"; print_r($data); } ?>
-
اهلا اخي بنسبة الى id المستخدمين انا احصل عليه من خارج الفورم يعني مش ثابت دائما على 1 او 2 مجرد مثال قمت بارفاق صور انظر هذا الجدول من قاعدة البيانات احصل عليهم من خلال $topic_id= $_GET["topic_id"]; $user_Received_id=$_GET["user_Received_id"]; $user_send_id=$_GET["user_send_id"];
-
-
هلا فيك اخي شاكر لك ردك حاولت التطبيق لما اعمل الكل iii d يرجع الى كل السجلات المرتبطه ب رقم topic_id بدون ان ينظر الى user_Received_id user_send_id وكانهم ليس من الجمله الشرطيه او ليسو موجودين اهلا بك عزيزي قمت بتطبيق واستبدال الارقام ب علامة ? حتى يتم تنفيذ الشرط ولكن الكود لم يرجع لي اي قيمة لم يرجع بيانات
-
لدي الجدول التالي وهو يحتوي على البيانات المدرجه : conversations table : -------------------------------------------------------------- id |topic_id | user_send_id | user_Received_id| topic --------------------------------------------------------------- 1 | 325 | 1 | 2 | مرحبا لدى عدة اسئله على هذا الموضوع --------------------------------------------------------------- 2 | 325 | 1 | 2 | مرحبا اخى الكريم هل لديك وقت كافى --------------------------------------------------------------- 3 | 325 | 2 | 1 | هل نستطيع التحدث في وقت مختلف --------------------------------------------------------------- 4 | 325 | 2 | 1 | انا مشغول الان قمت بوضع كود الاستعلام عنه بحيث انني ارغب بجلب كل السجلات المتعلقه ب Topic_id المتشابه التي حدثة بين المستخدم المرسل والمستقبل من خلال الكود التالي: <?php include 'con.php'; $topic_id= $_GET["topic_id"]; $user_Received_id=$_GET["user_Received_id"]; $user_send_id=$_GET["user_send_id"]; $sql = "SELECT * FROM conversations WHERE topic_id=? AND user_Received_id=? AND user_send_id=? "; $stmt = $con->prepare($sql); $stmt->bind_param("sss",$topic_id,$user_Received_id,$user_send_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(); ?> اللكود بشكل هذا شغال ولكن المشكله يرجع لي بقيمة عمود واحد عمود user_send_id وانا محتاج ارجاع قيمة user_send_idو user_Received_id المتشابه مع نفس topic_id بمعنى كل الحقول التي قام المستخدمين الاثنين بتخزينهم ويمتلكون topic_id واحد ليس مختلف كيف يمكن عمل ذلك بطريقة الصحيحه ما هو الخطاء في الكود اعلاه لدي ياليت من لديه فكره يفيدنا جزاكم الله الف خير
-
اهلا بك اخي الكريم لقد فهمت الفكره ساحاول تطبيق ذلك كل الشكر لك كل الشكر لك اخي الكريم لقد فهمت الفكره وشرحك كافي ووافي لقد تم ايضاح الفكره بشكل كامل جزاك الله الف خير شكرا لك لقد تم حل المشكله واعتذر على تاخر ردي
- 5 اجابة
-
- 1
-
اعمل على فكرة اول تجربه لي من خلالها .. ما احاول القيام به كالتالي:انشاء رسائل خاصة بين الاعضاء. على سبيل المثال لدي مستخدم اسمه احمد ومستخدم اسمه محمد محمد قام بنشر موضوع بعنوان : كيف نتعلم البرمجة . ياتي احمد ويقوم بتواصل لدى محمد عن طريق الرسائل الخاصة اول رسالة : كم احتاج وقت حتى اتعلم البرمجة؟ الرسالة الثانية : هل يمكنني التعلم خلال شهر واحد؟ الرسالة الثالثه: ما الفرق بين flutter و java ? بحيث اصبح احمد يمتلك في جدول البيانات او قاعدة MySQL اكثر من سجل تم توجيهم الى محمد وما يربط هذا السجلات هو id واحد الخاص ب موضوع محمد بمعنى كل الاسطر التي يمتلكها احمد الان تمتلك id واحد حتى ولو اختلف محتوى المحادثه. كيف اقوم بجلب اول رسالة قام بارسالها احمد الى محمد وعرضها في list مع امكانية لو محمد رغب بشاهدة باقي المحتوى يقوم بضغط على الرسالة الظاهره ثم ينتقل الى صفحه مختلفه ليتم عرض المحادثه كامله من خلالها ؟ ايضا لو كان في مستخدمين مختلفين غير احمد وقام بارسال رسائل مختلفه الى محمد على نفس الموضوع
- 5 اجابة
-
- 1
-
كل الشكر اخي لقد نجح الامر كل الشكر الغالي لقد نجح الامر جزاك الله الف خير يا رب
-
قمت بستعمال كود للقيام بعمليات ممتابعه بحيث اني اطلب من المستخدم انجاز مهمة قبل الانتقال الى المهمة التاليه الكود شغال ماشي مشكله ولكن احتاج الى تغير اسم button بمعنى الان املك زر باسم Continue ارغب بتغيره على سبيل المثال الى GO او اي كلمة ثانية مختلفه ولكني لم اجد طريقة للقيام بذلك صورة لتوضيح المشكله : وهذا الكود المستعمل كامل: import 'package:fa_stepper/fa_stepper.dart'; import 'package:flutter/material.dart'; import 'first.dart'; import 'second.dart'; import 'third.dart'; void main() { runApp(MaterialApp( // Title title: "Simple Material App", // Home home: StepperEx())); } class StepperEx extends StatefulWidget { @override _StepperExState createState() => _StepperExState(); } class _StepperExState extends State<StepperEx> { int _currentStep = 0; StepperType stepperType = StepperType.vertical; switchStepType() { setState(() => stepperType == StepperType.vertical ? stepperType = StepperType.horizontal : stepperType = StepperType.vertical); } @override Widget build(BuildContext context) { return Scaffold( resizeToAvoidBottomPadding: false, appBar: AppBar( title: Text('Stepper Example'), ), body: Column( children: <Widget>[ Expanded( child: Stepper( //physics: ClampingScrollPhysics(), steps: _stepper(), type: stepperType, currentStep: this._currentStep, onStepTapped: (step) { setState(() { this._currentStep = step; }); }, onStepContinue: () { setState(() { if (this._currentStep < this._stepper().length - 1) { this._currentStep = this._currentStep + 1; } else { //Logic print('complete'); } }); }, onStepCancel: () { setState(() { if (this._currentStep > 0) { this._currentStep = this._currentStep - 1; } else { this._currentStep = 0; } }); }, ), ), ], ), ); } List<Step> _stepper() { List<Step> _steps = [ Step( title: Text('Name'), content: Column( children: <Widget>[ ], ), isActive: _currentStep >= 0, state: StepState.complete), Step( title: Text('Email'), content: Column( children: <Widget>[ ], ), isActive: _currentStep >= 1, state: StepState.disabled), ]; return _steps; } }
-
قمت بستعمال الباكج country_list_pick: ^1.0.1+4 الكود شغال بدون اي مشاكل ولكن احاول وضع الكود التالي في زر بحيث لو قام المستخدم بضغط على الزر سوف يعمل الكود مباشر ويظهر قائمة اختيار الدوله الان هو يحتاج الى الضغط على اسم الدوله السابقه وما شابه وانا ارغب بتجاوز ذلك هل توجد طريقة لفعل ذلك؟ CountryListPick( appBar: AppBar( backgroundColor: CustomColors.Background, title: Text(''), ), theme: CountryTheme( isShowFlag: true, isShowTitle: true, isShowCode: false, isDownIcon: true, showEnglishName: true, ), onChanged: (CountryCode code) { setState(() { }); }, );
-
مرحبا اخي شاكر لك ردك اخوي @بلال زيادة قمت بتطبيق ما سبق وذكرته واصبح الكود كامل التطبيق بشكل التالي : طبعا انا وضعت الكود في صفحه واحده ليسهل العمل الان بعدها ساقوم بتقسميه لا توجد مشكله void main() => runApp(MaterialApp(home: Demo())); class Demo extends StatefulWidget { @override _HomePageState createState() => _HomePageState(); } class _HomePageState extends State<Demo> { String SelectIdCategory; bool lodaing=true; List data; Future GetAllCategory()async{ var response=await http.get("https://******************.php" , headers: {"Accept": "application/json"} ); var jsoBody = response.body; var jsoData =json.decode(jsoBody); setState(() { data= jsoData; lodaing=false; }); print('show all data $jsoData'); } @override void initState() { // TODO: implement initState super.initState(); GetAllCategory(); } var getId; void _gotoSingleImage(ImageModel imageModel, BuildContext context) { Navigator.push( context, MaterialPageRoute(builder: (context) => SingleImage(imageModel)), ); } @override Widget build(BuildContext context) { return Scaffold( body:lodaing? CircularProgressIndicator() : GestureDetector( child: Center( child: SizedBox( height: 150.0, width: 300.0, child: InkWell( onTap: () { _gotoSingleImage(imageModel[index], context); }, child: Carousel( boxFit: BoxFit.cover, autoplay: true, dotSize: 4.0, dotSpacing: 15.0, dotColor: Colors.lightGreenAccent, indicatorBgPadding: 5.0, dotBgColor: Colors.purple.withOpacity(0.5), borderRadius: true, images: data .map( (list) { return Image.network(list['image']); }, ) .toList(), ), ), ), ), ) ); } } class SingleImage extends StatefulWidget { final ImageModel imageModel; SingleImage(this.imageModel); @override _SingleImageState createState() => _SingleImageState(); } class _SingleImageState extends State<SingleImage> { @override void initState() { // TODO: implement initState super.initState(); print(widget.imageModel); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('ImageScreen'), ), body: Center( )); } } class ImageModel { ImageModel({ this.id, this.images, }); int id; List<ImageUrl> images; factory ImageModel.fromJson(Map<String, dynamic> json) => ImageModel( id: json["id"], images: List<ImageUrl>.from(json["image"].map((x) => ImageUrl.fromJson(x))), ); Map<String, dynamic> toJson() => { "id": id, "image": List<dynamic>.from(images.map((x) => x.toJson())), }; } class ImageUrl { ImageUrl({ this.id, this.src, this.name, this.alt, }); int id; String src; String name; String alt; factory ImageUrl.fromJson(Map<String, dynamic> json) => ImageUrl( id: json["id"], src: json["src"], name: json["name"], alt: json["alt"], ); Map<String, dynamic> toJson() => { "id": id, "src": src, "name": name, "alt": alt, }; } لا اعلم اذا كانت توجد مشكله في تطبيقي لكلامك ولكن ظهر المشكله التاليه فقط في الكود صوره لتوضيح : Undefined name 'imageModel'. هل توجد مشكله في ما فعلته ام يوجد شي ناقص؟
-
اعذرني على الاطاله اخوي ولكن انا قدرت احصل على id الصوره من خلال الكود التالي ولكن تبقا فقط طريقة الحصول عليه من خلال رابط الصوره هل توجد طريقة لفعل ذلك؟ بمعنا الان سوف احصل على id الصوره بشكل هذا وبعدها سوف استطيع استخدامه في مواقع مختلفه images: data .map( (list) { return Image.network(list['image']+list['id'].toString()); }, ) .toList(),
-
مرحبا اخي @بلال زيادة شكرا على ردك ولكن لم يكن قصدي بشكل الذي تفضلت به انظر لقد قمت بتعديل الكود واصبح يعمل بشكل تمام ولكن توجد مشكله مختلفه كيف يمكنني نقل الصوره عند الضغط عليها الى صفحه مختلفه؟ بحيث يكون لو المستخدم نقل على الصوره الصوره سوف تنتقل الى صفحه مختلفه ؟ او هل يمكن نقل ال id الخاص ب صوره؟ كل صوره في قاعدة البيانات لدي تمتلك id منفرد لو امكن نقل id مع النقر على الصوره استطيع استعماله لجلب بيانات الصوره في الصفحة التاليه هل يمكن نقله ؟ void main() => runApp(MaterialApp(home: Demo())); class Demo extends StatefulWidget { @override _HomePageState createState() => _HomePageState(); } class _HomePageState extends State<Demo> { String SelectIdCategory; bool lodaing=true; List data; Future GetAllCategory()async{ var response=await http.get("https://**********************.php" , headers: {"Accept": "application/json"} ); var jsoBody = response.body; var jsoData =json.decode(jsoBody); setState(() { data= jsoData; lodaing=false; }); // print('cvdddbnm$jsoData'); } @override void initState() { // TODO: implement initState super.initState(); GetAllCategory(); } @override Widget build(BuildContext context) { return Scaffold( body:lodaing? CircularProgressIndicator() : GestureDetector( child: Center( child: SizedBox( height: 150.0, width: 300.0, child: InkWell( onTap: () { }, child: Carousel( // onImageTap:(index) { print(index.toString()); } , boxFit: BoxFit.cover, autoplay: true, dotSize: 4.0, dotSpacing: 15.0, dotColor: Colors.lightGreenAccent, indicatorBgPadding: 5.0, dotBgColor: Colors.purple.withOpacity(0.5), borderRadius: true, // onImageChange: (prev, next) {_selectedIndex = next;}, initialIndex: selectedItem, images: data .map( (list) { return Image.network(list['image']); }, ).toList(), ), ), ), ), ) ); } } class ImageScreen extends StatefulWidget { final String url; ImageScreen(this.url); @override _MyImageScreen createState() => _MyImageScreen(url); } class _MyImageScreen extends State<ImageScreen> { final String url; _MyImageScreen(this.url); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('ImageScreen'), ), body: Image.network(url, width: double.infinity)); }
-
السلام عليكم ورحمة الله وبركاته تحيه طيبه للجميع لدي استفسار لو تكرمتو قمت بستعمال المكون الاضافي من فلاتر carousel_slider المشكله انني حاولت القيام بربطه مع قاعدة بيانات mysql ولكن لم ينجح الامر لدي احتاج الى مساعده في ربطه مع قاعدة بيانات mysql هذا الكود المستعمل بشكل كامل وهو الان شغال 100%100 ولكن الان ليس من قاعدة بيانات ياتي بصور قمت بانشاء قاعدة البيانات وقمت باضافة 3 حقول بشكل التالي id - image - name import 'package:carousel_slider/carousel_slider.dart'; import 'package:flutter/material.dart'; final List<String> imgList = [ 'https://images.unsplash.com/photo-1520342868574-5fa3804e551c?ixlib=rb-0.3.5&ixid=eyJhcHBfaWQiOjEyMDd9&s=6ff92caffcdd63681a35134a6770ed3b&auto=format&fit=crop&w=1951&q=80', 'https://images.unsplash.com/photo-1522205408450-add114ad53fe?ixlib=rb-0.3.5&ixid=eyJhcHBfaWQiOjEyMDd9&s=368f45b0888aeb0b7b08e3a1084d3ede&auto=format&fit=crop&w=1950&q=80', 'https://images.unsplash.com/photo-1519125323398-675f0ddb6308?ixlib=rb-0.3.5&ixid=eyJhcHBfaWQiOjEyMDd9&s=94a1e718d89ca60a6337a6008341ca50&auto=format&fit=crop&w=1950&q=80', 'https://images.unsplash.com/photo-1523205771623-e0faa4d2813d?ixlib=rb-0.3.5&ixid=eyJhcHBfaWQiOjEyMDd9&s=89719a0d55dd05e2deae4120227e6efc&auto=format&fit=crop&w=1953&q=80', 'https://images.unsplash.com/photo-1508704019882-f9cf40e475b4?ixlib=rb-0.3.5&ixid=eyJhcHBfaWQiOjEyMDd9&s=8c6e5e3aba713b17aa1fe71ab4f0ae5b&auto=format&fit=crop&w=1352&q=80', 'https://images.unsplash.com/photo-1519985176271-adb1088fa94c?ixlib=rb-0.3.5&ixid=eyJhcHBfaWQiOjEyMDd9&s=a0c8d632e977f94e5d312d9893258f59&auto=format&fit=crop&w=1355&q=80' ]; void main() => runApp(CarouselWithIndicator()); final List child = map<Widget>( imgList, (index, i) { return Container( margin: EdgeInsets.all(5.0), child: ClipRRect( borderRadius: BorderRadius.all(Radius.circular(5.0)), child: Stack(children: <Widget>[ Image.network(i, fit: BoxFit.cover, width: 1000.0), Positioned( bottom: 0.0, left: 0.0, right: 0.0, child: Container( decoration: BoxDecoration( gradient: LinearGradient( colors: [Color.fromARGB(200, 0, 0, 0), Color.fromARGB(0, 0, 0, 0)], begin: Alignment.bottomCenter, end: Alignment.topCenter, ), ), padding: EdgeInsets.symmetric(vertical: 10.0, horizontal: 20.0), child: Text( 'No. $index image', style: TextStyle( color: Colors.white, fontSize: 20.0, fontWeight: FontWeight.bold, ), ), ), ), ]), ), ); }, ).toList(); List<T> map<T>(List list, Function handler) { List<T> result = []; for (var i = 0; i < list.length; i++) { result.add(handler(i, list[i])); } return result; } class CarouselWithIndicator extends StatefulWidget { @override _CarouselWithIndicatorState createState() => _CarouselWithIndicatorState(); } class _CarouselWithIndicatorState extends State<CarouselWithIndicator> { int _current = 0; @override Widget build(BuildContext context) { return MaterialApp( title: 'demo', home: Scaffold( appBar: AppBar(title: Text('Carousel slider demo')), body: ListView( children: <Widget>[ Column(children: [ CarouselSlider( items: child, autoPlay: true, enlargeCenterPage: true, aspectRatio: 2.0, onPageChanged: (index) { setState(() { _current = index; }); }, ), Row( mainAxisAlignment: MainAxisAlignment.center, children: map<Widget>( imgList, (index, url) { return Container( width: 8.0, height: 8.0, margin: EdgeInsets.symmetric(vertical: 10.0, horizontal: 2.0), decoration: BoxDecoration( shape: BoxShape.circle, color: _current == index ? Color.fromRGBO(0, 0, 0, 0.9) : Color.fromRGBO(0, 0, 0, 0.4)), ); }, ), ), ]), ], ), ), ); } } ايضا ملف php جاهز لدي وهو يعمل 100%100: <?php include 'con.php'; $sql = "SELECT * FROM SlideShow"; $stmt = $con->prepare($sql); $stmt->execute(); $result = $stmt->get_result(); 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(); فقط مشكلتي في كود لفلاتر ياليت من لديه خبره يساعدنا ولكم جزيل الشكر
-
اهلا بك اخي المشكله ان المشروع كامل وليس جزء محدد قمت بالاستغناء عن الامر وستعمال sqlite وتم حل المشكله لك كل الشكر اخي العزيز
-
مرحبا اخي قمت بعمل الكود بشكل التالي @override void initState() { // TODO: implement initState super.initState(); WidgetsBinding.instance.addPostFrameCallback((_) { _myPreferences.init().then((value) { setState(() { _myPreferences = value; gatNameCUNTRY=_myPreferences.NameCuntry; }); }); }); print('testgetname ${gatNameCUNTRY.toString()}'); ولا تزال النتيجة null هل يوجد حل مختلف؟
- 5 اجابة
-
- 1
-
السلام عليكم ورحمة الله وبركاته تحيه طيبه للجميع انا عامل ملف shared_preferences عام او كلاس منفصل بحيث اني استعمله من اي موقع في مشروعي الكلاس شغال وبشكل ممتاز ولكن لدي مشكله مع واحد من البيانات المخزنه فيه كالتالي: لو قمت بوضع الكود ليعمل مع بداية تشغيل الصفحه بشكل التالي احصل على null @override void initState() { // TODO: implement initState super.initState(); setState(() { _myPreferences.init().then((value) { setState(() { _myPreferences = value; gatNameCUNTRY=_myPreferences.NameCuntry; }); }); }); print('testgetname ${gatNameCUNTRY.toString()}'); ولو قمت بوضعه بشكل التالي لا احصل على اي نتيجه حتى null لا تظهر : gatNameCUNTRY=_myPreferences.NameCuntry; print('testgetname ${gatNameCUNTRY.toString()}'); ولكن لو قمت بوضعه بشكل التالي احصل على البيانات ولكن بهذا الشكل انا لا استطيع استخدامه خارج هذا النقطه ولا استطيع استخدامه في موقع مختلف في الصفحه فقط لو وضعت print في هذا الموقع : هذا الشكل احصل على البيانات @override void initState() { // TODO: implement initState super.initState(); setState(() { _myPreferences.init().then((value) { setState(() { _myPreferences = value; gatNameCUNTRY=_myPreferences.NameCuntry; print('testgetname ${gatNameCUNTRY.toString()}'); }); }); }); كيف يمكن حل هذا المشكله ؟ مع العلم انني عاملbottomNavigationBar ولو قمت بتغير الصفحه من هذا الصفحه التي تحتوي على المشكله الى صفحه مختلفه والعوده لها الكود يصبح شغال 100%100 من اي موقع في الصفحه لا اعلم كيف ولكن مما فهمته ان الكود لا يعمل في بداية اقلاع الصفحه ويحتاج ان انتقل الى صفحه مختلفه ثم اعود لها حتى يعمل هل يعمل احد حل لهذا المشكله ؟
-
السلام عليكم ورحمة الله وبركاته تحيه طيبه للجميع احاول طلب بيانات من قاعدة البيانات عن طريق الاتصال لدى ملف PHP المشكله انني احتاج الى ارسال اثنان String في URL Future<List<list>> Fetch() async { apiURL = 'https://**********/list.php?id=' + widget.id.toString(); var response = await http.get(apiURL); var flowers = List<list>(); if (response.statusCode == 200) { final items = json.decode(response.body).cast<Map<String, dynamic>>(); List<list> listOfFruits = items.map<list>((json) { return list.fromJson(json); }).toList(); return listOfFruits; } else { throw Exception('Failed to load data from Server.'); } } الان انا اقوم بارسال طلب id ولكن ارغب ايضا بطلب سترينج اضافي مثال على ذلك : apiURL = 'https://**********/list.php?id=' + widget.id.toString()+state=+widget.state.toString(); احاول فعل شي مشابه لذلك هل يعلم احد طريقة عمل ذلك؟