Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 1차원 DP
- 2차원 dp
- 99클럽
- @Builder
- @GeneratedValue
- @GenericGenerator
- @NoargsConstructor
- @Transactional
- Actions
- Amazon EFS
- amazon fsx
- Android Studio
- ANSI SQL
- ApplicationEvent
- assertThat
- async/await
- AVG
- AWS
- Azure
- bind
- builder
- button
- c++
- c++ builder
- c03
- Callback
- case when
- CCW
- chat GPT
- CICD
Archives
- Today
- Total
기록
androidStudio/compose 본문
개요
1. 앱에 Jetpack Compose 추가
2. 코드 작성하기
1. 앱에 Jetpack Compose 추가
gradle 파일의 버전과 의존성을 설정한다.
2. 코드 작성하기
예제를 참고하여 코드를 작성한다.
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.compose.runtime.Composable
import androidx.compose.ui.tooling.preview.Preview
import com.garosero.android.hobbyroadmap.databinding.ActivityMainBinding
import com.google.accompanist.appcompattheme.AppCompatTheme
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val binding : ActivityMainBinding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
val greeting = binding.greeting
greeting.setContent {
AppCompatTheme {
Sample()
}
}
}
@Preview
@Composable
fun Sample() {
//todo : 채우기
}
}
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<androidx.compose.ui.platform.ComposeView
android:id="@+id/greeting"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
결과
가이드라인에 나오는 예제를 섞어서 주단위 달력을 만들어봤다. 가장 좋았던 것은 앱 전체를 다시 빌드하지 않고도 각 요소를 테스트 할 수 있다는 점이었다. 기존의 unit 테스트에서는 값을 위주로 테스트할 수 있었는데, 이를 활용하면 인터렉션을 포함한 ui를 단위테스트 할 수 있었다. 또, xml파일처럼 java파일을 직접 보면서 코드를 작성할 수 있다는 게 신기했다.
참고자료
'Moblie > Android' 카테고리의 다른 글
Comments