البرمجة

تطوير تطبيق Android Studio باستخدام HashMap

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

بالنسبة للجزء الأول من الشفرة الذي قدمته، استخدمت ArrayList لتخزين الخيارات المتاحة للمستخدم. هذا يعطيك مرونة أكبر في تعديل وإدارة البيانات بالمقارنة مع استخدام مصفوفة عادية.

لكن بالنسبة للجزء الثاني، حيث تريد عرض مدن معينة بناءً على البلد الذي يختاره المستخدم، يمكنك تحقيق ذلك ببساطة عن طريق استخدام HashMap بدلاً من مصفوفة ثنائية الأبعاد.

إليك كيفية تحقيق ذلك باستخدام HashMap:

java
import java.util.HashMap; public class MainActivity extends AppCompatActivity { int randome = 0; // HashMap to store countries and their cities HashMap countriesAndCities = new HashMap<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final Button no = findViewById(R.id.No); final Button yes = findViewById(R.id.Yes); final TextView tvMessage = findViewById(R.id.tvMessage); // Add countries and their cities to the HashMap countriesAndCities.put("United Kingdom", new String[]{"London"}); countriesAndCities.put("USA", new String[]{"Washington"}); countriesAndCities.put("India", new String[]{"New Delhi"}); no.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // Your logic for handling 'No' button click } }); yes.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // Get a random country String[] countries = countriesAndCities.keySet().toArray(new String[0]); String randomCountry = countries[new Random().nextInt(countries.length)]; // Get cities of the selected country String[] cities = countriesAndCities.get(randomCountry); // Display the randomly selected city of the randomly selected country String randomCity = cities[new Random().nextInt(cities.length)]; tvMessage.setText("City: " + randomCity + ", Country: " + randomCountry); } }); } }

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

المزيد من المعلومات

بالطبع، دعني أكمل المقال بتوضيح بعض النقاط الإضافية حول الكود المقدم وكيفية تطويره بشكل أفضل.

أولاً، يُلاحظ أن الاستخدام الأساسي للـ HashMap هو لتخزين البيانات في شكل أزواج “مفتاح-قيمة”. في هذا المثال، يكون اسم البلد المفتاح وقائمة المدن المرتبطة بهذا البلد هي القيمة. هذا يسمح لنا بسهولة الوصول إلى مدن معينة عند معرفة اسم البلد.

ثانياً، الكود يستخدم Random class لتوليد أرقام عشوائية. هذا يسمح بتحديد بلد ومدينة عشوائيين من القائمة المتاحة. ومع ذلك، يجب مراعاة أن استخدام الأرقام العشوائية قد يؤدي إلى تكرار بعض القيم بشكل متكرر، لذلك قد ترغب في تطوير طريقة أكثر تنوعًا لتحديد العناصر العشوائية.

ثالثًا، يمكنك توسيع هذا النمط ليتناسب مع احتياجات تطبيقك الفعلية. على سبيل المثال، يمكنك إضافة معلومات إضافية لكل بلد مثل المعالم السياحية الشهيرة أو اللغة المحكية. كما يمكنك تحسين واجهة المستخدم لتجعلها أكثر تفاعلية وسهولة في الاستخدام.

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

باختصار، الكود المقدم هو نقطة انطلاق جيدة لتطوير تطبيق يستجيب لاختيارات المستخدم بشكل ديناميكي. باستخدام الـ HashMap والبرمجة الشيئية الموجهة، يمكنك بسهولة توسيع تطبيقك وإضافة المزيد من الميزات والبيانات بمرونة.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر