بهروز خضری
بهروز خضری
خواندن ۲ دقیقه·۵ سال پیش

برنامه هواشناسی - داستان ایجاد یک اپلیکیشن اندروید

چند وقت بود که کاری در گیت‌هاب انجام نداده بودم و مشغول پروژه خاصی هم نبودم. گفتم یه اپلیکیشن بنویسم که هم خودم یه چیزی یاد بگیرم هم شاید بدرد کسی بخوره. چند سال پیش به API وب‌سایت OpenWeatherMap برخورد کرده بودم. دیتای هواشناسی رو در اختیار کاربرهاش قرار میده. گفتم یک اپلیکیشن کلاینت اندروید براش بنویسم. یک ماه پیش بود.

رفتم داخل سایت UpLabs و دنبال طرح‌های هواشناسی گشتم. طرح‌های بسیار خوبی داشت. از بین اون‌ها این طرح رو انتخاب کردم:

طرح خیلی زیبایی است که توسط Raman Yv طراحی شده. با توجه به محدودیت‌های API مربوط به OpenWeatherMap مجبور شدم برخی تغییرات رو در ظاهر طراحی اعمال کنم. اما کلیت کار الهام‌گرفته از این طرح است.

دیتای OpenWeatherMap شامل دیتای دمای فعلی، دمای ۵روز آینده به صورت هر سه ساعت یک دیتا و ۱۶روز آینده است. زمان‌های برگشتی از سمت API منطبق با GMT است و امکان مشخص کردن Timezone فعلی در درخواست وجود نداره. برای همین مشکلاتی برای نمایش دیتا پیش اومد چون مثلا در ساعت ۱ بامداد به وقت تهران، از نگاه ما فردا شده اما برای کسی که در بریتانیاست هنوز دیروز است. برای همین مجبور شدم تغییراتی در نمایش دیتا به وجود بیارم اما در نهایت نتیجه مطلوب شد.

دسترسی به دیتای OpenWeatherMap در حال تغییره و ممکنه در آینده‌ی نزدیک اپ دیگه نتونه تمامی دیتا رو نشون بده و نیاز به به‌روزرسانی داشته باشه. در اون زمان اپلیکیشن بهتون پیام لازم رو میده. متاسفانه API بدرد بخور دیگه‌ای پیدا نکردم. اکثرا پولی شدن و یا به کل حذف شدند.

برای استفاده از اپلیکیشن فقط یک محدودیت ۱ساعته برای هر به‌روزرسانی اعمال کردم. دلیل اینکار اینه که خودش اعلام کرده که هر ۲ساعت یک بار دیتا رو به‌روز می‌کنه و نیازی نیست درخواست‌های زیادی بهش داده بشه. پس ممکنه دیتای نمایش داده شده با واقعیت جوی اون لحظه منطبق نباشه.

هدف اصلی از ایجاد این اپلیکیشن یادگیری برنامه‌نویسی اندروید در قالب یک پروژه متن باز است. از کتابخانه‌های مختلفی استفاده شده تا بهترین نتیجه در طراحی و نمایش دیتا حاصل بشه. مطمئنن مشکلات زیادی هم داره. ممنون میشم که خطاهای اون رو به صورت issue ثبت کنید. برنامه دو زبانه است و می‌تونید زبان فارسی رو در منوی اون فعال کنید.

لینک سورس اون در گیت‌هاب به این نشانی در دسترس است

https://github.com/bkhezry/weather

از ابتدای شروع به کار، هوتن براری خیلی به این پروژه کمک کرد. همه بخش‌ها رو تست و نظراتش رو گفت. برای آیکن‌های هواشناسی برنامه هم زحمت کشید و اون‌ها رو از فایل‌های انیمیشن Lottie ایجاد کرد و برام فرستاد. خواستم اینجا ازش تشکر کنم. مرسی که هستی.

از دوستانی که برنامه رو تست کردن و مشکلاتش رو گفت ممنونم. تا حد امکان سعی کردم مشکلاتش رو رفع کنم. برخی بخاطر محدودیت‌های برنامه‌نویسی و برخی هم به دلیل کمبود دانش من در اون زمینه انجام نشد.

برای دانلود اپلیکیشن از لینک مستقیم زیر از وب‌سایتم استفاده کنید. تنها دسترسی مورد نیاز اپلیکیشن، اینترنت است.




androidopenweathermapweatherهواشناسیاندروید
توسعه‌دهنده اندروید
شاید از این پست‌ها خوشتان بیاید