Dasturni ishlab chiqish jarayonida sakkizta klass yaratildi:
CitysC
ExternalDbOpenHelper
InformationC
MainActivityC
MapsActivity
MetroC
PlacesC
SectionsC
Ushbu klasslar mustaqil ishi ilovasi sifatida taqdim etiladi.
Citys klassi shaharlarni namoyish etuvchi aktivitiyni boshqaradi. Ushbu klass yaratilganidan so’ng u ma’lumotlar bazasiga bog’lanadi va shaharlar nomlarini bazadan yuklab oladi. Foydalanuvchi birinchi oynada tanlaganidan kelib chiqib shahar nomlari o’zbek, ingliz yoki rus tillarida ko’rsatilishi mumkin. Shundan keyin ushbu klass rasmlarni yuklaydi va ularni shahar nomlari bilan birga ekranda namoyish qiladi.
ExternalDbOpenHelper klassining asosiy ishi bizning dasturga SQLite ma’lumotlar bazasini ulashdan iborat. U ishga tushadi va database nomli ma’lumotlar bazasini qidiradi. Biz ushbu ma’lumotlar bazasini yaratib dasturning assets papkasiga joylashtirishimiz kerak. Agarda ushbu klass ma’lumotlar bazasini topa olsa, u bilan aloq o’rnatadi. Agar ma’lumotlar bazasini topa olmasa, ma’lumotlar bazasiga bog’lanishda xatolik yuzaga kelganini xabar beradi.
InformationC klassi obyekt haqidagi ma’lumotni ko’rsatadi. U yaratilganida avval qanday til, qaysi shahar va qaysi obyekt tanlangani haqida ma’lumotga ega bo’ladi. U shu ma’lumotlardan foydalanib ma’lumotlar bazasidan tanlangan obyekt xaqidagi ma’lumotning tanlangan tildagi versiyasini olib ekranda namoyish qiladi. Bundan tashqari u xaritada obyektni joylashuvini ko’rsatuvchi ikonkani ham boshqaradi. Ushbu ikonkani bosganingizda siz xaritada obyektni joylashuvini ko’rishingiz mumkin.
MainActivityC dasturning birinchi oynasini boshqaradi. U resurslar papkasidan davlat bayroqlari ikonkalarini yuklab oladi va yuqori chap burchakdagi tugma bosilganida ko’rsatiladigan oynani yaratadi. Biron bir til tanlanganida u haqidagi ma’lumotni keyingi aktivitiyga yuboradi.
MapsActivity xaritani ekranda namoyish qiladi. Biz ma’lumotlar bazasiga har bir shaharning va har bir obyektning kordinatalarini kiritganmiz. Agar siz biron shahar uchun xaritani tanlasangiz uning kordinatlari ma’lumotlar bazasidan olinadi va o’sha shahar xaritasi ekranda ko’rsatiladi. Biron bir obyekt tanlangan bo’lsa, ma’lumotlar bazasidan uning kordinatlari olinadi va xaritada o’sha nuqtaga marker qo’yib ko’rsatiladi.
MetroC klassi anchagina soda. U foydalanuvchi qaysi tilni tanlaganini aniqlaydi va shunga ko’ra kerakli rasmni ekranda ko’rsatadi.
PlacesC klassi obyektlar ro’yxatini boshqarish uchun ishlatiladi. Ushbu klass tanlangan til, shahar va guruh haqida ma’lumotga ega va shunga ko’ra obyektlar nomlarini ma’lumotlar bazasidan yuklaydi. Keyin ularga mos keluvchi rasmlar massivini yaratadi va ularni birga ekranda namoyish qiladi.
SectionsC klassi guruhlarni ko’rsatuvchi aktivitiyni boshqarish uchun ishlatiladi. U ma’lumotlar bazasidan guruhlar nomlarini, va resurslar papkasidan ularga mos ikonkalarni yuklab oladi. So’ngra ularni ekranda namoyish etadi.
Yuqorida keltirilgan barcha klasslar ushbu mustaqil ishining so’ngi qismida ilova sifatida keltirilgan.