شروحات أندرويد ستديو : كيفية نقل البيانات بإستخدام navigation component من فراجنت الى اخر عن طريق Android Studio

شرح كيفية تمرير البيانات عن طريق الرسم في الاندرويد ستوديو - Fragment Graph بالعربي


 شرح كيفية تمرير البيانات عن طريق الرسم في الاندرويد ستوديو - Fragment Graph بالعربي


تعلمنا كيفية إنشاء fragment بالعربي من داخل برنامج اندرويد ستوديو Android Studio ، وربطهما معًا ، ونقل البيانات بينهما ، والتبديل من جزء إلى آخر في الدروس السابقة من سلوك الفراجمنت. لقد غطينا تقريبًا كل ما يمكن معرفته عن هذا الموضوع ، ولكن في هذا المنشور ، سنعرض لك الجزء بأكمله. بطريقة مختلفة وأحدث ، يمكننا من خلالها إنشاء المزيد من الأجزاء ، وربطها من خلال الرسم البياني ، ونقل البيانات بينها بسهولة ، وهذا النهج أسهل وأبسط من الطرق التي ناقشناها سابقًا ، لكن من غير الصحيح إعطائك السهولة ثم الصعب. نريد شرح جميع الطرق حتى تتمكن من فهم كيفية عمل هذه الميزة المهمة في برنامج اندرويد ستوديو Android Studio. الرسم البياني هو أحدث طريقة مستخدمة حاليًا في Fragment ، ويحبها كثير من الناس ويفضلونها ، لكن بعض الأشخاص لا يحبونها ويفضلون الطريقة العادية التي شرحناها لكم في الدروس السابقة ، سوف نتعلم معنا في هذا المقال كيفية نقل وتمرير البيانات Data بين الفراجمنت وبعضها .


مقدمة بسيطة عن ماهو الاندرويد ستوديو Android Studio وكيف يعمل !


يعد برنامج أندرويد ستديو Android Studio أحد أشهر البرامج لتصميم وإنشاء تطبيقات Android ، وقد تم إنشاؤه بواسطة Google. يعمل البرنامج في إطار عمل sdk ، وهو برنامج مجاني يمكن تنزيله من الموقع الرسمي لـ Android Studio Free. إنه مجاني للتنزيل والتثبيت ، ولكن يجب عليك أيضًا تثبيت مجموعة أدوات jdk. يكون إطار عمل الترميز في Android Studio إما في Java أو Kotlin ، اعتمادًا على ما إذا كنت تريد أن يعمل البرنامج وهذة الدروس المقدمة حاليا بلغة الجافا ، لكن في الدروس المستقبلية بإذن الله سنقدم لك شروحات بلغة Kotlin. يمكنك أيضًا استخدام إحدى اللغتين السابقتين لإنشاء تطبيقاتك. يوجد فلاتر يعمل على أنظمة مختلفة مثل Android و iPhone و Web وغيرها ، ويعمل بلغة تسمى "Dart" حيث تتم كتابة الكود بداخله. سنقوم بتغطية في الأيام القادمة بإذن الله ، ولكن هذا ليس درسنا اليوم ، وإذا كنت جديدًا في البرمجة ، أنصحك بتعلم Java. لقد قدمنا ​​لك سابقًا دروسًا على موقعنا ؛ أوصي بزيارتها ، ولا نوصي باستخدام البرامج التي تساعدك في إنشاء التطبيقات دون معرفة كيفية البرمجة. نظرًا لأنه لن يكون بنفس اداء الكود ، فستكون محدودًا في تطوير وتنفيذ مجموعة معينة من التطبيقات ولكن من خلال دراسة لغات البرمجة ، ستتمكن من تطوير المشاريع والتطبيقات بأي أفكار تريدها بإذن الله. يمكنك أيضًا كسب المال عن طريق وضع إعلانات في التطبيقات للربح .


كيف ننقل البيانات من فراجنت الى فراجمنت اخر بإستخدام الجراف Fragment Graph !


1- توجة الى main_graph وقم بالنقر على fragment التي تريد ارسال اليها البيانات ولكين فراجمنت B اريد ان انقل لها مجموعة بيانات لذلك انقر عليها ومن القائمة الموجوده على اليسار انقر على argument ومن ثم انقر على علامة + , سيخرج لك مربع يطلب منك ادخال الاسم ولكين email و بعدها قم بتحديد النوع وفي النهايه اكتب default value وبعدها انقر على ok .



2- المرحلة التاليه هي التوجة بالاعلى واختيار من قائمة build امر rebuild project ومن ثم النقر عليها ( هذة الخطوة مهمة جدا ويتركز عليها الخطوة التالية ) .



3- الان ارجع الى الفراجمنت الاساسيه وفي حالتي كانت AFragment وتاتي عند عملية الانتقال من A To B وتكتب الثلاث اسطور التالية , وهي تعني ان سوف تقوم بنقل البيانات من فراجمنت A الى فراجمنت B , ان لم تفعل الخطوة السابقة فسوف تواجه مشكلة هنا لذلك تأكد انك قمت بها , ثاني سطر مسؤول عن ارسال البيانات وفي هذة الحالة قمت بإرسال عبارة geecoders واخر سطر يقوم بتشغيل الخطوات السابقة .



الكود الخاص بإرسال البيانات


 AFragmentDirections.ActionAFragmentToBFragment action = AFragmentDirections.actionAFragmentToBFragment();
action.setEmail("GeeCoders");
navController.navigate(action);


4- الان انتقل الى Fargment class التي سوف تستقبل منك البيانات وقم بعمل لها if للاختبار اذا لم تكن البيانات فارغة قم بإحضارها وعرضها , وهنا قمت بعرضها بدل textview الموجود يمكنك انت ان تعرضها على شكل toast او غيره على حسب ما تريد .



الكود الخاص بإستقبال البيانات


if (getArguments() != null) {
BFragmentArgs args = BFragmentArgs.fromBundle(getArguments());
String name = args.getEmail();
}


قم بالتجربة الان وعمل run .


كيفية نقل بيانات من object الى fragment 


1- لارسال مجموعة بيانات توجد في كلاس وتريد عمل لها تتغيرات وعرضها قم بإنشاء كلاس يحتوي على البيانات التي تريد عرضها مثل String firstname,secondname وعمل لها get & set وايضا constructor وقم بعمل Serializable بالاعلى لكي تتمكن من تمرير البيانات والتعديل عليها .



2- انتقل الى main_graph ومنها حدد الفراجمنت التي تريد الانتقال اليها ومن ثم اضغط على argument وقم بكتابة الاسم اي شيئ وهنا قمت بكتابتة name " الاسم الذي يكتب هنا هو ما يتم استدعائه " , بعدها حدد نوع Type وقم بتحديد Serializable وسوف تشاهد ظهور جميع الكلاسات التي تحتوي على عبارة Serializable ومنها اختر الكلاس الذي قمنا بإنشاءه وهو Data وبعدها اكتب في default اي شيئ مثل geecoders او غيره بعدها انقر على ok .


المرحلة التاليه هي التوجة بالاعلى واختيار من قائمة build امر rebuild project ومن ثم النقر عليها ( هذة الخطوة مهمة جدا ويتركز عليها الخطوة التالية ) .



3- ارجع الى AFragment والان سوف نجرب ارسال البيانات الى CFragment لذلك ناتي عند النقر على زر btn_fragment_c ونقوم بتعريف Data class ونرسل البيانات التي نريدها ونكمل باقي الكود كما هو .



كود نقل ألبيانات من Fragment To another Fragment


Data data = new Data("Ahmed","Mahmoud");
AFragmentDirections.ActionAFragmentToCFragment test = AFragmentDirections.actionAFragmentToCFragment(data);
navController.navigate(test);



3- توجة الى الفراجمنت التي سوف تستقبل فيها البيانات وقم بعمل if للاختبار مرة اخرى كما بالصورة التالية .




انظر الى هذا

تعليقات