본문 바로가기

전체 글

(91)
TIL 67일차 - 최종프로젝트 최종 프로젝트 앱의 APK 파일을 사용하고 있는 핸드폰에 설치를 해보았다.애뮬레이터에서 실행했을 때와는 UI에 조금 차이가 있었다.일단 색상의 문제(?)가 있었다.이 곳에서 설정한 색상과애뮬레이터 상에서 보이는 색상과, 스크린샷은 없지만 실제 핸드폰 기기 내에서의 색상이 제각각 다른 문제가 있었다. 조정이 필요할 수도 있다.그 밖에 테두리 설정이 안되어있다거나 하는 사소하게 다른 점도 있고, 가장 눈에 띄는 점은 컬러를 지정하지 않는 텍스트가 검은색으로 보이지 않는다는 점이였다.원인을 찾아보니, 내 핸드폰은 다크모드로 설정되어 있는데 텍스트의 컬러를 지정해주지 않아서 생긴 문제였다. 기기에서 따로 다크모드를 구현하지 않을 예정이기 때문에, 텍스트의 컬러가 지정되어있지 않은 부분에 전부 기본 컬러를 검은색..
TIL 66일차 - 최종프로젝트 위 스크린샷은 최종 프로젝트로 만든 앱 화면의 일부이다. 프로젝트에서는 xml 레이아웃 파일로 만들었지만 시험삼아 위 화면과 (UI만) 똑같은 compose 코드를 만들어보았다.package com.android.composetestimport ...class SettingsActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { ComposeTestTheme { Surface( modifier = Modifier...
TIL 65일차 - 최종프로젝트 Jetpack Compose 기초 - 마무리package com.android.composetest// import ...class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() setContent { ComposeTestTheme { MyApp(modifier = Modifier.fillMaxSize()) } } }}@Composableprivate fun Greetin..
TIL 64일차 - 최종프로젝트 Jetpack ComposeJetpack Compose는 UI 개발을 단순화하도록 설계된 최신 툴킷으로, 간결한 반응형 프로그래밍 모델과 Kotlin 프로그래밍 언어의 쉬운 사용성을 결합한다. App은 정적인 데이터만을 표현하지 않는다. 사용자 또는 시스템 등에 의해 변화무쌍한 동적인 데이터를 표현하게 된다. 즉, 데이터가 변경되면 UI도 변경되어야 하는 경우가 대다수다. XML 레이아웃을 통해 TextView 또는 Button과 같은 UI를 만들고, 주어진 데이터를 UI에 반영하기 위해 setText(…)와 같은 명령을 개발자가 직접 입력하게 된다. 이를 명령형 프로그래밍(Imperative programming)이라 할 수 있다. 이러한 방식의 가장 큰 문제점은 UI 컴포넌트도 상태(데이터)를 가지고..
TIL 63일차 - 최종프로젝트 모의 기술면접 피드백 내용 정리전체적으로 설명은 잘 했다. 하지만 설명을 할 때, 좀 더 예시를 붙여서 설명하면 좋을것이다. 가령 액티비티의 생명주기에 대해 설명해보라 했을 때, 각 콜백 메소드가 어쩔 때 쓰이는지를 예시로 하면 좋을 것이다. 특히 onResume(), onPause() 등 중요한 부분을 예시로 들면 좋다.Flow에 대한 기본 지식이 부족했다. 좀 더 찾아보고 개념을 확실히 잡아야 한다.
TIL 62일차 - 최종프로젝트 트러블슈팅문제 : 활동 시간대 입력란에서, startTime이 endTime보다 크면 입력값이 잘못되었다고 사용자에게 알리는 문제이게 왜 문제냐 하지만, 오늘 테스트를 돌려보면서 문제점을 발견했다. 활동 시간대가 당일을 넘기는 경우, 예를 들어 당일 저녁 10시 ~ 다음날 새벽 2시 라던가, 오전 10시부터 24시간 동안 활동할 예정이라던가... 하는 경우에도 startTime이 endTime보다 크기 때문에 사용자에게 경고를 보낸다. 그래서 일단 기존의 경고 메세지는 지우고, 대신 if문으로 startTime이 endTime보다 클 경우 endTime 값에 하루(2400)를 더해 다음날까지 계산할 수 있도록 하였다. 대신 endTime에서 startTime을 뺀 값이 너무 작을 때(예를 들면 30분 미..
TIL 61일차 - 최종프로젝트 중간 발표를 마치고 받은 피드백 중 로딩 화면에 대한 피드백을 받았다. 현재 로딩 화면은 고정된 값 (약 3초) 을 비동기 쓰레드로 돌려서 시간이 지나면 알아서 다음 프래그먼트로 이동하는 형태이다. 이는 이미지 로딩이 완료되는 시간을 벌기 위해 꼼수(?) 같은 방법이긴 하다.이러한 방법을 사용했을 때 두 가지 문제가 있다. 첫번째는 이미 이미지 로딩이 완료가 된 상황이여도 3초라는 고정된 시간동안 다음 화면으로 이동하는 것을 기다려야 하는 문제이다. 두번째는 만약 인터넷이 갑자기 끊겼다던가 하는 특수한 상황이 생겨 이미지 로딩이 3초 내에 완료되지 못할 경우 오류가 발생할 수 있다는 점이다. 특히 이부분은 앱이 죽어버릴 수도 있는 큰 문제이며 Reject 사유에 해당할 수 있는 부분이기 때문에 즉시 수정..
TIL 60일차 - 최종프로젝트 수정하기 전의 상세 점수 다이얼로그 텍스트 컬러이다.실제 앱에서 텍스트를 봤을 때 텍스트 컬러의 명도가 너무 높으면 가독성이 떨어진다는 지적을 받았다.Android Studio 내에서 확인하는 컬러와는 확실히 차이가 있다.조금 심하다 싶을 정도로 명도를 낮춰 보았다.이정도면 알맞게 된 것 같다.