برمجة لست فيو قائمة احترافية وسهلة الاستخدام بالاندرويد

بسم الله الرحمن الرحيم

إن شاء الله اليوم من أفضل الدروس التي تخص برمجة عنصر اللست فيو او القائمة في تطبيقات الاندرويد, ما يميز هذا الدرس إنه أكثر من سهل للمبتدئين, فقط نقل الاكواد وتغيير الاسم + مسار الصورة + الموقع الذي سوف يتم التوجه عليه.
طبعاً انا استخدمت مثال موقع, ولكن تستطيع استخدام هذه القائمة بإي أمر تريد, مثل الزر تماماً, توفر عليك الكثير من الوقت, تستطيع وضع مثلاً فقط عنوان الاكتفتي الذي تريد التوجه عليه بعد الضغط على زر معين, طبعاً مع تغيير الأمر بالأكواد + نوع البيانات المدخلة هل هي سترنج او انتجر او بولين إلخ .

هذا الدرس كنت أعتبره سر بالنسبة لي, لأنك تستطيع منه أن تنشأ الكثير من التطبيقات بسهولة تماماً فقط في تعديل البيانات وتغيير التصميم, مهم جداً جداً ..

بالنسبة لمن لم يتابع الدروس الماضية, فيفضل متابعتها لفهم بعض النقاط, تابعها :

بالنسبة لترى نتيجة هذا الدرس في معاينة سريعة فيديو, شاهد الفيديو التالي والذي هو نفس نتيجة الدرس السابق, فقط في هذا الدرس استخدام لست متطورة اكثر, سهلة الاستخدام واعطاء الاوامر بسهولة.

طبعاً في الدرس الماضي كان شرح طويل ولكن ارجوا متابعته, فالكود الذي أخذناه في الدرس الماضي, نفسه اليوم ولكن مع تعديلات جديدة.

سوف أركز بشرح اليوم على النقاط الجديدة. والأكواد المستخدمة هي :
+ لياوت الرئيسية للتطبيق, المهم فيها عنصر القائمة حتى لو استخدمتها مع عناصر اخرى. activity_main.xml :

+ لياوت خاصة لتنسيق العناصر text.xml :

+ الاكتفتي الرئيسي للقائمة MainActivity.java :

لو لاحظتم إن الكود هذه المرة في الاكتفتي اقصر من السابق, لأنني في الدرس السابق قمنا ببرمجة كل عنصر على حدة.
الجديد هنا, هو إضافة مصفوفة جديدة من نوع سترنج من اجل روابط المواقع, وقم بتسميتها : AndRody_Site .

معلومة أكررها لو لاحظتم ان العناصر مرتبة في المصفوفات, فالعنصر الأول في مصفوفة الاسماء Android و العنصر الاول في مصفوفة روابط المواقع http://android.com وفي الصورة كذلك العنصر الأول يوافقها جميعها.
فالقصد إنك عندما تملأ البيانات, رتبها بالترتيب الاول يوافق الاول بجميع المصفوفات, او استخدم الطريقة المستخدمة في الدرس الثالث, مصفوفات في ملف منعزل لتحافظ على الترتيب.

كذلك لدينا سطر جديد ArrayList<Data> arraylist = new ArrayList<>(); وهو لإنشاء مصفوفة ولكن قائمة, وليست مصفوفة عادية, وداخلها اسم اكتفتي Data فهذا اسم الاكتفتي الجديدة لدينا اليوم.

for (int i = 0; i < AndRody_Name.length; i++) {
Data abboudi = new Data(AndRody_Name[i], AndRody_img[i], AndRody_Site[i]);
arraylist.add(abboudi);
}

اما هنا فنحدد عدد العناصر التي سوف تظهر بناءاً على مصفوفة الأسماء, ونضيف جميع المصفوفات لــــ : مصفوفة القائمة arraylist .

ListAdapter adapter = new ListAdapter(this, arraylist);

سابقاً كنا نحدد ان المعلومات التي يأخذها هي مصفوفة الاسماء + مصفوفة الصور , ولكن الان حددنا له إن يأخذ معه مصفوفة القائمة والتي هي تحتوي على جميع المصفوفات الثلاث.
ListAdapter اسم الكلاس الخاص الذي قمنا بإنشائه سابقاً لربط العناصر .

 + كلاس المحول ListAdapter.java :

public ListAdapter(Activity context, List<Data> openSite) {
this.context=context;
this.Datalist = openSite;
inflater = LayoutInflater.from(context);
this.arraylist = new ArrayList<>();
this.arraylist.addAll(openSite);

كما في الدرس السابق, ولكن هنا نوع البيانات المدخلة هي مصفوفة قائمة واعطينها اسم openSite وأشرنا انها تعادل الداتا ليست ليتم التحكم فيها, كما شرح سابقاً.

بالنسبة لـ getCount + getItem + getItemId فهي اساسية مع extends BaseAdapter لذلك اتركها كما هي. ” سهلة القراءة “.

الجديد فقط هو تعيين اسم النص من القائمة Datalist.get(position).getNames() والصورة كذلك Datalist.get(position).getImage() .

واستخدامنا لدالة الاون كليك بعد النقر على العنصر, نفذ الأمر التالي :

Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(Datalist.get(position).getSite()));
context.startActivity(i);

وهو الانتقال بنا الى متصفح الويب لفتح الموقع التالي, ويتم اختياره من القائمة Datalist.get(position).getSite() . بالنسبة لـ position ليتم اختيار نفس الاسم لنفس الصورة والموقع.

إذا لم تفهم getNames + getImage + getSite فتم تحديد بالكلاس الاخير والجديد في درس اليوم.

+ كلاس الداتا Data.java :

كلاس واضح, لاستقبال بيانات معينة, وهي السترنج والانتجر وربطها. ولكنه مهم. فقط استخدمناه كثيراً سابقاً.

 

بالنسبة للقائمة هكذا تقريباً خمس دروس أخذنا أهم ما فيها, ولكن احتمال لاحقاً تجهيز دروس التعامل ما بينها وما بين قواعد البيانات.

هذا درس اليوم, وان شاء الله تكونوا استفدتم, وانتظرونا في دروس قادمة إن شاء الله ,,, والسلام عليكم 🙂

 

عن عبدالقادر عليوي

مواليد 1996 , سوري الجنسية, طالب علم, لدي شغوف كبير في تعلم كل ما يتعلق بالانترنت من تطوير وحماية, أحب القراءة كثيراً .. هدفي نشر العلم بشتى أنواعه ومجالاته, متابع من الدرجة الأولى لـ الدكتور ابراهيم الفقي و الشيخ أحمد ديدات - رحمهم الله -.

شاهد أيضاً

أبسط طريقة لاستخدام زر التبديل ToggleButton بالاندرويد برمجياً

بسم الله الرحمن الرحيم في هذه التدوينة السريعة, طريقة سهلة وبسيطة لاستخدام زر التبديل ToggleButton في …

تعليق واحد

  1. شكرا لك درس مفيد جدا….

أضف تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *