السلام عليكم ورحمة الله وبركاته
شرح تشغيل ملف صوتي من ال Assets
لينك الفيديو ✅️
https://youtu.be/Ajhf_KY82yA?si=Uf5gvoxciknHvOhd
اللي عايز شرح لحاجه معينه يكتبها . مش هقدر أشرح حاجه في الاساسيات. القناه بس هيتشرح فيها حاجات متقدمه شويه ✅️
شرح تشغيل ملف صوتي من ال Assets
لينك الفيديو ✅️
https://youtu.be/Ajhf_KY82yA?si=Uf5gvoxciknHvOhd
اللي عايز شرح لحاجه معينه يكتبها . مش هقدر أشرح حاجه في الاساسيات. القناه بس هيتشرح فيها حاجات متقدمه شويه ✅️
❤10👍3
من المشاكل اللي شفتها مؤخرا في الجروب
ناس مش عارفة تفتح urls
باستخدام url launcher
انا عارف أن مؤخرا حصل فيها بعض التغيرات وكنت بطلب من الشباب انها تتأكد انها تاخد
<queries>
وتضيفها في AndroidMainfest.xml
للاسف انا برده جربتها في مشروع جديد ومش شغاله
وده بسبب canLaunchUrl()
ديما بترجع false
اكتشفت أن code snippet
ناقصة اللي موجوده في docs
الموجودة دي
<queries>
<!-- If your app checks for SMS support -->
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="sms" />
</intent>
<!-- If your app checks for call support -->
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="tel" />
</intent>
</queries>
،دي ناقص منها الجزء الخاص ب web pages https
فالمفروض أنك تضيف جواها
<intent>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" />
</intent>
داخل <queries>
عشان urls تشتغل معاك علي android 11 or later
#منقول
ناس مش عارفة تفتح urls
باستخدام url launcher
انا عارف أن مؤخرا حصل فيها بعض التغيرات وكنت بطلب من الشباب انها تتأكد انها تاخد
<queries>
وتضيفها في AndroidMainfest.xml
للاسف انا برده جربتها في مشروع جديد ومش شغاله
وده بسبب canLaunchUrl()
ديما بترجع false
اكتشفت أن code snippet
ناقصة اللي موجوده في docs
الموجودة دي
<queries>
<!-- If your app checks for SMS support -->
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="sms" />
</intent>
<!-- If your app checks for call support -->
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="tel" />
</intent>
</queries>
،دي ناقص منها الجزء الخاص ب web pages https
فالمفروض أنك تضيف جواها
<intent>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" />
</intent>
داخل <queries>
عشان urls تشتغل معاك علي android 11 or later
#منقول
❤🔥20🤯3
دايما لما يبقي فيه TabBarView و فيه جوا كل Tab فيهم
ListView
بنعمل فيها
Scrolling
و بعدين نغير من الTab
الاولي للتانيه و نرجع تاني للTab الاولي
الScrolling position
بيرجع لاول الList تاني مش
عند اخر مكان كان واقف فيه.
و لو فيه Swipe to dismiss
جوا الListView و عملنا remove لitem
او ضيفنا واحد جديد برضو بنرجع لاول الListView و مش بنفضل ف المكان الي كنا فيه.
حل المشكله دي اننا نستخدم🔥✅️
PageStorageKey جوا الListView.
PageStorageKey<String>(“Tab1”)
PageStorageKey<String>(“Tab2”)
وظيفته انه يعمل save للScrolling index
بتاع كل ListView عندنا و نديله String كأنه الid بتاع بكل PageStorageKey عشان يفرق
الindexes بتاعت الscrolling لكل
ListView.
LinkedIn profile
https://www.linkedin.com/in/mazap64
ListView
بنعمل فيها
Scrolling
و بعدين نغير من الTab
الاولي للتانيه و نرجع تاني للTab الاولي
الScrolling position
بيرجع لاول الList تاني مش
عند اخر مكان كان واقف فيه.
و لو فيه Swipe to dismiss
جوا الListView و عملنا remove لitem
او ضيفنا واحد جديد برضو بنرجع لاول الListView و مش بنفضل ف المكان الي كنا فيه.
حل المشكله دي اننا نستخدم🔥✅️
PageStorageKey جوا الListView.
PageStorageKey<String>(“Tab1”)
PageStorageKey<String>(“Tab2”)
وظيفته انه يعمل save للScrolling index
بتاع كل ListView عندنا و نديله String كأنه الid بتاع بكل PageStorageKey عشان يفرق
الindexes بتاعت الscrolling لكل
ListView.
LinkedIn profile
https://www.linkedin.com/in/mazap64
❤🔥20🔥3
اغلب الاوقات و احنا شغالين علي postman🔥
مع كل مره بنعمل auth بنحتاج ناخد التوكن الجديد و نضيفه ك 1️⃣variable او نضيفه ف كل ريكوست
لأختصار الوقت ف حل لذيذ بأن ممكن نضيف كود ف الTest ف اي2️⃣ auth request
زي اول صوره و نكتب اسم3️⃣ token key
و الpath بتاعه حسب الريسبونس بتاعك زي ما موضح ف الصوره
بعدها هنروح علي ال collection و نختار Authorization4️⃣ و نضيف الkey بتاعنا زي ما هو مكتوب
pm.test("Save TOken TO GLobal", function () {
var jsonData = pm.response.json();
pm.globals.set("authorization", jsonData.data.access_token);
});
#منقول
مع كل مره بنعمل auth بنحتاج ناخد التوكن الجديد و نضيفه ك 1️⃣variable او نضيفه ف كل ريكوست
لأختصار الوقت ف حل لذيذ بأن ممكن نضيف كود ف الTest ف اي2️⃣ auth request
زي اول صوره و نكتب اسم3️⃣ token key
و الpath بتاعه حسب الريسبونس بتاعك زي ما موضح ف الصوره
بعدها هنروح علي ال collection و نختار Authorization4️⃣ و نضيف الkey بتاعنا زي ما هو مكتوب
pm.test("Save TOken TO GLobal", function () {
var jsonData = pm.response.json();
pm.globals.set("authorization", jsonData.data.access_token);
});
#منقول
❤🔥16🎃4🔥2
ما شاء الله احنا بقينا
💠 8700 💠 شخص في القناه
وفي جروب للقناه عشان لو حد بيسأل
ف اللي يقدر ينضم للجروب◀️ عشان لو حد محتاج مساعده او بيسأل عن حاجه يلاقي اللي يرد عليه
⚠️ عشان تنضم رد علي الرساله دي هتلاقي نفسك في الجروب
وجزاكم الله خيرا 🌹❤️
💠 8700 💠 شخص في القناه
وفي جروب للقناه عشان لو حد بيسأل
ف اللي يقدر ينضم للجروب◀️ عشان لو حد محتاج مساعده او بيسأل عن حاجه يلاقي اللي يرد عليه
⚠️ عشان تنضم رد علي الرساله دي هتلاقي نفسك في الجروب
وجزاكم الله خيرا 🌹❤️
❤🔥22🆒4🔥1
ممكن حد يفهمني اي هو ال
Profile mode in flutter ؟
الاجابه ⬅️
Profile mode
هو mode الخاص بتتبع وتحليل الأداء بتاع الابلكيشن زي مساحته و استهلاكه لل network او battery او storage وغيرهم ، مش بيشتغل علي emulator او simulator ،
لازم جهاز حقيقي زي ال release mode كده عشان يقدر يديلك الأداء الحقيقي
flutter run --profile
#منقول
Profile mode in flutter ؟
الاجابه ⬅️
Profile mode
هو mode الخاص بتتبع وتحليل الأداء بتاع الابلكيشن زي مساحته و استهلاكه لل network او battery او storage وغيرهم ، مش بيشتغل علي emulator او simulator ،
لازم جهاز حقيقي زي ال release mode كده عشان يقدر يديلك الأداء الحقيقي
flutter run --profile
#منقول
❤🔥24
اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ، وَعَلَى آلِ مُحَمَّدٍ، كَمَا صَلَّيْتَ عَلَى إِبْرَاهِيمَ، وَعَلَى آلِ إِبْرَاهِيمَ، إِنَّكَ حَمِيدٌ مَجِيدٌ، وَبَارِكْ عَلَى مُحَمَّدٍ، وَعَلَى آلِ مُحَمَّدٍ، كَمَا بَارَكْتَ عَلَى إِبْرَاهِيمَ، وَعَلَى آلِ إِبْرَاهِيمَ، فِي الْعَالَمِينَ إِنَّكَ حَمِيدٌ مَجِيدٌ🤍
❤🔥26
السلام عليكم ورحمة الله وبركاته
شرح ازاي تعمل Search في API باستخدام ال DropDown .
لينك الفيديو ✅️
https://youtu.be/M3sQSpC44tw
اللي عايز شرح لحاجه معينه يكتبها . وجزاكم الله خيرا
شرح ازاي تعمل Search في API باستخدام ال DropDown .
لينك الفيديو ✅️
https://youtu.be/M3sQSpC44tw
اللي عايز شرح لحاجه معينه يكتبها . وجزاكم الله خيرا
❤🔥23🔥1🆒1
Var and Dynamic Difference in Dart Programming
المقال كان بالعنوان ده✅
ايه الفرق بين Var و Dynamic🤔
طبعا احنا عارفين ان الاتنين dynamically typed data types
بس الفرق هنا 👈
(var is dynamically typed until it has not assigned any value)
بمعنى 🤔
اني خزنت مثلا متغير من نوع int مينفعش اني اغير ال type بتاعه من int. لنوع تاني زي String
ممكن اغير قيمته من int ل int بس
على عكس Dynamic فهي تسمح بكده عادي انك تغير اي نوع لنوع
اول سطرين ف ال Dynamic مش هيكون في اي error ✅
على عكس اخر سطرين مش هيسمح ب التعديل
المقال كان بالعنوان ده✅
ايه الفرق بين Var و Dynamic🤔
طبعا احنا عارفين ان الاتنين dynamically typed data types
بس الفرق هنا 👈
(var is dynamically typed until it has not assigned any value)
بمعنى 🤔
اني خزنت مثلا متغير من نوع int مينفعش اني اغير ال type بتاعه من int. لنوع تاني زي String
ممكن اغير قيمته من int ل int بس
على عكس Dynamic فهي تسمح بكده عادي انك تغير اي نوع لنوع
اول سطرين ف ال Dynamic مش هيكون في اي error ✅
على عكس اخر سطرين مش هيسمح ب التعديل
❤🔥19🔥6
لما بتيجي ترفع على test flight .. وتستنا لحد ما الxCode يخلص تحميل ..
بتفضل مستني شوية لحد ما apple تعمل processing
وبعدها بتطعلك الMissing Compliance لحوار الencryption وكدا
حط الكود دا في الinfo.plist
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
وبعدها إن شاء الله مش هيطلعلك الmissing compliance تاني
بتفضل مستني شوية لحد ما apple تعمل processing
وبعدها بتطعلك الMissing Compliance لحوار الencryption وكدا
حط الكود دا في الinfo.plist
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
وبعدها إن شاء الله مش هيطلعلك الmissing compliance تاني
❤🔥14⚡2🔥1
How to get base_href in dart ? Flutter Web <div><br></div><div><br></div><div>Example:
--base-href "/foo/"
URL: http://localhost:8080/foo/some-route
I want: /foo/
Uri.base.path: /foo/some-route </div>
--base-href "/foo/"
URL: http://localhost:8080/foo/some-route
I want: /foo/
Uri.base.path: /foo/some-route </div>
❤🔥6🤯1
اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ، وَعَلَى آلِ مُحَمَّدٍ، كَمَا صَلَّيْتَ عَلَى إِبْرَاهِيمَ، وَعَلَى آلِ إِبْرَاهِيمَ، إِنَّكَ حَمِيدٌ مَجِيدٌ، وَبَارِكْ عَلَى مُحَمَّدٍ، وَعَلَى آلِ مُحَمَّدٍ، كَمَا بَارَكْتَ عَلَى إِبْرَاهِيمَ، وَعَلَى آلِ إِبْرَاهِيمَ، فِي الْعَالَمِينَ إِنَّكَ حَمِيدٌ مَجِيدٌ🤍
❤🔥18🔥3
ايه هو الـــــ Isolates ؟
في البوست الي فات اتكلمت عن مشكلة بتتحل عن طريق الasynchrnouns بس لو حصل بقى و اتكتب في الكود حاجه synchronous ساعتها هيحصل ايه ؟
ببساطة البرنامج برده هيقف و الui مش هيعرف يعمل refresh بسبب الجزء ده من الكود , طيب ايه الحل للمشكلة ديه ؟
الحل هو الـــparallelism , وده الي لغة زي dart بتعمله انها بتخليك تقدر تشغل الكود parallel عن طريق الــــisolates , و الي هي ببساطة كده انك فصلت باقي الكود بحيث يشتغل على thread لوحده و processor لوحده في نفس توقيت تنفيذ الكود الي هو synchronous و كده بقى البرنامج يكمل شغله عادي و يظهر للــuser بدون مشاكل او توقف و ليه عشان خلاص انت فصلت الجزء ده بحيث انه يكمل شغله و باقي الكود ميتأثر او ميقفش بسببه . وده يبقى حل مشكلة ممكن حدوثها حتى و احنا بنستخدم asynchronous code .
طيب الasync بيعمل ايه : بيقدريخلي الكود كله يشتغله حتى لو في حاجه هتاخد وقت مبيخليش البرنامج يقف بحيث انه يخلي كذا حاجه شغالة مع بعض , لكن الasync مش بتعمل او بتنشأ thread جديد هي بس بتقدر متوقف الكود و يفضل كله شغال . لكن في حالة زي الي ذكرت فوق ديه بتوقف عمل باقي الكود,
لكن الisolate بيعمل ايه : بيقدر يشغل الكود الي في البرنامج على اساس الparallelism او في شكل متوازي مع بعضه , يعني لو في تعطل او توقف حصل عند isolate التانية مش هتقف و هتفضل مكملة باقي الكود و بدون تأثير في سرعة تشغيله .
الفكره ان الـــisolate في صعوبة في تطبيقها لكن هي تعتبر الحل في حالة زي الي قولنها ( ان يكون في حالة sync دخل asynchronous ) .
هبقى ان شاء الله اعمل لطريقة عمل الــIsolate في بوست تاني
ده مثال بتوضح فيه المشكلة
void _refresh() async {
var url = _assembleUrl(option);
var content = await http.get(url);
var articles = _parse(content); // synchronous code
_update(articles);
}
اللهم علمنا ما ينفعنا و انفعنا بما علمتنا
المصادر :
https://www.youtube.com/watch?v=5AxWC49ZMzs&t=79s
في البوست الي فات اتكلمت عن مشكلة بتتحل عن طريق الasynchrnouns بس لو حصل بقى و اتكتب في الكود حاجه synchronous ساعتها هيحصل ايه ؟
ببساطة البرنامج برده هيقف و الui مش هيعرف يعمل refresh بسبب الجزء ده من الكود , طيب ايه الحل للمشكلة ديه ؟
الحل هو الـــparallelism , وده الي لغة زي dart بتعمله انها بتخليك تقدر تشغل الكود parallel عن طريق الــــisolates , و الي هي ببساطة كده انك فصلت باقي الكود بحيث يشتغل على thread لوحده و processor لوحده في نفس توقيت تنفيذ الكود الي هو synchronous و كده بقى البرنامج يكمل شغله عادي و يظهر للــuser بدون مشاكل او توقف و ليه عشان خلاص انت فصلت الجزء ده بحيث انه يكمل شغله و باقي الكود ميتأثر او ميقفش بسببه . وده يبقى حل مشكلة ممكن حدوثها حتى و احنا بنستخدم asynchronous code .
طيب الasync بيعمل ايه : بيقدريخلي الكود كله يشتغله حتى لو في حاجه هتاخد وقت مبيخليش البرنامج يقف بحيث انه يخلي كذا حاجه شغالة مع بعض , لكن الasync مش بتعمل او بتنشأ thread جديد هي بس بتقدر متوقف الكود و يفضل كله شغال . لكن في حالة زي الي ذكرت فوق ديه بتوقف عمل باقي الكود,
لكن الisolate بيعمل ايه : بيقدر يشغل الكود الي في البرنامج على اساس الparallelism او في شكل متوازي مع بعضه , يعني لو في تعطل او توقف حصل عند isolate التانية مش هتقف و هتفضل مكملة باقي الكود و بدون تأثير في سرعة تشغيله .
الفكره ان الـــisolate في صعوبة في تطبيقها لكن هي تعتبر الحل في حالة زي الي قولنها ( ان يكون في حالة sync دخل asynchronous ) .
هبقى ان شاء الله اعمل لطريقة عمل الــIsolate في بوست تاني
ده مثال بتوضح فيه المشكلة
void _refresh() async {
var url = _assembleUrl(option);
var content = await http.get(url);
var articles = _parse(content); // synchronous code
_update(articles);
}
اللهم علمنا ما ينفعنا و انفعنا بما علمتنا
المصادر :
https://www.youtube.com/watch?v=5AxWC49ZMzs&t=79s
YouTube
Async vs Isolates | Decoding Flutter
How come a function janks the UI thread even though it's async? What are the differences between async and isolates? Learn what the distinctions are between these two processing methods, how they work, and when one may be preferable to the other.
Leave us…
Leave us…
❤🔥7🏆2
زهقت من كتر ما Apple بتطلب تعديلات علي الابليكشن بتاعك؟
اي حد جرب يرفع ابليكشن علي Google Play او App Store عارف كمية الخطوات الطويلة و اللي ممكن تكون رخمة لمعظمنا. و للاسف ممكن نكتشف مشكلة بسيطة تتحل بسطر كود بس محتاجين نرفع من جديد و نستني يومين ثلاثة او حتي اسبوع عقبال ما التحديث يتوافق عليه. و بعد ده كله احنا مش ضامنين ان الuser عمل ابديت اصلا.
طلع حل جديد ممكن يوفر علينا مجهود الupdate كله و هو shorebird.
شوربيرد هو حل معمول من اريك سيديل من مؤسسين Flutter و معاه تيم من كبار الDevelopers في عالم Flutter زي فيليكس انجيلوف اللي عمل bloc و غيره كتير. الموضوع انه ببساطه بcommand واحد تقدر تعدل في كل النسخ من الابليكيشن اللي موجوده علي اجهزة الuser و تعمل update في وقتها.
مش هتحتاج update من الPlay Store او App Store عشان تشوف الابديت ده. الuser هيحتاج يقفل الابليكيشن و يفتحه تاني و بس كده كل التعديلات هتظهر.
اكتشف اكتر ايه هو shorebird من الموقع بتاعهم
https://shorebird.dev/#home
اي حد جرب يرفع ابليكشن علي Google Play او App Store عارف كمية الخطوات الطويلة و اللي ممكن تكون رخمة لمعظمنا. و للاسف ممكن نكتشف مشكلة بسيطة تتحل بسطر كود بس محتاجين نرفع من جديد و نستني يومين ثلاثة او حتي اسبوع عقبال ما التحديث يتوافق عليه. و بعد ده كله احنا مش ضامنين ان الuser عمل ابديت اصلا.
طلع حل جديد ممكن يوفر علينا مجهود الupdate كله و هو shorebird.
شوربيرد هو حل معمول من اريك سيديل من مؤسسين Flutter و معاه تيم من كبار الDevelopers في عالم Flutter زي فيليكس انجيلوف اللي عمل bloc و غيره كتير. الموضوع انه ببساطه بcommand واحد تقدر تعدل في كل النسخ من الابليكيشن اللي موجوده علي اجهزة الuser و تعمل update في وقتها.
مش هتحتاج update من الPlay Store او App Store عشان تشوف الابديت ده. الuser هيحتاج يقفل الابليكيشن و يفتحه تاني و بس كده كل التعديلات هتظهر.
اكتشف اكتر ايه هو shorebird من الموقع بتاعهم
https://shorebird.dev/#home
shorebird.dev
Over the air updates for Flutter. Confidently update Flutter apps instantly.
❤🔥21🔥8