Flutter dev مطورين فلاتر
Open in Telegram
كل ما تحتاجة للتطويرك بمجال تطوير تطبيقات الاندرويد و iOS بأستخدام لغة Dart واداة Flutter رابط القناة الرسمي https://t.me/joinchat /AAAAAEwOEsRGudZ0A2HPyw لتواصل والاستفسار @Omar_Root لدعم القناة https://www.paypal.me/womnacss
Show moreIraq109 784The category is not specified
1 361
Subscribers
No data24 hours
No data7 days
No data30 days
Posts Archive
هذا الكود حق مشروع جهات الاتصال بشكل مبسط بلغة دارت للي حابب ياخذ فكره
-.-.-.-.-.-.-.-.-.-.-.-.-..-.-.-..-.-.-.-.-.-.-.-.-.-.-.-.
import 'dart:io';
class Contacts{
String Name;
String Phone;
String Email;
}
void main()
{
List<Contacts> AllNumbers= new List<Contacts>();
Contacts Contace=new Contacts();
Contace.Name="Mohammed Alqasemi";
Contace.Phone="771025115";
Contace.Email="qasemi98@icloud.com";
AllNumbers.add(Contace);
Contace = new Contacts();
Contace.Name="Abdulrahman Alqasemi";
Contace.Phone="773005500";
Contace.Email="alqasemi95@outlook.com";
AllNumbers.add(Contace);
Contace = new Contacts();
Contace.Name="Marwan Aladimi";
Contace.Phone="777406789";
Contace.Email="Aladimi@gmail.com";
AllNumbers.add(Contace);
Contace = new Contacts();
Contace.Name="Ameeera Mohammed";
Contace.Phone="771234567";
Contace.Email="Ameeera@gmail.com";
AllNumbers.add(Contace);
Contace = new Contacts();
Contace.Name="Asmaa Ali";
Contace.Phone="777654321";
Contace.Email="Asmaa@gmail.com";
AllNumbers.add(Contace);
var ss;
do{
print("Pleace Chose one Process");
print("a : To Add a Contact");
print("r : To Remove a Contact");
print("e : To Edit a Contact");
print("s : To Search For a Contact");
print("p : To Print All The Contacets");
String Entrance=stdin.readLineSync();
switch (Entrance) {
case "a":
Contace = new Contacts();
print("Enter Name");
Contace.Name=stdin.readLineSync();
print("Enter Phone");
Contace.Phone=stdin.readLineSync();
print("Enter Email");
Contace.Email=stdin.readLineSync();
AllNumbers.add(Contace);
break;
case "r":
print("Enter Name you want to remove");
String Check=stdin.readLineSync();
bool OkSearch = false;
for(int i=0;i<AllNumbers.length;i++){
String Name=AllNumbers.elementAt(i).Name;
if(Name==Check){
AllNumbers.removeAt(i).Name;
AllNumbers.removeAt(i).Phone;
AllNumbers.removeAt(i).Email;
OkSearch = true;
break;
}
if(OkSearch == false)
print("Not Found");
}
break;
case "e":
print("Enter The Name you want to edit");
String Edit=stdin.readLineSync();
bool OkSearch = false;
for(int i=0;i<AllNumbers.length;i++) {
String Name = AllNumbers.elementAt(i).Name;
if (Name == Edit) {
print("Enter The Name you want");
AllNumbers.elementAt(i).Name = stdin.readLineSync();
OkSearch = true;
break;
}
if(OkSearch == false)
print("Not Found");
}break;
case "s":
print("Enter Name you want to search");
String Check=stdin.readLineSync();
bool okSearch = false;
for(int i=0;i<AllNumbers.length;i++)
{
String Name=AllNumbers.elementAt(i).Name;
if(Name==Check)
{
print(AllNumbers.elementAt(i).Name) ;
print(AllNumbers.elementAt(i).Phone) ;
print(AllNumbers.elementAt(i).Email) ;
okSearch = true;
break;
}
}
if(okSearch == false)
print("Not Found");
break;
case "p":
for(int i=0;i<AllNumbers.length;i++){
print(AllNumbers[i].Name);
print(AllNumbers[i].Phone);
print(AllNumbers[i].Email);
};break;
}
print("If you want to continue press Y OR X to exit");
ss=stdin.readLineSync();
}while(ss!='x');
print("0_0");
}
// 0_0
الإنترنت بشكل عام قائم على الطلب Request (من طرف المستخدم) والإجابة عليه Response (من طرف المُخدم)
أبسط انواع الطلب هو كتابة عنوان الموقع (الدومين) في خانة عنوان المتصفح أو من خلال النقر عليه إن كان كرابط في مكان ما ليفتح لك صفحة الموقع
إذا اسم الدومين هو عبارة عن طلب يذهب للسيرفر من خلال آلية معدة مسبقا تسمى البروتوكل وفي حالتنا البروتوكل الشائع هو http حيث يشكل طلب محمل ببعض البيانات الإضافية مثل نوع المتصفح وعنوان المستخدم و غيره ويرسله إلى السيرفر الذي يستضيف الدومين
يستقبله المخدم ويقوم بتشكيل جواب محمل ببعض البيانات ومنها كود الصفحة الرئيسية للموقع أو صفحة الخطأ أو أي شيء حسب الاستجابة ويعيده إلى المرسل فيستقبله المتصفح ويترجمه إلى ما يناسب فتفتح الصفحة
الـ API هو عبارة عن خدمة تسمح للمستخدم بإرسال عنوان بصيغة ما محمل ببعض البيانات فيستقبلها المخدم ويعيد الجواب حسب الخدمة
كمثال :
تريد تضمين خارطة جوجل بحيث تكون مركزة على عنوان محدد يمثل موقع مكتبك ومعمول له تكبير تقريب للعنوان
يكفي أن تستخدم رابط معرف مسبقاً من قبل جوجل ويتضمن الاحداثيات ضمنه وتضعه في مكان ما صمن صفحتك ليحل محله فورم كامل يتضمن الخارطة وهي محددة على الجزء المطلوب
أمثلة كثيرة مثلا خدمة ياهو لإحضاء أسعار العملات
أو أسعار الذهب أو أحوال الطقس أو جدول رحلات الطيران أو نتائج مباريات
كما من أشهر الخدمات خدمات PayPal لإتاحة الدفع أون لاين حيث يتم يكون الطلب على هيئة عنوان يتضمن بعض المعلومات مثل حساب المشتري وحساب المستلم والمبلغ ومعلومات أخرى ليقوم بإتمام العملية وتحويل المال وإرسال إشعار أو جواب على شكل صفحة إشعار مع رابط للعودة للصفحة السابقة
ما هو الـ API وكيف يعمل
لست مبرمجًا وأحببت أن اعرف ما هو الـ API وما هي أهميته للمواقع
وكيف يعمل، أتمنى تبسيط الشرح لغير المبرمجين
هدفي من السؤال تبسيط المعلومات لغير المبرمجين حتى نفهم منكم هذه التقنية التى اعتقد انها اصبحت مهمة جدًا
سنوضح Api
اي الربط تطبيقنا بل انترنت
ونقوم توضيحها ب Flutter وكيفيه الاستخدام
مرحبا سويت مناقشة لقناة اي واحد يريد يناقش او يسال عن موضوع تكدرون تتناقشون بي
لكن بالـ stateful Widget بنستدعي دالة اسمها createState لنستدعي الكلاس الموجودة فيها دالة build

هاي الكلاس بتورث من كلاس اسمها state من نوع MyApp يلي هيي الكلاس يلي فوقها.
وبقية الكودات مشابهة للـ stateless Widget لكن رح نحكي عنها:
اول شي عرفنا متغير اسمه count وحطينا فيه قيمة 0.
بعد استدعينا الدالة build يلي بترجعلنا الودجت scaffold وتقريبا معناها سقالة او هيكلة او طريقة تنظيم العناصر داخل الشاشة.
appBar هيي الشريط يلي بكون بأعلى الشاشة وفيها سمة اسمها title يعني العنوان يلي رح ينكتب داخل الشريط من نوع نص ‘Stateful Widget’.
body هيي المكونات يلي رح تكون داخل الشاشة وانا حطيت فيها column يعني عامود لحتى اقدر احط داخلها اكثر من child يعني children.
الـ center حكينا لتوسيط الودجت افقي وعمودي وكررتها للـ 2 ودجت.
عنا الـ child الاول وداخله قيمة من نوع تكست وطبعا بما انه علامة الدولار $ موجودة معناها انه يلي داخل علامات التنصيص هو متغير مش نص ثابت وخليته متغير عشان يجيب قيمة النص منه وكل ما تغيرت القيمة داخل المتغير count تتغير على الشاشة.
الـ child الثاني يلي هو من نوع button, لما انا اضغط عليه رح ينفذ الكود الموجود داخل دالة onPressed, وبحالتنا رح يزيد قيمة المتغير count بفارق 1 ورح يستدعي دالة اسمها setState وهاي الدالة يلي حكينا عنها فوق وهيي يلي رح تحكي للنظام انه صار تغيير وبناءا عليه رح يحدث الـ text بالقيمة الجديدة من المتغير count. رح يظهر عالشاشة بدل 0 رح تصير 1.
الـ child الثالث تابع للـ الـchild يلي فوقه وهو النص يلي رح يظهر على الـ button
Statefull widget
بالبداية لازم يكون عنا الدالة الرئيسية main لحتى التطبيق يعرف من وين رح يبلش:
stateful widget
طبعا بعد استدعاء مكتبة material, حكينا انها دالة runApp موجودة داخل هاي المكتبة.
حددنا للتطبيق انه العنوان رح يكون stateful widget وانه الصفحة الرئيسية او الراوت الرئيسية رح تكون المسؤولة عنها كلاس اسمها MyApp.
خلينا نروح للكلاس يلي اسمها MyApp:
stateful widget
ملاحظة:إشارة underscore (_) الموجودة قبل اسم الكلاس معناها انها خاصة بالمكتبة (private)
