একটি সহজ ওয়েদার অ্যাপ্লিকেশন তৈরি করতে Swift এবং UIKit ব্যবহার করতে পারেন। এখানে একটি সাধারণ ওয়েদার অ্যাপ তৈরির ধাপগুলো দেওয়া হলো, যেখানে ব্যবহারকারী নির্দিষ্ট শহরের বর্তমান আবহাওয়ার তথ্য দেখতে পারবেন।
ধাপ ১: প্রজেক্ট সেটআপ
- Xcode এ একটি নতুন Single View App প্রজেক্ট তৈরি করুন।
- প্রজেক্টের নাম দিন “WeatherApp” এবং ভাষা হিসেবে Swift নির্বাচন করুন।
ধাপ ২: OpenWeatherMap API সেটআপ
OpenWeatherMap ওয়েবসাইটে গিয়ে একটি অ্যাকাউন্ট তৈরি করুন এবং API Key জেনারেট করুন। এই API Key দিয়ে আপনি নির্দিষ্ট শহরের আবহাওয়ার তথ্য পেতে পারবেন।
API URL এর একটি উদাহরণ:
এখানে CityName এর স্থানে শহরের নাম এবং YourAPIKey এর স্থানে আপনার API Key বসান।
https://api.openweathermap.org/data/2.5/weather?q=CityName&appid=YourAPIKey&units=metric
ধাপ ৩: UI ডিজাইন
Main.storyboard এ গিয়ে একটি সহজ UI ডিজাইন করুন।
- একটি UITextField যোগ করুন যেখানে ব্যবহারকারী শহরের নাম ইনপুট করতে পারবেন।
- একটি UIButton যোগ করুন (Fetch Weather) যা চাপলে আবহাওয়া তথ্য দেখাবে।
- একটি UILabel যোগ করুন আবহাওয়ার তথ্য দেখানোর জন্য।
এগুলোকে ViewController এর সাথে IBOutlet এবং IBAction হিসেবে সংযুক্ত করুন।
ধাপ ৪: আবহাওয়া API কল করার ফাংশন তৈরি
ViewController.swift এ একটি ফাংশন তৈরি করুন যা API থেকে আবহাওয়ার তথ্য নিবে।
URLSession ব্যবহার করে API কল করুন এবং JSON রেসপন্স থেকে তথ্য সংগ্রহ করুন।
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var cityTextField: UITextField!
@IBOutlet weak var weatherLabel: UILabel!
let apiKey = "YourAPIKey" // আপনার API Key এখানে বসান
@IBAction func fetchWeather(_ sender: UIButton) {
guard let cityName = cityTextField.text, !cityName.isEmpty else {
weatherLabel.text = "Please enter a city name"
return
}
fetchWeather(for: cityName)
}
func fetchWeather(for city: String) {
let urlString = "https://api.openweathermap.org/data/2.5/weather?q=\(city)&appid=\(apiKey)&units=metric"
guard let url = URL(string: urlString) else { return }
let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
if let error = error {
DispatchQueue.main.async {
self.weatherLabel.text = "Error: \(error.localizedDescription)"
}
return
}
guard let data = data else { return }
do {
if let json = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any],
let main = json["main"] as? [String: Any],
let temp = main["temp"] as? Double {
DispatchQueue.main.async {
self.weatherLabel.text = "Temperature: \(temp)°C"
}
}
} catch {
DispatchQueue.main.async {
self.weatherLabel.text = "Error parsing data"
}
}
}
task.resume()
}
}
ধাপ ৫: API Key সঠিকভাবে বসানো
- কোডের মধ্যে apiKey ভ্যারিয়েবলে আপনার OpenWeatherMap API Key বসান।
- নিশ্চিত করুন URL সঠিকভাবে ফর্ম্যাট করা হয়েছে এবং
units=metricযোগ করা আছে যাতে সেলসিয়াস তাপমাত্রা দেখায়।
ধাপ ৬: টেস্ট এবং রান
- প্রজেক্টটি রান করুন।
- City Name ইনপুট ফিল্ডে শহরের নাম লিখুন (যেমন, “London”) এবং Fetch Weather বাটন চাপুন।
- আবহাওয়ার তথ্য UILabel এ দেখাবে।
বোনাস: আরও উন্নত ফিচার যোগ করা
- Location Services যোগ করে ব্যবহারকারীর বর্তমান অবস্থানের আবহাওয়া দেখাতে পারেন।
- তাপমাত্রা ছাড়াও, আর্দ্রতা, বাতাসের গতি ইত্যাদি দেখানোর জন্য আরও তথ্য যোগ করতে পারেন।
- API থেকে ডেটা কেমন লাগছে তা নিয়ে উন্নত UI ডিজাইন তৈরি করতে পারেন।
এই ধাপগুলো অনুসরণ করে একটি সাধারণ ওয়েদার অ্যাপ্লিকেশন তৈরি করতে পারবেন।