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

Flutter Dev

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

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

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

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

    2

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

  1. ربي يعطيك الف عافيه عزيزي بس سوال لو تكرمت هل هذا الاضافة من خلالها اقدر استعملها على المنصتين مثل خدمة service في الجافا او الاندرويد بالاصح انا ارغب بتشغيل دالة استعلام في الخلفية بشكل مستمر طوال ما المستخدم خارج التطبيق حتى تجلب لي الاشعارات من قاعدة البيانات هل هذا الطريقة بتكون مفيده الى هذا العمل؟
  2. اهلا بك اخي يعني الفكره اني يجب ان اقوم اول خطوه بتخزين token على mysql? في جدول التعليقات بتحديد؟او؟ اذا كان فيه شرح يوتيوب اكون شاكر لو يتم وضع روابط
  3. السلام عليكم ورحمة الله وبركاته استفسار لو تكرمتو .. انا اعرف اعمل اضافة ل firebase_messaging في مشروعي فلاتر وارسل الاشعارات من firebase clode هذا ما فيها اي مشكله ولكن لم افهم كيف يمكنني ربط Mysql مع firebase_messaging انا لدي جدول باسم التعليقات او تعليقات المستخدمين الفكره اني اريد كل ما اجا مستخدم مثلا Aارسل اشعار الى B الان صار لدينا اشعار جديد في جدول بيانات mysql احتاج ارسل اشعار الى مستخدم المستهدف انا اعرف اعمل ملفات php واعرف اضع الجمله الشرطيه ID=id لستهداف المستخدم عادي ولكن ما لك افهمه كيف يتم ربط اشعارات firebase_messaging مع قاعدة mysql او ما هيا الخطوات او الفكره حقيقي هذا الموضوع غامض لدي اتمنى اذا احد ممكن يوصل ويشرح لي الفكره انا كنت اتعامل مع الاشعارات في الجافا عن طريق داله تقرا لي اكبر رقم اي دي واستهدف المستخدم هذا بسيطه لكني لم افهم الان في فلاتر ربط firebase_messaging مع mysql كيف الفكره تتم؟ مع العلم اني اريد ارسل body و title. من mysql
  4. السلام عليكم ورحمة الله وبركاته تحيه طيبه للجميع قمت بعمل نموذج مشروع لتشغيل workmanager لجعل التطبيق يعمل في الخلفية اثناء ما المستخدم خارج التطبيق المشكلة الان التطبيق على الاندرويد شغال ولكن مع تشغيله في ios ومحاكي على الماك تظهر المكله التاليه: [VERBOSE-2:ui_dart_state.cc(166)] Unhandled Exception: MissingPluginException(No implementation found for method initialize on channel be.tramckrijte.workmanager/foreground_channel_work_manager) #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:159:7) <asynchronous suspension> #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:334:12) #2 Workmanager.initialize (package:workmanager/src/workmanager.dart:100:30) #3 _MyHomePageState.initState (package:toios/main.dart:58:17) #4 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4684:58) #5 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4520:5) #6 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3490:14) #7 Element.updateChild (package:flutter/src/widgets/framework.dart:3258:18) #8 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5874:14) #9 Element.inflat<…> [VERBOSE-2:ui_dart_state.cc(166)] Unhandled Exception: MissingPluginException(No implementation found for method registerPeriodicTask on channel be.tramckrijte.workmanager/foreground_channel_work_manager) #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:159:7) <asynchronous suspension> #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:334:12) #2 Workmanager.registerPeriodicTask (package:workmanager/src/workmanager.dart:158:32) #3 _MyHomePageState.initState (package:toios/main.dart:63:17) #4 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4684:58) #5 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4520:5) #6 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3490:14) #7 Element.updateChild (package:flutter/src/widgets/framework.dart:3258:18) #8 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5874:14) #9<…> وصفحات الكود كامل كالتالي انا عاملها: import 'package:flutter/material.dart'; import 'package:geolocator/geolocator.dart'; import 'package:workmanager/workmanager.dart'; import 'package:toios/notification.dart' as notif; const fetchBackground = "fetchBackground"; void callbackDispatcher() { Workmanager.executeTask((task, inputData) async { switch (task) { case fetchBackground: //Geolocator geoLocator = Geolocator()..forceAndroidLocationManager = true; Position userLocation = await Geolocator().getCurrentPosition(desiredAccuracy: LocationAccuracy.high); notif.Notification notification = new notif.Notification(); notification.showNotificationWithoutSound(userLocation); break; } return Future.value(true); }); } void main() => runApp(MyApp()); class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.blue, ), home: MyHomePage(title: 'Flutter Demo Home Page'), ); } } class MyHomePage extends StatefulWidget { MyHomePage({Key key, this.title}) : super(key: key); final String title; @override _MyHomePageState createState() => _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> { @override void initState() { super.initState(); // We don't need it anymore since it will be executed in background //this._getUserPosition(); Workmanager.initialize( callbackDispatcher, isInDebugMode: true, ); Workmanager.registerPeriodicTask( "1", fetchBackground, frequency: Duration(minutes: 30), ); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(widget.title), ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ Text( "", style: Theme.of(context).textTheme.display1, ), ], ), ), ); } } import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:geolocator/geolocator.dart'; class Notification { FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin; Future showNotificationWithoutSound(Position position) async { print(position.toString()); var androidPlatformChannelSpecifics = new AndroidNotificationDetails( '1', 'location-bg', 'fetch location in background', playSound: false, importance: Importance.Max, priority: Priority.High); var iOSPlatformChannelSpecifics = new IOSNotificationDetails(presentSound: false); var platformChannelSpecifics = new NotificationDetails( androidPlatformChannelSpecifics, iOSPlatformChannelSpecifics); await flutterLocalNotificationsPlugin.show( 0, 'Location fetched', position.toString(), platformChannelSpecifics, payload: '', ); } Notification() { var initializationSettingsAndroid = new AndroidInitializationSettings('@mipmap/ic_launcher'); var initializationSettingsIOS = new IOSInitializationSettings(); var initializationSettings = new InitializationSettings( initializationSettingsAndroid, initializationSettingsIOS); flutterLocalNotificationsPlugin = new FlutterLocalNotificationsPlugin(); flutterLocalNotificationsPlugin.initialize(initializationSettings); } } اذا احد يعرف حل للمشكله ياليت يفيدنا ابها
  5. حقيقي رغم اني دارس ماده كامله بالاضافة الى تنفيذ كم مشروع سابقا بستخدام هذا للغة من الربط بين قواعد البيانات ولكن هذا كانت اول مره اشوف هذا الطريقة او اعرف عنها كل الشكر لك ي غالي
  6. ربي يعطيك الف صحه وعافيه شاكر لك زادك الله من واسع علمه وفضله الطريقة ناجحة 100/100 شكرا لك
  7. السلام عليكم ورحمة الله وبركاته تحيه طيبه للجميع. لدي استفسار لو تكرمتو. قمت بعمل دالة للاستعلام عن حقل id من قاعدة بيانات mysql كود الاستعلام كالتالي: Future<String> getLogin() async { var response = await http.get(Uri.encodeFull("http://xxxxxxxxx/Noti.php"),); setState(() { var convertDataToJson = json.decode(response.body.toString()); data = convertDataToJson['result']; if (data != null) { User_ID =int.parse(data[0]['id']); } } ); } وملف PHP كالتالي: <?php require_once 'connt.php'; $query="SELECT * FROM addcomment"; $result = mysqli_query($con,$query); $array = array(); while ($row = mysqli_fetch_assoc($result)) { $array[] = $row; } echo ($result) ? json_encode(array("code" => 1, "result"=>$array)) : json_encode(array("code" => 0, "message"=>"Data not found !")); ?> الكود الذي تم ادرجه في الاعلى يعمل ولكن انا احتاج اني احصل على استعلام اعلى رقم ID من الحقل مهما كان موقعه او ترتيبه عشان كذا عملت الكود بشكل التالي: <?php require_once 'connt.php'; $query="SELECT MAX( id ) FROM addcomment"; $result = mysqli_query($con,$query); $array = array(); while ($row = mysqli_fetch_assoc($result)) { $array[] = $row; } echo ($result) ? json_encode(array("code" => 1, "result"=>$array)) : json_encode(array("code" => 0, "message"=>"Data not found !")); ?> ولكن واجهتني المشكله التالية لما استعملت الكود اعلاه: E/flutter (29294): [ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: Invalid argument(s): The source must not be null E/flutter (29294): #0 int.parse (dart:core-patch/integers_patch.dart:51:25) E/flutter (29294): #1 AddCommentsState.getLogin.<anonymous closure> (package:flutter_apptestqeuriy/Ready.dart:89:22) E/flutter (29294): #2 State.setState (package:flutter/src/widgets/framework.dart:1240:30) E/flutter (29294): #3 AddCommentsState.getLogin (package:flutter_apptestqeuriy/Ready.dart:85:5) E/flutter (29294): <asynchronous suspension> E/flutter (29294): #4 AddCommentsState.initState.<anonymous closure> (package:flutter_apptestqeuriy/Ready.dart:58:9) E/flutter (29294): #5 interval.function (package:flutter_apptestqeuriy/Ready.dart:16:9) E/flutter (29294): #6 _rootRun (dart:async/zone.dart:1182:47) E/flutter (29294): #7 _CustomZone.run (dart:async/zone.dart:1093:19) E/flutter (29294): #8 _CustomZone.runGuarded (dart:async/zone.dart:997:7) E/flutter (29294): #9 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1037:23) E/flutter (29294): #10 _rootRun (dart:async/zone.dart:1190:13) E/flutter (29294): #11 _CustomZone.run (dart:async/zone.dart:1093:19) E/flutter (29294): #12 _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:1021:23) E/flutter (29294): #13 Timer._createTimer.<anonymous closure> (dart:async-patch/timer_patch.dart:18:15) E/flutter (29294): #14 _Timer._runTimers (dart:isolate-patch/timer_impl.dart:397:19) E/flutter (29294): #15 _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:428:5) E/flutter (29294): #16 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12) E/flutter (29294): هل يعلم احد حل للمشكلة بحيث اني احصل على اعلى ID في حقل ID?
  8. هلاك بيك اخوي ادري اخي انا ليس لدي اي مشكلة في if بنفس حاليا مشكلتي في علامة اصغر من هنا محتاج مساعده The operator '<' isn't defined for the type 'String'. هذا الخطا الي يواجهين لديها
  9. السلام عليكم ورحمة الله وبركاته تحيه طيبه للجميع ي اخوان تواجهني مشكلة مع كتابة اكبر من واصغر من كالتالي : Future<String> getLogin() async { var response = await http.get( Uri.encodeFull("http://xxxxxxxxxxx/ApplicationP.php"),); setState(() { var convertDataToJson = json.decode(response.body); data = convertDataToJson['result']; if (data != null) { user_name = data[0]['id']; if (_myPreferences.id < user_name) { _myPreferences.id = user_name; _myPreferences.commit(); } } }); } ارغب بعمل جمله شرطيه في الاستعلام يعني if او بالعربي اذا كانت الاي دي الي جاي اكبر من الي محفوظ معي يعمل لي حفظ الجديد المشكلة الان ان > يظهر خطا لدي لا اعلم هل انا كاتب الجمله الشرطيه غلط او ماذا ياليت الي لديه خبره في الموضوع يساعدني في تعديل الكود
  10. زادك الله من واسع فضله عزيزي تسلم
  11. ولكن عزيزي انا بياناتي على قاعدة بيانات mysql مثلا التعليقات تحفظ على جدول في هذا القاعدة وانا اريد اعطي المستخدم تنبيه انه فيه تعليق جديد كيف رح اربط الاثنين ؟هل توجد طريقة لذلك
  12. اهلا بك عزيزي اذا كان لا توجد خدمة service كيف يتم عمل نظام الاشعارات اذن للمستخدم في فلاتر؟
  13. تحيه طيبه للجميع ارغب بمعرفة كيفية عمل service يعمل في خلفية التطبيق بستمرار في فلاتر ياليت اذا احد معه مثال بسيط لعمل ذلك يشاركه معنا ربي يعطيكم العافيه
  14. اهلا بيك اخوي طيب جميل هيا ما نحتاج لها بس تعرف وين المفترض بي استخدامها لدى الكود الذي رفعته انا؟
  15. السلام عليكم ورحمة الله وبركاته تحيه طيبه للجميع اقوم ببرمجة صفحة تسجيل عضوية من خلال OTP فايربيس ولكن واجهتني مشكلة بسيطه بها الان يتم كتابة رقم الهاتف مع فتاح خط الدولة او كود الدولة انا اريد ان اضيف بوكس اختيار كود الدولة بحيث اني لن احتاج الى كتابة كود الدولة في تكس فيلد . اذا احد يعرف كيف ممكن اضيفه الى الكود الذي استعمله يفيدني لو تكرمتو. هذا الكود الذي استعمله حاليا: main import 'package:flutter/material.dart'; import 'package:phnauthnew/services/authservice.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( debugShowCheckedModeBanner: false, home: AuthService().handleAuth(), ); } } authservice page import 'package:firebase_auth/firebase_auth.dart'; import 'package:flutter/material.dart'; import 'package:phnauthnew/screens/dashboard.dart'; import 'package:phnauthnew/screens/loginpage.dart'; class AuthService { //Handles Auth handleAuth() { return StreamBuilder( stream: FirebaseAuth.instance.onAuthStateChanged, builder: (BuildContext context, snapshot) { if (snapshot.hasData) { return DashboardPage(); } else { return LoginPage(); } }); } //Sign out signOut() { FirebaseAuth.instance.signOut(); } //SignIn signIn(AuthCredential authCreds) { FirebaseAuth.instance.signInWithCredential(authCreds); } signInWithOTP(smsCode, verId) { AuthCredential authCreds = PhoneAuthProvider.getCredential( verificationId: verId, smsCode: smsCode); signIn(authCreds); } } loginpage page import 'package:firebase_auth/firebase_auth.dart'; import 'package:flutter/material.dart'; import 'package:phnauthnew/services/authservice.dart'; class LoginPage extends StatefulWidget { @override _LoginPageState createState() => _LoginPageState(); } class _LoginPageState extends State<LoginPage> { final formKey = new GlobalKey<FormState>(); String phoneNo, verificationId, smsCode; bool codeSent = false; @override Widget build(BuildContext context) { return Scaffold( body: Form( key: formKey, child: Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ Padding( padding: EdgeInsets.only(left: 25.0, right: 25.0), child: TextFormField( keyboardType: TextInputType.phone, decoration: InputDecoration(hintText: 'Enter phone number'), onChanged: (val) { setState(() { this.phoneNo = val; }); }, )), codeSent ? Padding( padding: EdgeInsets.only(left: 25.0, right: 25.0), child: TextFormField( keyboardType: TextInputType.phone, decoration: InputDecoration(hintText: 'Enter OTP'), onChanged: (val) { setState(() { this.smsCode = val; }); }, )) : Container(), Padding( padding: EdgeInsets.only(left: 25.0, right: 25.0), child: RaisedButton( child: Center(child: codeSent ? Text('Login'):Text('Verify')), onPressed: () { codeSent ? AuthService().signInWithOTP(smsCode, verificationId):verifyPhone(phoneNo); })) ], )), ); } Future<void> verifyPhone(phoneNo) async { final PhoneVerificationCompleted verified = (AuthCredential authResult) { AuthService().signIn(authResult); }; final PhoneVerificationFailed verificationfailed = (AuthException authException) { print('${authException.message}'); }; final PhoneCodeSent smsSent = (String verId, [int forceResend]) { this.verificationId = verId; setState(() { this.codeSent = true; }); }; final PhoneCodeAutoRetrievalTimeout autoTimeout = (String verId) { this.verificationId = verId; }; await FirebaseAuth.instance.verifyPhoneNumber( phoneNumber: phoneNo, timeout: const Duration(seconds: 5), verificationCompleted: verified, verificationFailed: verificationfailed, codeSent: smsSent, codeAutoRetrievalTimeout: autoTimeout); } } dashboard page import 'package:flutter/material.dart'; import 'package:phnauthnew/services/authservice.dart'; class DashboardPage extends StatefulWidget { @override _DashboardPageState createState() => _DashboardPageState(); } class _DashboardPageState extends State<DashboardPage> { @override Widget build(BuildContext context) { return Scaffold( body: Center( child: RaisedButton( child: Text('Signout'), onPressed: () { AuthService().signOut(); }, ) ) ); } }
  16. اهلا بك الغالي شاكر لك ردك عزيزي تم حل المشكلة باخراج مجلد المشروع الى سطح المكتب وذهبت المشاكل
  17. اهلا بك اختي سبحان الله انا الي 3 ساعات ابحث عن سبب المشكلة واول من طرحت المشكله لديكم وجدت الحل .. للفائده للجميع كانت المشكله اني واضع مجلد المشروع في مجلد ثاني قمت بوضعه مباشرتا على سطح المكتب وتم حل المشكله ربي يعطيك الف عافيه على سرعة تجاوبك
  18. السلام عليكم ورحمة الله وبركاته تحيه طيبه للجميع ي اخوان لدي مشروع فلاتر كنت شغال عليه ف لاب توب ثاني قمت بتغير لاب توب وتثبيت كل شي مثل الجهاز السابق من برامج وفلاتر وغيره ولكن حاليا لدي مشكلة لما انقل مشروعي الى الجهاز الجديد كل صفحات المشروع يظهر لدي الخط الاحمر الذي يدل على وجود اخطاء مع العلم انه مشروعي لا يحتوي على الاخطاء في جهازي السابق ولكن على ما يبدو اني بجاح الى عمل امر ما بعد النقل هل يعلم احدكم حل لهذا المشكلة؟
  19. اهلا بك اخي شاكر لك ردك اولا ايضا بنسبه ل نوع المعالج الفئه H and U حسب ما فهمت يفضل حاسوب المبرمج يكون H هذا الي فهمته لنه الاندرويد ستوديو ثقيل جدا وبذات الامليتر المرفق لديه ايضا ياليت توضحلي سبب اختيارك لاب توب asus على لينوفو
  20. السلام عليكم ورحمة الله وبركاته تحيه طيبه للجميع.. حقيقه اني ذهبت لشرا لاب توب جديد كوني اعاني من بعض المشاكل في جهازي القديم ولم استطيع تطويره اكثر ولكن احترت في نوعين من الاجهزة المتوفره طبعا كل اختياراتي كانت كالتالي Intel i7 --10generation 16GB--RAM SSD ما اقل من 500 وكرت الشاشه ما اقل من 2GB ولكن يوجد نوعا الاول لاب توب الالعاب وثاني لاب توب العادي الاثنين نفس الموصفات تقريبا الفرق في لاب توب الالعاب السعر اكبر + المراوح 2 + البعض ياتي ب 4GB كرت لشاشه طبيعة عملي اعمال ل ساعات طوال من 4 ل 7 ساعات تقريبا بعض الايام استخدام اندرويد ستوديو والفيجول ستوديو و المحاكي المرفق لدى اندرويد ستوديو + والاهم الاله الافتراضيه اوvirtacl box لتشغيل mac os امثله على لاب توب الالعاب الذي وجدتهم امال لاب توبات الاخره مثال عليهم هذا https://www.infotec.com.pe/laptops-y-tablets/18052-hp-15-da2211nia-i7-10510u-8gb-1tb-15-6-fhd-t-video-mx130-4gb-freedos.html طبعا هو جاي 8 جيجا ولكن انا طلبت اضافه له حتى يصبح 16 جيجا مع قرص ssd ولقد احترت في الاختيار بين النوعين لاب توب الالعاب ولاب توب العادي ايضا لا اعلم هل المبرمج محتاج الى كرت شاشه بسعة 4 GB وهل فكرت اذا لاب جاي 8 جيجا مثلا واطلب منه يعمله 16 بيكون مثل الي جاي من المصنع 16 في الاداء؟ ياليت الي جرب وسبق ومر بتجربه يفيدنا عن تجربته
  21. شاكر لك ي غالي الموارد قليله نعم لقد فهمت الامر يحتاجلي 16 جيجا من اجل ان اعطي الاله اكثر من 12 جيجا رام والباقي للحاسب الاساسي بنسببه للمعالج انا اسال لني محصل الاثنين بس فيه فرق بالاسعار بينهم th 6 اقل طبيعية الحال
  22. ربي يعطيك الف عافيه لقد فهمت الامر كل الشكر لك
  23. ساقوم بهذا التجربه باذن الله ولكن سوال ي غالي اعذرني ولكن هل معالج i7 th6 رح يشكل فرق كبير عن معالج i7 th 9 او th10?
  24. انتي لم تقومي بالعمل على virtual machicne بهذا الموصفات المذكوره بعد زيادة الرام؟اذا كنتي عملتي كيف كانت التجربه؟ ايضا سوال لو سمحتي اذا كان i7 ولكن الاصدار 6th هل رح يكون فيه فرق كبير بينه وبين الاصدار 8th؟في الادا؟ او حتى th9 مع وجود رام 16 جيجا
  25. نعم بدون الاله الحاسوب ممتاز جدا سابقا اعتقدت انه الامر من جهازي الخاص اليوم لدي جهاز جديد انا بنفسي فاك كرتونه حسب موصفاته الي ف اعلى ولكنه ايضا يعاني نفس الشي مع الماك الوهمي
×
×
  • أضف...