🔶 تغییرات جدید پروژه‌ی متن‌باز SearchMovies.. در ادامه میتونید لیست تغییرات رو ببینید:

🔶 تغییرات جدید پروژه‌ی متن‌باز SearchMovies

🔹بعد از چندماه دوباره رفتم سراغ این پروژه و کمی تغییرش دادم تا برای استفاده بهتر بشه. در ادامه میتونید لیست تغییرات رو ببینید:

▫️بهبود ساختار MVP- در کدهای قبلی از weak reference و متد‌های کمکی استفاده شده بود تا از memory leak جلوگیری بشه ولی با توجه به اینکه از RxJava استفاده میشه و در onStop همه‌ چی dispose میشه، دیگه اون مشکل پیش نمیاد و نیاز به کدهای قبلی نیست.

▫️مهاجرت از RxJava1 به RxJava2- خیلی وقت بود میخواستم از RxJava2 استفاده کنم که فرصت نمیشد، بصورت امتحانی توی SearchMovie اینکارو کردم. البته باید بیشتر تحقیق کنم، هنوز نمیدونم استفاده از Flowable یا Single بهتره یا همینکه الان درست کردم.

▫️هندل کردن زمانی که سرور خطاها را در قالب JSON به کلاینت میفرستد- توی یکی از پروژه‌ها نیاز بود که سرور در زمانی که خطا رخ میده، خطاهایی با JSON متفاوت رو بفرسته. بعد برای هندل کردن این قضیه به مشکل خوردم تا اینکه با گشتن توی اینترنت تونستم با onErrorResumeNext حلش کنم. توی اینجا هم استفاده کردمش تا اگر کسی نیاز داشت ببینتش.

▫️بهبود Endless Scroll- کد Endless Scroll خیلی تمیز نبود، برای همین یه Recyclerview کاستوم ساختم تا بتونم کدشو تمیزتر کنم.

▫️استفاده از MaterialSearchView برای جستجو- برای اینکه اپ خوشگل‌تر بشه از این کتابخونه استفاده کردم، اینجوری از اون مدل قبلی قشنگ‌تر هس.

🔹مهمترین هدف از این تغییرات این بود که پروژه تر تمیزتر بشه تا یک پروژه دقیقا معادل همین با زبان Kotlin درست کنم و در کنارش بذارم. اینجوری مقایسه کردن زبان‌ها خیلی ساده‌تر میشه. البته در مورد اینکه از تبدیلش کردنش فیلم بگیرم یا فقط کدنهایی رو بذارم به نتیجه نرسیدم.

🔹لینک ریپوی SearchMovie:
https://github.com/abbas-oveissi/SearchMovies

#android #mvp #opensource
◀️ عضویت در کانال @aoveissi