شرح كيفية نقل ArrayList من activity الى Activity اخرى بواسطة Parcelable

شرح كيفية نقل ArrayList من activity الى Activity اخرى بواسطة Parcelable


 شرح كيفية نقل ArrayList من activity الى Activity اخرى بواسطة Parcelable

تعد الParcelable واحده من اشهر الطرق التي تستخدم في عملية نقل البيانات بشكل سريع بين الactivity ويفضلها الكثير من المطورين بدلا من الserializable وهي نفس الخاصة تستخدم لنقل object من الmodel لclass اخر لكي يتم استخدامه ولكن الParcelable تتميز انه يمكنك من خلالها نقل arrayList بشكل كامل كما سوف نشاهد في مقالة اليوم حيث سوف نقوم بنقل ArrayList من Activity الى اكتفتي اخرى .


Android هو الاسم الأكثر انتشارًا هذه الأيام. ويجب أن يكون كل شخص يشارك في دورة تطوير Android على دراية بأحدث ميزات Android Studio ، والتي سنستكشفها اليوم , 

يعرف الجميع نظام Android ، لكن ربما لا يعرفون كيفية إنشاء تطبيق Android احترافي. سأريك كيف. تم تصميم تطبيقات Android باستخدام إعداد Android Studio من Google.


وفقًا للإحصاءات ، بحلول تقدم السنوات ، سيزداد الطلب على مطوري Android بشكل كبير جدا . اليست الان الفرصه بالنسبة لك بالبدء في تعلم تطوير تطبيقات الاندرويد والبدء في ربح المال بكل سهوله ؟


google console play console android android studio mac android studio krita android


تحويل Data class الى Parcelable لتسهيل عملية النقل

في البداية سوف ناتي الى اسم الclass ونقوم بكتابة Parcelable بعد implement كما هو موضح وبعدها alt + enter لكي نقوم بتعبئة الclass بالمحتويات التي يحتاجها .


تحويل Data class الى Parcelable لتسهيل عملية النقل

نقل ArrayList من class الى class اخر

الان في عملية النقل تاكد ان البيانات من نوع ArrayList لكي لا يحدث معك مشاكل وبعدها قم بإرسال الاسم الخاص بها وهو في هذه الحالة كان باسم listList في عملية putParcelableArrayListExtra .



PutParcelableArray.java


    @Override
    public void onClick(int position) {
        Intent i = new Intent(this, MainActivity2.class);
        i.putParcelableArrayListExtra("data",listList);
        Log.i(TAG, "onClick: " + position);
        startActivity(i);
    }
    


استقبال بيانات الarraylist في الصفحة الاخرى

في عملية الاستقبال سوف نقوم بإستقبال البيانات عن طريق اعطاء اسم للArrayList والتي وهنا كان lists وبعدها نقوم بعمل getParcelableArrayListExtra ونكتب الkey الذي تم الارسال عن طريقة كما هو موضح .


استقبال بيانات الarraylist في الصفحة الاخرى

MainActivity.java


public class MainActivity2 extends AppCompatActivity {
    ActivityMain2Binding binding;
    ArrayList<DataList> lists;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        binding= DataBindingUtil.setContentView(this,R.layout.activity_main2);

        lists = getIntent().getParcelableArrayListExtra("data");

        binding.image.setImageResource(lists.get(2).getImg());
        binding.textview.setText(lists.get(2).getTxt());

    }
}


تعليقات