class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
Назначение:
Ключевые особенности:
class MyFragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
return inflater.inflate(R.layout.fragment_my, container, false)
}
}
Назначение:
Ключевые особенности:
class MyService : Service() {
override fun onBind(intent: Intent): IBinder? = null
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
// Выполнение фоновой работы
return START_STICKY
}
}
Назначение:
Типы сервисов:
class MyReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
when (intent.action) {
Intent.ACTION_AIRPLANE_MODE_CHANGED -> {
// Обработка изменения режима полета
}
}
}
}
Назначение:
class MyProvider : ContentProvider() {
override fun query(
uri: Uri,
projection: Array<String>?,
selection: String?,
selectionArgs: Array<String>?,
sortOrder: String?
): Cursor? {
// Возвращает данные по запросу
}
}
Назначение:
Современные компоненты, рекомендуемые Google:
// Запуск Activity из другой Activity
val intent = Intent(this, SecondActivity::class.java)
startActivity(intent)
// Связь Activity и Fragment
supportFragmentManager.beginTransaction()
.replace(R.id.container, MyFragment())
.commit()
// Запуск Service
val serviceIntent = Intent(this, MyService::class.java)
startService(serviceIntent)
// Регистрация BroadcastReceiver
val filter = IntentFilter(Intent.ACTION_BATTERY_CHANGED)
registerReceiver(myReceiver, filter)
Понимание этих компонентов и их взаимодействия - основа разработки Android-приложений.