এই পোস্টে আমরা দেখব কিভাবে iOS-এ ব্যাটারির অবস্থা পেতে হয়।
তো চলুন শুরু করা যাক।
ধাপ 1 − Xcode খুলুন → নতুন প্রকল্প → একক দৃশ্য অ্যাপ্লিকেশন → আসুন এটির নাম রাখি “ব্যাটারিস্টেট”
ধাপ 2 − Main.storyboard খুলুন এবং নীচে দেখানো হিসাবে দুটি লেবেল যোগ করুন। এই লেবেলে আমরা ব্যাটারির স্থিতি দেখাব৷
৷
ধাপ 3 - নিম্নলিখিত কোড ব্যবহার করে ব্যাটারি অবস্থা পর্যবেক্ষণ সক্ষম করুন। আপনি এই কোডটি ভিউ কন্ট্রোলারের viewDidLoad
-এ রাখতে পারেনUIDevice.current.isBatteryMonitoringEnabled = true
পদক্ষেপ 4৷ - ব্যাটারির অবস্থা ধরে রাখার জন্য একটি পরিবর্তনশীল ঘোষণা করুন। আমরা এই পরিবর্তনশীলটির নাম রাখব ব্যাটারি স্টেট। এই ভেরিয়েবল থেকে আমরা UIDevice.current.batteryState ফেরত দিচ্ছি, এটি আমাদের বর্তমান ব্যাটারির অবস্থা দেবে
var batteryState: UIDevice.BatteryState { return UIDevice.current.batteryState }
ধাপ 5 − ব্যাটারি অবস্থা পরিবর্তনের বিজ্ঞপ্তির জন্য আপনাকে পর্যবেক্ষক যোগ করতে হবে। যখনই ব্যাটারির অবস্থা পরিবর্তন হয় তখন iOS দ্বারা এই বিজ্ঞপ্তি পাঠানো হয়। আপনি ভিউডিডলোডে পর্যবেক্ষক যোগ করতে পারেন, যেমনটি নীচে দেখানো হয়েছে
NotificationCenter.default.addObserver(self, selector: #selector(batteryLevelDidChange), name: UIDevice.batteryLevelDidChangeNotification, object: nil)
আমরা পর্যবেক্ষক যোগ করেছি, ব্যাটারি লেভেল পরিবর্তন হলেই ব্যাটারি লেভেলডিড চেঞ্জ ফাংশন কল করা হবে।
ধাপ 6 - ব্যাটারি লেভেল ডিড চেঞ্জ পদ্ধতিতে ব্যাটারি স্তরের পরিবর্তনগুলি পরিচালনা করুন। পদ্ধতিটি নিম্নরূপ সংজ্ঞায়িত করুন
@objc func batteryLevelDidChange() { updateBatteryStateLabel() } func updateBatteryStateLabel() { var status = "Unknown" switch batteryState { case .charging: status = "Charging" case .unknown: status = "Unknown" case .unplugged: status = "Unplugged" case .full: status = "Full" } DispatchQueue.main.async { self.batteryStateLabel.text = "Battery State: \(status)" } }
এখানে আমরা লেবেল আপডেট করার জন্য updateBatteryStateLabel ফাংশন সংজ্ঞায়িত করেছি। এই ফাংশনটি আমরা আমাদের পর্যবেক্ষক ফাংশন থেকে কল করছি যেমন ব্যাটারি লেভেলডিড চেঞ্জ। ফাংশন আপডেটBatteryStateLabel কে ভিউডিডলোড থেকে কল করা উচিত পাশাপাশি প্রাথমিক ব্যাটারির অবস্থা দেখাতে হবে। আমাদের viewDidLoad এই সব করার পরে অনুসরণ করার মত দেখাচ্ছে
override func viewDidLoad() { super.viewDidLoad() UIDevice.current.isBatteryMonitoringEnabled = true NotificationCenter.default.addObserver(self, selector: #selector(batteryLevelDidChange), name: UIDevice.batteryLevelDidChangeNotification, object: nil) updateBatteryStateLabel() }
ডিভাইসে কোডটি চালান, ব্যাটারির অবস্থার উপর ভিত্তি করে আপনি নীচের ছবিতে দেখানো বিভিন্ন অবস্থা দেখতে পাবেন।