Bog'liq Android OT da dastur arxitekturasi, Android Java virtual mashina
taqdimotchi"lar modeldan ma'lumotlarni yuklash va ma'lumotlar yuklanganda ko'rish qatlamida tegishli usullarni chaqirish uchun mas'uldirlar. Taqdimotchilar DataManager tomonidan qaytariladigan Observables ga obuna bo'lishadi. Shuning uchun ular obunalar va rejalashtiruvchilar kabi ob'ektlar bilan ishlashlari kerak. Bundan tashqari, ular yuzaga keladigan yoki qo'llaniladigan xatolarni tahlil qilishlari mumkin qo'shimcha operatorlar agar kerak bo'lsa, ma'lumotlar oqimlariga. Misol uchun, agar biz ba'zi ma'lumotlarni filtrlashimiz kerak bo'lsa va bu filtr boshqa joyda ishlatilmasa, ushbu filtrni DataManager emas, balki taqdimotchi darajasiga ko'chirish mantiqan.
Quyida taqdimotchi darajasida bo'lishi mumkin bo'lgan usullardan biri keltirilgan.Bu erda biz oldingi bo'limda aniqlagan dataManager.loadTodayPosts() usuli bilan qaytariladigan Observable obunasi amalga oshiriladi.
Umumiy bekor loadTodayPosts() ( mMvpView.showProgressIndicator(true); mSubscription = mDataManager.loadTodayPosts().toList() .observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.wscribe(Schedulers.ioub) () ( @Override public void onCompleted() ( mMvpView.showProgressIndicator(false); ) @Override public void onError(Throwable e) ( mMvpView.showProgressIndicator(false); mMvpView.showError(); ) @OverNext( public) Roʻyxat Xabarlar ro'yxati) ( mMvpView.showPosts(postsList); ) )); )
mMvpView - bu taqdimotchi ishlaydigan taqdimot qatlami komponenti. Odatda bu Faoliyat, Fragment yoki ViewGroup bo'ladi.Oldingi arxitekturada bo'lgani kabi, taqdimot qatlamida Android SDK standart komponentlari mavjud. Farqi shundaki, bu komponentlar endi to'g'ridan-to'g'ri Observables-ga obuna bo'lmaydi. Buning o'rniga ular MvpView interfeysini amalga oshiradilar va showError() yoki showProgressIndicator() kabi toza va tushunarli usullar ro'yxatini taqdim etadilar. Taqdimotchi komponentlari foydalanuvchining o‘zaro ta’sirini (masalan, bosish hodisalari) boshqarish va taqdimotchida tegishli usullarni chaqirish uchun ham javobgardir.Masalan, agar bizda postlar ro‘yxatini yuklaydigan tugma bo‘lsa, bizning Faoliyatimiz taqdimotchining OnClickListener dasturini chaqirishi kerak bo‘ladi. .loadTodayPosts() usuli.
Agar siz ishlaydigan misolni ko'rishni istasangiz, bizning Github omborimizga tashrif buyurishingiz mumkin. Xo'sh, agar siz ko'proq narsani xohlasangiz, arxitekturani qurish bo'yicha tavsiyalarimizni ko'rishingiz mumkin.
Nima uchun bu yondashuv yaxshiroq?
Faoliyatlar va fragmentlar yanada yengillashadi, chunki ularning vazifasi endi foydalanuvchi interfeysini ko'rsatish/yangilash va foydalanuvchi o'zaro ta'siri voqealarini boshqarishga qisqartirilgan. Bu ularni saqlashni yanada osonlashtiradi.
Taqdimotchilar uchun birlik testlarini yozish juda oddiy – siz shunchaki taqdimot qatlamini bloklashingiz kerak. Ilgari bu kod taqdimot qatlamining bir qismi bo‘lgan va uni birlik sinovdan o‘tkazish imkoni yo‘q edi.Arxitektura yanada sinovdan o‘tkaziladi.
Agar DataManager juda shishib qolsa, biz har doim kodning bir qismini taqdimotchilarga ko'chirishimiz mumkin.
Qanday muammolar qolmoqda?
Qachon katta raqam DataManager kodi hali ham shishib ketishi mumkin. Hozircha bu sodir bo'lmadi, lekin biz voqealarning bunday rivojlanishidan voz kechmaymiz.
Shuni ta'kidlash kerakki, men ta'riflagan yondashuv ideal emas. Umuman olganda, sizning barcha muammolaringizni bir marta va butunlay hal qiladigan juda noyob va yagona arxitektura borligiga ishonish soddalik bo'ladi. Eko android tizimi"a yuqori tezlikda rivojlanishda davom etadi va biz izlanishlar, o'qish va tajribalar orqali xabardor bo'lishimiz kerak. Nima uchun? Ajoyib Android ilovalarini yaratishda davom etish uchun.
Umid qilamanki, sizga mening maqolam yoqdi va foydali bo'ldi. Agar shunday bo'lsa, Tavsiya qilish tugmasini bosishni unutmang. Shuningdek, hozirgi yondashuvimiz haqida fikringizni eshitishni istardim.
Fayl tizimi - bu ma'lum bir diskning tuzilishi. U xotirada saqlanishi mumkin bo'lgan faylning maksimal miqdori, ularning nomlarining uzunligi, shuningdek yozish yoki o'qish davrlarini tashkil qilish uchun javobgardir. Fayl tizimlari o'rtasida vositachi vazifasini bajaradi dastur kodi va jismoniy konteyner.
Turli xil operatsion tizimlar va qurilmalar turlari uchun Android operatsion tizimida alohida fayl tizimlari va gadjetlar mavjud, ular bundan mustasno emas. Keling, Android qanday fayl tizimlarini qo'llab-quvvatlashini ko'rib chiqaylik va ularning har birining maqsadi nima?
1. Yafflar va Yafflar2
Yaffs (Yet Another Flash File System) fayl tizimining yaratuvchisi Charlz Menning, asli Yangi Zelandiyadan. Ushbu FS flesh-disklar va RAM ishini tashkil qilish uchun mo'ljallangan. Uning asosiy afzalligi xotira modullarining ishlash muddatini oshirishdir, chunki tizim avtomatik ravishda bir marta yozish uchun mo'ljallangan hujayralarni o'tkazib yuboradi. Yaffs2 ishni tashkil qilish uchun ishlatilgan ichki xotira Android gadjetlarining 2.2 va 2.3 versiyalari.
2. VFAT
Vfat to'liq mustaqil fayl tizimi emas, balki FAT kengaytmasi hisoblanadi. O'zgartirilgan versiya uzoq nomlar bilan fayllarni saqlashga imkon beradi, ammo boshqa barcha xususiyatlar uchun u eskirgan. Vfat xotira kartalarida ishlatilishi mumkin va Android-ga asoslangan operatsion tizimlar ularni to'liq qo'llab-quvvatlaydi. Asosan fayl tizimi Android flesh-disklar.