개발/Android(48)
-
Android 에서 TDD를 습관화하기
TDD?Test Driven Developmentsw의 개발 전에, 테스트 사례로 제시되는 요구사항에 의존하는 개발 프로세스가장 쉽고 빠르고, 신뢰 가능한 방법은 Red, Green, Refactor로 구성하는 방법! 테스트 라이브러리Truth — value를 asserting하기 위한 라이브러리Turbine — Flow에서 받은 value를 asserting하기 위한 라이브러리 Mockito — mock데이터를 위한 라이브러리JUnit4 — java 기본 유닛 테스트 프레임워크JUnit5 — Java 단위 테스트 프레임워크 → 알아서 추가하시오 예제@AndroidEntryPoint class ContactsFragment : Fragment() { // Let's pretend this is a cla..
2023.11.30 -
Useful modifier
알아두면 유용한 두 개의 수정자를 소개합니다~~ Offset modifier의 offset 을 통해 x 및 y 위치를 변경할 수 있음 @Composable funOffsetModifier( modifier:Modifier = Modifier ) { Box( modifier = modifier .padding(50. dp) .ground(Color.LightGray) .fillMaxWidth() .height(100. dp), contentAlignment = Alignment.TopCenter ) { Text( text = stringResource(R.string.offset_content), modifier = Modifier.offset(x =0. dp, y = -(15. dp)), style = ..
2023.11.30 -
Compose Viewpager
주요 기능 선택한 항목이 컨테이너 중앙에 배치됩니다.호출기는 수평 또는 수직으로 스크롤할 수 있습니다.항목은 컨테이너 크기의 일부를 차지할 수 있으므로 인접한 항목이 측면에 정점에 있을 수 있습니다.사용자가 첫 번째 또는 마지막 항목을 지나 스크롤할 수 있도록 항목을 초과하는 것이 가능하지만 호출기는 항목을 다시 중앙에 배치하도록 재설정됩니다.항목 간의 구분을 지정할 수 있습니다.처음에 어떤 항목이 중앙에 배치될지 나타낼 수 있습니다. Pager@Composable fun Pager( // 1 items: List, // 2 modifier: Modifier = Modifier, // 3 orientation: Orientation = Orientation.Horizontal, // 4 initialIn..
2023.11.01 -
Avoiding recomposition
Recomposition 입력 매개변수 또는 외부 상태의 변경에 따라 함수를 재구성하고 호출 하는 것. compose의 기본 개념 Stable parametersString, Int, Float, ImmutableList Unstable parametersList, Map, Set , var ( Data classes) Avoiding Recomposition@Stable 사용값이 관찰 가능해지며, 값이 변경되면 알림이 전송됨@Stable data class Contact(var flag: MutableState = mutableStateOf(false))→ flag변수의 값이 변경될 때만 recomposition @Immutable 사용값이 절대 변경되지 않을 것이라고 약속하는 annotation항목이..
2023.11.01 -
UI Testing (with Jetpack Compose)
종속성 추가 dependencies { [...] testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.compose.ui:ui-test-junit4' debugImplementation 'androidx.compose.ui:ui-test-manifest' } 테스트 클래스 만들기 테스트하려는 기능을 마우스 오른쪽 버튼으로 클릭 UI 요소를 테스트할 예정이므로 androidTest 패키지 에 작성해야함 클래스 생성 완료 테스트 작성 아래는 @RunWith(), @Before, @Get, @Text를 사용한 예제이다. 클래스의 첫 번째 주석을 활용하여 JUnit 4로 실행하고, 두 번째 주석을 사용하여 구성 가능한 구성 요소..
2023.10.23 -
자주 까먹는 compose modifiers
1). border Modifier@Composable fun MakeBorder( modifier: Modifier = Modifier ) { Box(modifier = modifier.fillMaxSize(), contentAlignment = Alignment.Center) { Spacer( modifier = Modifier .border( color = Color.Red, width = 2.dp, shape = CircleShape ) .size(100.dp) ) } }2). horizontalScroll Modifier@Composable fun HorizontalScroll( modifier: Modifier = Modifier ) { val scrollState = rememberScrol..
2023.10.23