99. Androidda Service ni qanday qilib start/stop qilish mumkin? Service ni start qilish.
Intentni startService() yoki startForegroundService() ga o'tkazish orqali service ni activity yoki boshqa dastur komponentidan foydalanib boshlash mumkin. Android tizimi servicening onStartCommand() metodini chaqiradi va unga qaysi serviceni ishga tushirishni ko'rsatuvchi Intentni uzatadi.
Masalan, quyida HelloService ni Explicit Intent va startService() dan foydalanib service ni ishga tushirish namunasi berilgan:
Intent intent = new Intent(this, HelloService.class);
startService(intent);
Service ni to'xtatish
Boshlangan service o'zining “hayot sikl”ini boshqarishi kerak. Ya'ni, tizim xotirasini tiklashi kerak bo'lmaguncha va service onStartCommand() qaytarilgandan keyin ishlashni davom ettirmasa, tizim service ni to'xtatmaydi yoki yo'q qilmaydi. Service stopSelf() ga murojaat qilish orqali o'zini to'xtatishi kerak yoki boshqa komponent stopService() dan foydalanib uni to'xtatishi mumkin.
StopSelf() yoki stopService() bilan to'xtatish so'ralganda, tizim imkon qadar tezroq service ni to’xtatadi.
Intent myService = new Intent(MainActivity.this, BackgroundSoundService.class);
stopService(myService);
100. Android Studioda SharedPreferences obyekti haqida ma’lumot bering. Android o'z foydalanuvchilariga taqdim etadigan eng qiziqarli ma'lumotlarni saqlash imkoniyatlaridan biri bu Shared Preferences dir. Shared Preferences - bu dastur ichidagi XML faylida sizning preferenceslaringizni tashkil etadigan qurilma xotirasidagi String, int, float, Boolean kabi tiplarni qurilma xotirasidagi faylga kalit/qiymat juftlari sifatida kichik hajmdagi primitiv ma'lumotlarni saqlash va olish usulidir. Shared Preferences lug'at yoki kalit/qiymat juftligi sifatida ko'rib chiqilishi mumkin. Misol uchun, sizda "foydalanuvchi nomi" kaliti bo'lishi mumkin va qiymat uchun siz foydalanuvchining foydalanuvchi nomini saqlashingiz mumkin. Va keyin siz uni kaliti (bu yerda foydalanuvchi nomi) orqali olishingiz mumkin. Sizda preferenceslarni saqlash va kerak bo'lganda ularni qaytarib olish uchun foydalanishingiz mumkin bo'lgan oddiy shared preference API bo'lishi mumkin. Shared Preferences klassi ushbu ma'lumotlarni o'qish, yozish va boshqarish uchun API'larni taqdim etadi.
Biz qilishimiz kerak bo'lgan birinchi narsa - har bir ilova uchun bitta shared preferences faylini yaratish. Shuning uchun uni ilovangizning paket nomi bilan nomlang - noyob va ilova bilan bog'lanishi oson bo’lishi kerak. Qiymatlarni olishni istasangiz, getSharedPreferences() metodini chaqiring. Shared preferences ma'lumotlarni saqlash usullarini ta'minlaydi (shaxsiy rejim va umumiy rejim). Bu orqaga qarab muvofiqlik uchun - xavfsiz bo'lish uchun faqat MODE_PRIVATE dan foydalaning.