[アンドロイド/コートリン]アンドロイドコンポーネント
📌 UI画面を表示するアクティビティ
💜 アクティブ
💜 メインスレッド(UIスレッド)
💜 表示
class MainActivity : AppCompatActivity() { // 상위의 Activity 클래스로부터 상속
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main) // UI 화면을 나타내는 xml을 해석
}
}
💌 アクティブライフサイクル
コールバック関数:メインスレッドのコマンドイベントに基づいて呼び出されます.
-setOnCreateView():レイアウトペイント画面
-onSaveInstanceState()/onRestoreInstanceState()上書き:強制クローズ時にステータスを回復する
💌 ライフサイクル
ドラフト:画面上の小さな単位
💬 latinitの使用
class MainActivity : AppCompatActivity() {
// 알람 시스템 서비스의 선언
lateinit var alarmManager: AlarmManager
// 앱의 생명주기 (생성 시 호출되는 콜백 함수)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
alarmManager = getSystemService(AlarmManager::class.java) // 지연 초기화 시점
}
}
システムサービスとは?
💬 lazyの使用
class MainActivity : AppCompatActivity() {
private val messageView : TextView by lazy {
// messageView의 첫 접근에서 초기화
findViewById(R.id.message_view) ad TextView
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
onSayHello()
}
fun onSayHello(){
messageView.text = "Hello" // 이 시점에서 초기화됨
}
}
📌 バックグラウンドで続行するサービス
-必要なデータをParcelで提供
-bindService()[貼り付け](Paste)/[サービスのバインド解除](UnbindService)/[
📌 ブロードキャスト受信者
📌 コンテンツプロバイダ
📌 内部(Intent)
(複数の関連要素を呼び出すことができる利点)
📌 ハンドラとメッセージキュー
Reference
この問題について([アンドロイド/コートリン]アンドロイドコンポーネント), 我々は、より多くの情報をここで見つけました https://velog.io/@soyoung-dev/안드로이드의-구성-요소テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol