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

Flutter Dev

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

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

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

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

    2

أجوبة بواسطة Flutter Dev

  1. بتاريخ 12 دقائق مضت قال Yomna Raouf:

    مرحبًا مروان.

    هل تقصد RAM 16 GB??

    @مروان مروان3

    هل يمكنك إرفاق صورة لل task manager أثناء تشغيلك لل virtual machine ??

    اهلا بك

    الرام 8 

    ولكن المعالج i7 الاصدار الثامن 

    بتاريخ 1 دقيقة مضت قال Omar Haddad2:

    أفضل حل  هو إستخدام  لاب توب  ماك للعمل عليه , لأنه من الصعب أن تستخدم  نظام الvirtualization لبيئة العمل

     وأيضاً أن تقوم بتشغيل  xcode  فبذالك تستهلك موارد الجهاز مما سيؤثر على حرارة اللاب توب  وسوف يسبب بطىء بالأداء .  

    اهلا بك اخي

    المشكله سعر الجديد مرتفع جدا جدا لدينا مقارنه ب الحواسيب العاديه

  2. السلام عليكم ورحمة الله وبركاته

    تحيه طيب للجميع ..

    ي اخوان انا احاول تشغيل الاله الوهيمه وبتحديد تشغيل نظام ماك عليها عشان استطيع تشغيل xcode 

    محتاج الى موصفات لاب توب الي ممكن تعمل لي هذا الحاجه بسلسه ..

    سابقا قمت بطرح سوال مختلف حول هذا الموضوع لتطوير حاسوبي ولكني رايت استبداله افضل..

     

    المشكله حاليا اني قمت بتجربه تشغيل الاله على دسك توب i7 8th

    6cores

    رام 8 

    logical 12 

    ولكن لا يزال الاله مع تشغيلها بطيه

    برغم اني اعطيتها 6 رام

     

    ما هو الحل لني ارغب بشرا لاب توب لعمل ذلك

  3. بتاريخ 8 دقائق مضت قال Yomna Raouf:

    لا يوجد مشكلة في معالج الجهاز الخاص بك.و لكن إذا كنت تريد الترقية أنصح ب core i7 8th or 10th generation.  أو core i9 سيكون أفضل إذا كنت تستطيع تكلفة أعلى.

    شكرا لك اختي شاكر لك 

    • أعجبني 1
  4. بتاريخ 5 ساعات قال Wael Aljamal:

    إن تثبيت VM ware يتطلب مجهوداً إضافيا من المعالج أيضا لأنه يقوم بإعادة تفسير التعليمات البرمجية التنفيذية من نظام التشغيل المثبت على VM ware إلى نظام ويندوز ليعود بالنتائج مرة أخرى للنظام المثبت على VM ware  لذلك إذا كنت تستطيع ترقية المعالج الخاص بك فلا تبخل بذلك لأن بناء التطبيقات سيأخذ وقتاً كبيرا (ركز في المعالج على عدد الأنوية الفعالة) cores في المعالج وليس عدد ال Threads وهذايتعلق بجيل المعالج processor generation (أنصحك ب 4 Cores على الأقل ولكن 8 Cores ستكون ممتازة).

    - طبعا عليك ترقية الذاكرة RAM إلى 16GB.

     

    اهلا بك عزيزي

    شاكر لك ردك اولا

    بنسبه للمعالج عزيزي

    كيف ممكن اتاكد اذا كان ممكن ارفع المعالج الخاص بجهازي؟

     

    حقيقي مفكر ابيعه واخذ جهاز ثاني

    ولكن لو كان الترقيه رح تعطيني نفس النتيجة ف انا افضل الاحتفاظ به التكلفه ستكون اقل بكثير

     

     

    اذن هل يفضل يكون كور اي 7 و gerneration من 4 ف اعلى؟

    • أعجبني 1
  5. بتاريخ 16 دقائق مضت قال Yomna Raouf:

    نعم قمت بتجربة ذلك من قبل.

    نعم بالضبط حتى حواسيب ماك إذا كانت الرامات بها ذات سعة منخفضة لن تتمكن من تشغيل كل هذه الأشياء عليها.

    إذا قمت بترقية الرامات سيعمل كل شيء بشكل ممتاز

    اشكرك ي غالي

    ربي يعطيك العافيه

    • أعجبني 1
  6. بتاريخ 3 دقائق مضت قال Yomna Raouf:

    تكمن المشكلة لديك في ال RAM لأنك عند التطوير تقوم باستخدام محاكي emulator و طرفية و محرر أكواد بالإضافة إلى أحد المتصفحات لتتمكن من البحث عن حلول للمشكلات التي تواجهك أو البحث عن أي شيء تريده و بالطبع كل هذا يستهلك جزء كبير من مساحة ال  RAM لذلك ستجد أن البرامج تنهار و تغلق في بعض الأحيان أو تعمل ببطء شديد. 

    أنصحك بعمل ترقية لل RAM الخاص بجهازك إلى 16GB RAM على الأقل "بإضافة RAM أخرى سعتها 8GB" سيعمل الجهاز بشكل أفضل في هذه الحالة و لكن ليس بأفضل أداء. أو إذا كنت تستطيع أن تتحمل تكلفة ترقيتها إلى 32GB سيكون هذا أفضل بكثير و لن تعاني أي مشاكل بسبب بطء الجهاز في العمل. 

    شكرا على ردك عزيزي اولا

    بشكل عام عزيزي هو الماك اول من يفتح لدي يكون بطي كثير

    واذا قمت بفتح تطبيقات مثل ما ذكرت يصبح ابطى ب كثير

     

    اذن حسب ما فهمت منك لو كانت الامكانيات متوفره في الجهاز لن اواجه مشكله بمعنى استطيع تشغيل الماك على VMware مثل لو كنت املك حاسوب ماك بضبط وبنفس القدرات هل هذا صححيح؟ وهل سبق وجربت ذلك من قبل اخوي؟

  7. تحيه طيبه للجميع

    اخواني انا ابرمج تطبيق بلغة flutter وكما تعلمون حتى انتقل الى قسم ios انا محتاج الى حاسوب ماك

    ولكن حاسوبي عادي نظام ويندوز 10 

     

    جهازي 8 جيجا رام

    كور اي 5 

    ssd 480 

     

    قمت بتثبيت الماك في VMware واعطيته رام الى 8 جيجا

    ولكن لا يزال بطي ويوجد فيه الكثير من التعليق

     

    استفساري وياليت اذا احد مجرب ويكون معه فكره اكبر

     

    شو الموصفات المطلوب تواجدها في جهازي حتى يعمل الماك عن طريق VMware بسلسله وبدون تعليق 

    مع العلم اني رح استخدم المحاكي + اندرويد ستوديو في الماك

     

    اما ان مهما فعلت سيبقى التعليق موجود؟يعني هل المشكلة في VMware ؟

     

    ارجو الافاده من اصحاب الخبره

     

    • أعجبني 1
  8. بتاريخ 19 دقائق مضت قال ماجد قطوسة:

    أهلاً بك أخ مروان .  
    في البداية يجب أن تجلب بيانات المستخدم من قاعدة البيانات ، و تخزنها داخل ال textFiled و قم باستخدام الخاصية onChange داخل ال textField  كالتالي :- 

     

    
    TextField(
      onChanged: (name) {
       setState(){
         _name = name ; 
       }
      },
    );

    بحيث تقوم هذه الخاصية  بتغير قيمة  المتغير _name فور قيام المستخدم بتعديل القيمة داخل الحقل .  
    و في كبسة update تقوم بتعديل البيانات التي تم تعديلها ، و التي تم تعدل تبقى كما هي .  
    ملاحظة: هناك أكثر من طريقة لتحديث بيانات المستخدم و هذه واحدة منهم و انا استخدمها في معظم الأحيان ،  

    • بالنسبة للصورة 

    يجب أن تفصل بين الصورة و الحقول ،  بحيث عندما يحدث المستخدم الصورة الخاصة به يتم تحديها مباشرة في قاعدة البيانات ولا يشترط ان يحدث حقول الإدخال (أظن ان المشكلة لديك بسبب هذه النقطة )

    شكراً لك  . 

    شاكر لك ردك عزيزي وتوضيحك ولكن ي غالي كيف يعني افصل بينهم لم افهم هذا النقطه اعذرني اذا ممكن توضح اكثر انا ارغب بعدم الاشتراط فعلا ولكن هل قصدك نعمل كل شي له زر خاص؟

  9. السلام عليكم ورحمة الله وبركاته 

    تحيه طيبه للجميع.

    اقوم ببرمجة صفحة تعديل البيانات من قبل المستخدم المستخدم من خلال هذا الصفحة قادر على تعديل بياناته + الصورة 

    الان تغير الصورة شغال ميه ميه ولكن لدي مشكلة بيانات الحقول لا تتغير ولا تعطي اي استجابة الا في حالة وحده اذا كنت عامل اختيار لصورة يعني يجب ان احدث الصورة من اجل تحديث الحقول لم استطيع ايجاد السبب ابد يجب ان اكود قارد على تعديل اوتحديث الحقول بدون تحديث الصورة

    ياليت اذا احد لديه فكره وخبره في فلاتر يساعدني

    هذا كود الصفحة كامل

    import 'package:flutter/material.dart';
    import 'package:flutter/services.dart';
    import 'package:http/http.dart' as http;
    import 'dart:async';
    import 'dart:convert';
    import 'MyPreferences.dart';
    import 'dart:io';
    import 'package:image_picker/image_picker.dart';
    class Update extends StatefulWidget {
      var getid;
      Update({Key key, this.getid}) : super(key: key);
      @override
      _UpdateState createState() => new _UpdateState();
    }
    
    class _UpdateState extends State<Update> {
      bool visibilityController = true;
      MyPreferences _myPreferences = MyPreferences();
      var getid;
      Future<File> file;
      String status = '';
      String base64Image;
      File tmpFile;
      String errMessage = 'Error Uploading Image';
    
      var data;
      String uploadEndPoint;
      var _username= "";
      var _phone = "";
      var _password = "";
      var image ="";
    var extradata="";
    
     // var _genderController = new TextEditingController();
      var _phoneController = new TextEditingController();
      var _firstnameController = new TextEditingController();
      var _lastnameController = new TextEditingController();
      var _extradataController = new TextEditingController();
      chooseImage() {
        setState(() {
          file = ImagePicker.pickImage(source: ImageSource.gallery);
          visibilityController = false;
        });
        setStatus('');
      }
    
      setStatus(String message) {
        setState(() {
          status = message;
    
        });
      }
    
    
    
      Widget showImage() {
        return FutureBuilder<File>(
          future: file,
          builder: (BuildContext context, AsyncSnapshot<File> snapshot) {
            if (snapshot.connectionState == ConnectionState.done &&
                null != snapshot.data) {
              tmpFile = snapshot.data;
              base64Image = base64Encode(snapshot.data.readAsBytesSync());
    
              return Flexible(
                child: Card(
                  child: SizedBox(
                    width: 400.0,
                    height: 300.0,
    
                  child: Image.file(
                    snapshot.data,
                    fit: BoxFit.cover,
                  ),
                ),
                ),
              );
    
            } else if (null != snapshot.error) {
              return const Text(
                'Error Picking Image',
                textAlign: TextAlign.center,
              );
            } else {
              return const Text(
                '',
                textAlign: TextAlign.center,
              );
            }
          },
    
        );
    
      }
      Future<String> _ShowDialog(String msg) async {
        return showDialog<String>(
          context: context,
          barrierDismissible: false, // user must tap button!
          builder: (BuildContext context) {
            return new AlertDialog(
              title: new Text('Rewind and remember'),
              content: new SingleChildScrollView(
                child: new ListBody(
                  children: <Widget>[
                    new Text(msg),
                  ],
                ),
              ),
              actions: <Widget>[
                new FlatButton(
                  child: new Text('Close'),
                  onPressed: () {
                    Navigator.of(context).pop();
                  },
                ),
              ],
            );
          },
        );
      }
    
      void _editData() async {
        //var date = new DateTime.now().toString();
        String NameImage =DateTime.now().millisecondsSinceEpoch.toString();
        var url = 'http://xxxxxxxxxxx/ModifyProfile.php';
    
        var response = await http.post(url, body: {
    
          "id": widget.getid.toString(),
    
          "name": _firstnameController.text,
         "phone": _phoneController.text,
         "password": _lastnameController.text,
          "NameImage": NameImage,
          "image": base64Image,
          "extradata": _extradataController.text,
    
        });
    
        if (response.statusCode == 200) {
    
          _ShowDialog("Updated Successfully");
        } else {
          _ShowDialog("Updated Failer");
        }
    
        //onEditedAccount();
        //print(_adresseController.text);
      }
    
      _fetchData() async {
    
        final url =
            "http://xxxxxxxxxxx/ConsultProfile.php?id=${widget.getid}";
        final response = await http.get(url);
        if (response.statusCode == 200) {
          final map = json.decode(response.body);
          final videosMap = map["result"];
    
          setState(() {
    
            this.data = videosMap;
            _username = data[0]['name'];
            _phone = data[0]['phone'];
            _password = data[0]['password'];
            image = data[0]['image'];
            extradata = data[0]['extradata'];
          //  _gender = data[0]['gender'];
            print(data);
          });
        }
      }
    
      @override
      void initState() {
        super.initState();
        _fetchData();
    
      }
    
      @override
      Widget build(BuildContext context) {
       
        return new Scaffold(
            appBar: AppBar(
              title: Text("Update Profile"),
              backgroundColor: const Color(0xFFf6c626), // status bar color
              brightness: Brightness.light,
            ),
            body: new Center(
              child: data == null
                  ? new CircularProgressIndicator()
                  : new ListView(
                      children: <Widget>[
              Card(
              child: new Column(
              children: <Widget>[
    
    
               Container(
                child: Visibility(
                visible: visibilityController,
                child: Card(
                    child: new Column(
                        children: <Widget>[
                          Image.network(image, width: 385,height: 300,
                            fit: BoxFit.cover,
                          ),
                        ]
                    )
                ),
              ),
            ),
    
    
        Card(
        child: showImage(),
        ),
        OutlineButton(
        onPressed: chooseImage,
        child: Text('Choose Image'),
        ),
    
    
    
                ],
              ),
            ),
    
    
    Card (
        child: Column(
            children: <Widget>[
              SizedBox(
                height: 10.0,
              ),
        Container(
        margin: EdgeInsets.all(4),
    
            child: TextField(
              maxLength: 10,
              decoration: InputDecoration(
                  border: OutlineInputBorder(),
                  labelText: 'Name',
                  filled: true,
                  hintText: _username),
              controller: _firstnameController,
            ),
    
        ),
              SizedBox(
                height: 5.0,
              ),
            Container(
                margin: EdgeInsets.all(4),
                              child: TextField(
                                maxLength: 8,
                                decoration: InputDecoration(
                                    border: OutlineInputBorder(),
                                    labelText: 'Phone number',
                                    filled: true,
                                    hintText: _phone),
                                controller: _phoneController,
                              ),
            ),
              SizedBox(
                height: 5.0,
              ),
            Container(
                margin: EdgeInsets.all(4),
                              child: TextField(
                                maxLength: 8,
                                decoration: InputDecoration(
                                  border: OutlineInputBorder(),
                                  labelText: 'Password',
                                    filled: true,
                                    hintText: _password),
                                controller: _lastnameController,
                              ),
    
            ),
              SizedBox(
                height: 5.0,
              ),
              SizedBox(
                height: 5.0,
              ),
              Container(
                margin: EdgeInsets.all(4),
                child: TextField(
                  maxLength: 8,
                  decoration: InputDecoration(
                      border: OutlineInputBorder(),
                      labelText: 'Password',
                      filled: true,
                      hintText: extradata),
                  controller: _extradataController,
                ),
    
              ),
              SizedBox(
                height: 5.0,
              ),
    
           ]
    
        )
    
    ),
    
                              SizedBox(
                                width: double.infinity,
                                child: new FlatButton(
                                  child: const Text('Update'),color:  const Color(0xFFf6c626),
                                  padding: EdgeInsets.fromLTRB(100, 18, 100, 18),
                                  onPressed: ()
                                  {
                                    _editData();
    
                                  },
                                ),
                              ),
    
                              SizedBox(
                                height: 10.0,
                              ),
                            ],
                          ),
    
    
    
                    ),
            );
      }
    }

     

  10. السلام عليكم ورحمة الله وبركاته

    اولا اعتذر اذا كان القسم غير مناسب للموضوع ولكني لم اعرف اي اطرح الاستفسار

    ابحث عن اسم لتطبيق مختص ب (النقل والتسوق) في وقت واحد

    اذا احد معه اي اقتراح اسم مناسب ياليت يفيدنا حتى ولو كان غريب

    كثير بحثنا بس ما طلعنا ب اسم معقول مناسب 

  11. بتاريخ 2 دقائق مضت قال Yomna Raouf:

    نعم هذا صحيح.

    الأكثر محتوى هو الأقدم بالطبع و لكن هذا لا يعني أنك لن تجد دعم أو مصادر ل flutter يوجد العديد من المصادر و الدورات التعليمية ل flutter lنها النجاني و المدفوع و لكنها باللغة الإنجليزية. بالإضافة إلى أن المجتمع حولها يزداد يومًا بعد يوم مما يعني توفر المزيد من الدعم و المصادر. و في الوقت الحالي يمكنك أن تجد إجابات للأسئلة الأساسية و المشاكل التي تواجه المطورين باستمرار.

     الأساسيات واحدة في لغات البرمجة كلها و بما أنك تفهمها في جيدًا في لغة #c لن يكون تعلم Dart بالأمر الصعب سيكون فقط مجرد syntax عليك أن تعتاد عليه قما قمت باللإعتياد على #syntax c من قبل.

    ربي يعطيك الف صحه وعافيه

    وزادك من واسع علمه 

    • أعجبني 1
  12. بتاريخ 5 دقائق مضت قال ماجد قطوسة:

    بالتأكيد ال sqlit هي قاعدة بيانات داخلية على الهاتف - ولا تتصل بالسيفر . 
    و يوجود شروحات عديدة لطريقة استخدامها مع Xamarin ،  و هذا مثال 

     

    اهلا بك عزيزي

    انا مشكلتي ابحث عن كيف اتعامل مع قواعد البيانات الخارجيه من خلال Xamarin.Forms 

    هذا ما احتاجه الغالي بنسبه ل sqlite وجدت الكثير لها من الشرحات ولكني لا احتاج لها محتاج شي مثل mysql او sqlserver وما شابه ولكني لم اجد لذلك شعرت انهم لا يستخدمونها لدى الزامراين

    • أعجبني 1
  13. بتاريخ 3 دقائق مضت قال Yomna Raouf:

     يمكنك إستخدام   Xamarin Android   Xamarin IOS"  Xamarin Native"   عندما تريد تصميم views باستخدام ال layouts العادية التي تدعمها كل منصة. 

    مثل:

    • axml layouts في android 
    • stayboards و viewControllers في ios 
    • xaml pages في windows phone 

    في حين يمكنك إستخدام Xamarin.Forms  عندما تريد تصميم (views) مرة واحدة لمشاركتها مع بقية المنصات (تصميم واحد لجميع المنصات)، وسيتم إضافة ال views إلى Portable Class Library أو Shared Project. 

     

    كما يمكنك استخدام كل من Xamarin.Forms مع Xamarin.Android أو Xamarin.IOS كل واحدة في  (view) مستقل.

     و لكن إذا كان هدفك تعلم بناء تطبيقات هجينة تعمل على جميع المنصات أنصحك بتعلم React Native إحدى مكتبات JavaScript أو flutter و لغة Dart فهما أكثر شهرة هذه الأيام و لهما مستقبل أكبر و المجتمع حولهما أكبر.

    أما إذا كان هدفك تعلم بناء تطبيقات ل android فأعتقد أن Kotlin يعتبر إختيار أفضل فهي مطلوبة أكثر هذه الأيام.

    يمكنك قراءة المزيد عن Xamarin من خلال هذه السلسة.  

     

    اهلا بك

    شكرا علي ردك اولا ..

    نعم اذن ما فهمته كان صحيح فلو قمت ببرمجة تطبيق Xamarin android فلن يعمل على IOS او الايفون لنه وكانني برمجة تطبيق اندرويد بستخدم الجافا ولم استفيد شي من Xamarin سوى للغة c#

     

    ولو بغيت اطور تطبيق يعمل على كل المنصتين فساحتاج الى العمل من خلال Xamarin.Forms 

    لتاكيد فقط هذا الفهم صحيح ؟

     

     

    طيب لو بكثر شويه السموحه ولكن بنسبه ل Xamarin و فلاتر من وجهة نظرك ايهم ممكن احصل دعم اكثر للمشاكل الي تواجهني ايضا ايهم اكثر محتوى في الانترنت؟يعني مثلا انا ليوم كامل بصراحه ابحث عن ربط قواعد بيانات مع الزامرين واحس المحتوى ضعيف عكس لما كنت اتعلم جافا مليون شرح يوصل للي احتاجه فايهم افضل في هذا نقطه من وجهة نظرك؟

     

     

    ايضا ايهم ابسط بصراحه c#ليس بتلك الصعوبه بمقابل قمت بمشاهدة فلاتر وجدت كودها مختلف بعض الشي ايضا قرات انه دعمها ضعيف لنها جديده الى الان

  14. بتاريخ 11 دقائق مضت قال ماجد قطوسة:

    أهلاً بك مروان ! 
    بختصار شديد لا يوجد  بديل !  فلكل واجهة عرض استخدام خاص  و ميزات  خاصة بها  و لو كان لها بديل لما صنعوها من الأساس ، ولكن  سأرفق لك  صورة توضح  فيها مجموعة  من واجهات العرض الخاصة  بـ Xamarin.Forms و هي منبثقة تحت عنوان (Xamarin.Forms Layouts) ،  و لكل منها ميزاتها واستخدامها الخاص. 

    layouts-sml.png

    اهلا بك اخي

    شكرا لك عزيزي

  15. بتاريخ 21 دقائق مضت قال ماجد قطوسة:

    أهلاً بك مروان ! 
    قواعد البيانات التي تستخدم مع تطبيقات الأندرويد هي sqllite بكل تأيكد  في صممت خصيصاً للتوافق مع الأندرويد ، ولكن  يمكنك أن  تسخدم قاعدة البيانات السحابية المقدمة من جوجل و هي  Firebase ،  و ال Firebase منصة  توفر لك عدة مزايا للتطبيق الخاص بك غير قاعدة البيانات السحابية . 
    شكراً لك . 

    اهلا بك عزيزي

    شكرا على ردك اولا

    الغالي بنسبه ل قواعد بيانات sqllite الي اعرفه انها قاعدة ترفق في الهاتف

    يعني ما ينفع نستخدامها على سيرفر ونرسل منها بيانات ونحفظ فيها

     

    مثلا على الاندرويد انا استخدم mysql ومستخدمون يحفظ ويستدعي البيانات منها

     

    ولكني في زامراين لم اجد اي احد يذكرها هنا المشكله وما اود معرفته

    • أعجبني 1
  16. السلام عليكم ورحمة الله وبركاته

    تحيه طيبه للجميع ..

    ما هيا انواع قواعد البيانات التي يمكن استخدامها لدى برمجة Xamarin.Forms؟ 

    قمت بالبحث طويل في الانترنت ولكن يبدو ان الشرحات كلها ل sqllite الا يوجد شي مختلف؟

  17. السلام عليكم ورحمة الله وبركاته

    تحيه طيبه للجميع ..

    لدي استفسار اريد اتعلم Xamarin

    ولكني وجدت انه فيه Xamarin.Forms و Xamarin android and IOS

     

     ياليت احد يفهمنا الفرق

    ايضا اذا قمت ببناء تطبيق من خلال Xamarin Android هل هذا يعني انه رح يشتغل على IOS؟  

     

    يبدو اني فاهم الامر غلط مع هذا اللغه اتمنا احد يوضح الامر من جميع النقاط 

  18. بتاريخ 4 ساعات قال Yomna Raouf:

    لكنك قمت بكتابة fullimage بدلًا من imageView في هذا السطر

    
    BitmapDrawable drawable =(BitmapDrawable)fullImage.getDrawable();  // 🚫
    
    BitmapDrawable drawable = (BitmapDrawable) imageView.getDrawable();  // ✔✔

     

    نعم هذا يكون موقع Id image قمت بتغيره ولكن بدون فائده منذ البدايه

  19. بتاريخ 52 دقائق مضت قال Yomna Raouf:

    يمكنك الحصول على bitmap من أي imageview بهذه الطريقة

    
    // في الكود الذي أرفقته fullImage   بدلًا من  imageView قم بكتابة 
    
    BitmapDrawable drawable = (BitmapDrawable) imageView.getDrawable(); 
    Bitmap bitmap = drawable.getBitmap();

    لا اعلم لماذا لم ينجح لدي قمت بالفعل ب استخدام هذا الكود حسب ما ذكر في اول تعليق

  20. بتاريخ منذ ساعة مضت قال Yomna Raouf:

     السبب قي الخطأ الذي يظهر لك " null pointer exception " هو أن bitmap لها القيمة null أي أنها فارغة ليس لها قيمة 

    فالبتالي إستخدامها في السطر التالي:

    
      bitmap.compress(Bitmap.CompressFormat.JPEG,100,outputStream);

     سيسبب مشكلة و لن  يعمل لأنك تقوم باستخدام شيء غير موجود بالنسبة للبرنامج.

    يمكنك استخدام الكود التالي لحل هذه المشكلة.

    
    
     // يمكنك إستبدال هذا السطر
    Bitmap bitmap=drawable.getBitmap();
    
    // بالسطر التالي
    
    bitmap = ((BitmapDrawable) imgPreview.getDrawable()).getBitmap();

    مع استخدام 

    
     private Bitmap bitmap;

    في بداية ال class

     

    اهلا بك @Yomna Raoufقمت بتطبيق ما تم ذكره واستبطل السطر ب سطر المرفق + التعريف في بداية الكلاس ولكن المشكلة لم تحل ما زالت نفس المشكلة مستمره مع ظهور نفس الخطاء

  21. السلام عليكم ورحمة الله وبركاته

    عندي صوره تنعرض في imageview احصل عليها من اكتفتي ثاني من خلال send intent and getintent

    احاول حفظ هذا الصوره في الاستوديو ولكن عند الضغط علي زر الحفظ يحدث لي كراش في التطبيق والمشكله كالتالي:  

     

    java.lang.NullPointerException
            at android.graphics.Bitmap.compress(Bitmap.java:1630)
            at com.example.myapplication.FullScreenImageActivity$1.onClick(FullScreenImageActivity.java:57)
            at android.view.View.performClick(View.java:7352)
            at android.widget.TextView.performClick(TextView.java:14230)
            at android.view.View.performClickInternal(View.java:7318)
            at android.view.View.access$3200(View.java:846)
            at android.view.View$PerformClick.run(View.java:27800)
            at android.os.Handler.handleCallback(Handler.java:873)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:214)
            at android.app.ActivityThread.main(ActivityThread.java:7050)
            at java.lang.reflect.Method.invoke(Native Method)
            at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
    

     

     

    كود الصفحة كامل مع زر الحفظ :

     

    public class FullScreenImageActivity extends AppCompatActivity {
    ImageView fullImage;
    OutputStream outputStream;
    Button SaveImage;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_transition_to);
            fullImage=(ImageView)findViewById(R.id.iv_photo);
            Intent intent = getIntent();
            String url=intent.getStringExtra("url");
           Picasso.get().load(url).into(fullImage);
            SaveImage=(Button)findViewById(R.id.SaveImage);
            SaveImage.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
    
    
    
                  BitmapDrawable drawable =(BitmapDrawable)fullImage.getDrawable();
                  Bitmap bitmap=drawable.getBitmap();
    
                    File filepath = Environment.getExternalStorageDirectory();
                    File dir =new File(filepath.getAbsolutePath()+"/Demo/");
                    dir.mkdir();
                    File file = new File(dir,System.currentTimeMillis()+".jpg");
                    try {
                        outputStream =new FileOutputStream(file);
                    } catch (FileNotFoundException e) {
                        e.printStackTrace();
                    }
    
                    bitmap.compress(Bitmap.CompressFormat.JPEG,100,outputStream);
                    Toast.makeText(FullScreenImageActivity.this, "Image Save", Toast.LENGTH_SHORT).show();
                    try {
                        outputStream.flush();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    try {
                        outputStream.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
    
    
    
    
                }
    
    
            });
        }
    
    }

     

    ياليت اذا احد يعرف حل للمشكله يساعدنا ولكم كل الشكر 

  22. بتاريخ 5 دقائق مضت قال مصطفى القباني:

    العفو لا شكرا على واجب، بالنسبة للخطأ كان هناك خطأ في الكتابة جرب مرة أخرى:

    
    $stmt = $mysqli->prepare("SELECT * FROM user WHERE phone=? AND password=?");
    $stmt->bind_param("ss", $phone, $password);
    $response =  $stmt->execute();

    بالنسبة لتغير باقي الكود أم لا، أعتقد أنه لا يجب التغيير فيه، للتأكد من ذلك عليك مقارنة الreturn type للmysqli_query المستخدمة في الكود الأصلي، والmysqli_stmt::execute

     طيب عزيزي الحين عدلت الكود واصبح كالتالي:

    <?php
    
    
        	include 'conn.php';
        $phone = $_POST['phone'];
        $password = $_POST['password'];
    
    $stmt = $mysqli->prepare("SELECT * FROM user WHERE phone=? AND password=?");
    $stmt->bind_param("ss", $phone, $password);
    $response =  $stmt->execute();
    
       $response = mysqli_query($con , $sql);
    
       $result = array();
    
       $result['login'] = array();
      
    if ( mysqli_num_rows($response) === 1 ) {
            
         
    $row = mysqli_fetch_assoc($response);
    
                 
    $index['name'] = $row['name'];
               
     $index['phone'] = $row['phone'];
             
    	 
            array_push($result['login'], $index);
    
       
             $result['success'] = "1";
            
        $result['message'] = "success";
            
        echo json_encode($result);
    
      
              mysqli_close($mysqli );
    
          
        }
    
    
    
    ?>

    الان ظهرت مشكلة جديده وانا ليوم جربت كذا كود وكانت هذا المشكلة فيهم كلهم حقيقي لا اعرف السبب ولكني كنت اعتقد اني غير فاهم التطبيق كيف يكون 

     

    المشكلة كالتالي:

    eee.png.62588e71e8b6e87cc267e24ff4651637.png

    قمت بوضعها كصوره عشان تكون اوضح

     

     

    بتاريخ 30 دقائق مضت قال مصطفى القباني:

    العفو لا شكرا على واجب، بالنسبة للخطأ كان هناك خطأ في الكتابة جرب مرة أخرى:

    
    $stmt = $mysqli->prepare("SELECT * FROM user WHERE phone=? AND password=?");
    $stmt->bind_param("ss", $phone, $password);
    $response =  $stmt->execute();

    بالنسبة لتغير باقي الكود أم لا، أعتقد أنه لا يجب التغيير فيه، للتأكد من ذلك عليك مقارنة الreturn type للmysqli_query المستخدمة في الكود الأصلي، والmysqli_stmt::execute

    صار معي ربي يعطيك العافيه اخي تسلم 

×
×
  • أضف...