نقل Object من بيانات class الى class اخر في Android Studio بسهوله
في هذا المقال بإذن الله تعالى سوف نشرح لكم فكرة جديدة لنقل البيانات من class الى class اخر حيث في المقالة السابقة تعرفنا معكم على نقل البيانات بطريقة boundl ويكون عن طريق وضع key لكل عنصر نريد نقله ولكن في هذة الطريقة سوف نقوم بنقل Object كامل من class معين بمعنى سوف ننقل كل المحتويات التي توجد داخل الكلاس واستقبال المحتويات التي نريدها في الكلاس الاخر وهذا الامر افضل من الطريقة السابقة لانه يوفر اولا وقت وكود .
اصبحت تقنية تطوير تطبيقات الجوال والهواتف الذكيه من اهم ال technology المستخدمه في الفتره الحاليه والتي عليها طلب كبير جدا من الاشخاص الذين يريدون تعلمها لاصدار التطبيقات الخاصه بهم وتطويرها بنفسهم دون الحاجه الى الى الاستعانه بمطور android او mobile application developer وهو الشخص المتخصص في تطوير التطبيقات ، وايضا هذة المهاره اصبحت مصدر دخل لكثير من الاشخاص .
تعتمد عمليات تطوير تطبيقات android على لغتي java و kotlin وهذا للتطبيقات ال native وهي التطوير التي تعمل على منصة واحده ويكون ال performance الخاص بها افضل من غيره على عكس التقنيات الحديثة والتي تسمى Cross platform مثل react native و flutter والتي تجعلك بكود واحد تشغيل التطبيقات على أكثر من منصة بنفس الكود ، ويوجد في موقعنا شروحات flutter ايضا .
خطوات نقل Object من class الى class اخر في Android Studio
1 - تحويل الclass الى Serializable وتحويل كل ال Lists of classes الى Serializable
عليك اولا الانتقال الى الكلاس الذي تريد ان تشارك منه البيانات وجعله Serializable كما يظهر بالصورة , ولكن اذا كان الكلاس يحتوي على classes اخر بداخله مثل هذا الكلاس الذي يوجد بالصورة عليك بالدخول الى كل كلاس منهم وتحويله ايضا الى Serializable مثل هذا الكلاس تماما لكي يتمكن من الوصول الى البيانات بدون مشاكل مثل : ProductSize ادخل عليه واجعله implements Serializable وقم بهذة الخطوه مع الclasses الاخرى .
نقل بيانات الclass كامله عند النقر
بعد الانتهاء من الخطوة السابقة ياتي الان دور النقل في النقل سوف نقوم بعمل key للobject وننقل الlist كامله بمعنى ننقل كل محتويات الكلاس .
@Override
public void onclick(int position) {
Intent intent = new Intent(requireContext() , ProductActivity.class);
intent.putExtra("product", list.get(position));
startActivity(intent);
}
استقبال البيانات عند وصولها الى الclass الاخر
اخيرا انتقل الى الكلاس الاخر الذي نقلت اليه البيانات وهو باسم ProductActivity وقم بأخذ Object من الProductActivity واجعل الproductData يحصل على البيانات عن طريق getInstent وgetSerializableExtra واكتب الاسم الذي قمت بالارسال من خلاله او Key والان اصبح بإمكانك استخدام محتويات الكلاس الاخر هنا , للتجربة قمنا بعرض الاسم وذلك يكون طريق كتابة اسم الObject والعنصر الذي يحوي الاسماء وتجربة اخرى مع السعر .
productData = (ProductData) getIntent().getSerializableExtra("product");
binding.tvItem.setText(productData.getItemName());
binding.price.setText(productData.getPrice());
الى هنا يكون انتهى مقال اليوم نتمنى ان نراكم قريبا في مقالات جديده , ويمكنك مشاهدة المقالات السابقة في قسم تطوير تطبيقات الاندرويد والجوال حيث نقدم لها مجموعه كبيره جدا من الاكواد البرمجية التي تفيد كل مبرمج لاتقان عمله والوصول الى افضل نتيجة بشكل فعال وانجاز التطبيقات بأعلى مستوى .
- كيفية عرض RecyclerView بشكل افقي HORIZONTAL في اندرويد ستوديو
- شرح استخدام الmvvm في برنامج Android Studio اندرويد ستوديو ( design patterns )
- انشاء Dialog Fragment واستدعاءة في activity او fragment على شكل dialog
- انشاء TableLayout مع viewpager2 بالاندرويد ستوديو
- حل مشكلة Data null بإستخدام DataBinding او Adapter في Android Studio