오늘은 kotlin 언어로 Hilt를 활용해 textview에 특정 객체로 부터 전달받은 데이터가 적용되는 예시를 만들어 보겠습니다.
그래들 설정

=> 프로젝트 레벨 gradle 파일에 위와 같이 적용해줍니다 (버전 정보는 아래의 공식홈페이지 정보를 참고해주세요)

=> 앱 레벨 gradle 파일에 위와 같이 적용해줍니다

=> 앱 레벨 gradle 파일에 위와 같이 적용해 줍니다. (버전 정보는 아래의 공식홈페이지 정보를 참고해주세요)
https://developer.android.com/training/dependency-injection/hilt-android?hl=ko#kts
Hilt를 사용한 종속 항목 삽입 | App architecture | Android Developers
이 페이지는 Cloud Translation API를 통해 번역되었습니다. Hilt를 사용한 종속 항목 삽입 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Hilt는 프로젝트에서 종속
developer.android.com
https://developer.android.com/build/migrate-to-ksp
kapt에서 KSP로 이전 | Android Studio | Android Developers
주석 프로세서의 사용을 kapt에서 KSP로 이전합니다.
developer.android.com
레이아웃 xml 파일 코드(activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:padding="16dp">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Loading..."
android:textSize="24sp"
android:textColor="@android:color/black" />
</LinearLayout>
Application 상속 클래스 코드
@HiltAndroidApp
class MyApplication : Application() {
}
+
Manifest 파일 설정

=> application 태그 내에 android:name 속성을 활용해 Application 클래스의 상속 클래스를 사용하도록 설정합니다.
액티비티 코틀린 코드
@AndroidEntryPoint
class MainActivity : AppCompatActivity() {
@Inject
lateinit var messageProvider: MessageProvider
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val textView = findViewById<TextView>(R.id.textView)
// messageProvider객체 사용 가능
// 기존 loading... 메세지가 massageProvider 객체의
// 메세지로 변경됨
textView.text = messageProvider.getMessage()
}
}
textview에 메세지를 제공할 클래스 코드
class MessageProvider @Inject constructor() {
// 클래스 선언부에 @Inject constructor()
fun getMessage(): String {
return "MessageProvider 코틀린 객체의 메세지로 업데이트"
}
}
실행 결과
=> 기존 textview에 있던 'Loading...' 문구 대신 다른 객체로 부터 받은 문구가 적용된 것을 확인할 수 있습니다.
'안드로이드 코틀린' 카테고리의 다른 글
| [Kotlin][Android] Jetpack Compose에서 Modifier 확장 함수로 Shimmer Effect 구현하기 (0) | 2025.07.15 |
|---|---|
| [Kotlin][Android]Jetpack Compose LazyColumn 과 RecyclerView (0) | 2025.07.08 |
| [Kotlin][Android] Keystore를 사용해 암호화하기 (0) | 2025.07.03 |
| [Kotlin][Android] 코루틴(Coroutine) 사용하기 (2) | 2025.06.26 |
| [Kotlin][Android] Timber 활용 예시 만들기 (0) | 2025.06.21 |