Nếu bạn đang tìm một WeatherMaster ứng dụng thời tiết Android đa nguồn mã nguồn mở để vừa dùng vừa học hỏi, thì repo này của PranshulGG chính là thứ bạn cần. Nó giải quyết bài toán thiếu đa dạng dữ liệu thời tiết bằng cách tích hợp nhiều nguồn khác nhau (BMKG, China Weather, v.v.) trong một giao diện Android thuần Kotlin. Dành cho developer muốn tham khảo kiến trúc app thời tiết hoặc người dùng thích tùy biến.
Thank you for reading this post, don't forget to subscribe!Những điểm chính
- Ứng dụng thời tiết Android mã nguồn mở với hơn 2.900 sao trên GitHub, cho phép tổng hợp dữ liệu từ nhiều nguồn API khác nhau.
- Sử dụng Kotlin và Gradle, cấu trúc project chuẩn hiện đại, dễ fork và đóng góp.
- Hỗ trợ nhiều nguồn thời tiết như BMKG, Trung Quốc, và các nguồn khác thông qua cấu hình linh hoạt.
- Tích hợp CI/CD với GitHub Actions, fastlane cho việc phát hành tự động.
- Phù hợp với developer muốn học xây dựng app thời tiết hoặc người dùng muốn tự build APK với dữ liệu riêng.
WeatherMaster là gì và giải quyết vấn đề gì?

WeatherMaster là một ứng dụng thời tiết mã nguồn mở dành cho Android, được viết bằng Kotlin. Vấn đề cốt lõi nó giải quyết là sự phụ thuộc vào một nguồn dữ liệu thời tiết duy nhất. Thay vì chỉ dùng OpenWeatherMap hay AccuWeather, ứng dụng này cho phép bạn chọn hoặc kết hợp nhiều nguồn như BMKG (Indonesia), China Weather, và các nguồn khác thông qua cấu hình API. Điều này đặc biệt hữu ích nếu bạn ở khu vực mà một số nguồn hoạt động không ổn định. Bạn có thể xem chi tiết tại repository gốc trên GitHub.
Những tính năng nổi bật của WeatherMaster là gì?

Dựa trên dữ liệu commit và cấu trúc repo, WeatherMaster sở hữu một số tính năng đáng chú ý. Đầu tiên là khả năng tích hợp đa nguồn dữ liệu: ngoài các nguồn mặc định, commit gần nhất (tháng 7/2026) cho thấy họ đã thêm BMKG và China Weather. Thứ hai, ứng dụng sử dụng nhiệt độ tối đa thay vì nhiệt độ trung bình cho các tiêu đề tóm tắt, giúp thông tin nổi bật hơn. Thứ ba, dự án có cấu trúc Gradle hiện đại với file libs.versions.toml quản lý dependency, cùng với GitHub Actions cho CI/CD và fastlane cho phát hành tự động. Cuối cùng, ứng dụng hỗ trợ đa ngôn ngữ thông qua Crowdin, thể hiện qua file crowdin.yml.
Kiến trúc và công nghệ sử dụng
WeatherMaster được xây dựng hoàn toàn bằng Kotlin, sử dụng Gradle với Kotlin DSL (build.gradle.kts). Các thư viện quan trọng bao gồm converter-jaxb (có thể dùng để parse dữ liệu XML từ một số nguồn thời tiết). Dự án cũng tích hợp các API như GeoNames (qua biến môi trường GEO_NAMES_USERNAME) và một MF_KEY không rõ chi tiết. Tất cả được cấu hình qua file gradle.properties và biến môi trường, giúp bảo mật thông tin nhạy cảm.
Hướng dẫn cài đặt và sử dụng WeatherMaster như thế nào?

Vì WeatherMaster là mã nguồn mở, bạn cần tự build APK từ source. Dưới đây là các bước cơ bản:
- Clone repository: Mở terminal và chạy
git clone https://github.com/PranshulGG/WeatherMaster.git. - Cấu hình API keys: Vào file
gradle.propertiesvà thêm các giá trịGEO_NAMES_USERNAMEvàMF_KEY(bạn cần tự đăng ký các tài khoản tương ứng). - Build app: Chạy lệnh
./gradlew assembleRelease(trên Linux/macOS) hoặcgradlew.bat assembleRelease(trên Windows). Quá trình này sẽ tạo file APK trong thư mụcapp/build/outputs/apk/release/. - Cài đặt APK: Copy file APK vào điện thoại Android và bật cài đặt từ nguồn không xác định để cài đặt.
- Tùy chỉnh nguồn dữ liệu: Bạn có thể sửa đổi mã nguồn để thêm hoặc bỏ nguồn thời tiết, sau đó rebuild lại app.
Lưu ý: Các commit mới nhất cho thấy có hỗ trợ fastlane (fastlane/metadata/android/en-US) để tự động hóa việc đẩy lên Google Play, nhưng nếu bạn chỉ muốn dùng thử, hãy build thủ công.
Ai nên dùng WeatherMaster – ai không nên?

Đối tượng phù hợp nhất là các developer Android đang học Kotlin và muốn xem một ví dụ thực tế về app thời tiết có kiến trúc rõ ràng. Nếu bạn là người dùng phổ thông chỉ muốn có một app thời tiết đơn giản, việc tự build APK có thể hơi rắc rối. Tuy nhiên, nếu bạn cần một app có thể tùy chỉnh nguồn dữ liệu (ví dụ ưu tiên BMKG ở Indonesia), thì WeatherMaster là lựa chọn tốt. Hạn chế: không có sẵn trên Google Play (cần tự build), tài liệu README chưa được cập nhật chi tiết (chỉ có commit messages), và việc tích hợp nhiều nguồn có thể gây xung đột dữ liệu nếu không cấu hình cẩn thận.
Câu hỏi thường gặp
WeatherMaster có hỗ trợ tiếng Việt không?
Dự án có file crowdin.yml cho thấy hỗ trợ đa ngôn ngữ, tuy nhiên chưa có commit cụ thể cho tiếng Việt. Bạn có thể tự đóng góp bản dịch qua Crowdin hoặc sửa trực tiếp file resources.
Tôi có cần phải trả phí để sử dụng WeatherMaster không?
Hoàn toàn miễn phí và mã nguồn mở. Tuy nhiên, bạn có thể phải đăng ký tài khoản API cho các nguồn dữ liệu (GeoNames, MF_KEY) – một số có thể miễn phí ở mức cơ bản.
Làm sao để thêm nguồn thời tiết mới?
Bạn cần sửa mã nguồn trong package app để thêm một provider mới, kế thừa interface chung, sau đó đăng ký nó trong phần cấu hình. Commit gần nhất cho thấy họ đã thêm BMKG và China Weather – bạn có thể tham khảo cách làm đó.
WeatherMaster có widget không?
Dựa trên thông tin repo, không có file hoặc commit nào đề cập đến widget. Nếu cần, bạn phải tự phát triển thêm.
Ứng dụng có quảng cáo không?
Không. Đây là mã nguồn mở, không có quảng cáo hay tracking từ bên thứ ba (trừ các API thời tiết bạn cấu hình).
Kết luận
WeatherMaster là một dự án mã nguồn mở chất lượng cho Android, đặc biệt nếu bạn cần một app thời tiết có thể lấy dữ liệu từ nhiều nguồn. Nó không chỉ là công cụ hữu ích mà còn là tài liệu học tập tuyệt vời cho developer. Hãy ghé thăm WeatherMaster trên GitHub, fork về và bắt đầu tùy chỉnh ngay hôm nay.

