안드로이드

    Room Migration

    흔히 접하는 Room Error 프로젝트를 진행하다 보면 어쩔 수 없이 데이터베이스 스키마가 변경되고는 한다. 그렇게 Data class를 함께 변경하고 다시 앱을 실행하면 Looks like you've changed schema but forgot to update the version number. You can simply fix this by increasing the version number. 라는 오류를 접하게 된다. 이는 Room 데이터베이스의 스키마가 변경되었을 때 반드시 버전을 올려주어야 하기 때문에 오류가 발생한다. 그렇다면 버전을 어떻게 올릴까?? Room Version 올리기 @Database(entities = [LocationData::class], version = 1) a..

    ktlint

    lint : 코드를 분석하여, 프로그램 오류, 버그, 스타일 오류, 구조적 문제점을 확인하는 도구 코딩 컨벤션에 따라 코드를 작성했는지 확인해주는 도구 ktlint: kotlin 개발 환경에서 사용되는 lint 로, 공식 코틀린 코딩 컨벤션과 안드로이드 코틀린 스타일 가이드에 따라 만들어짐 Android lint: 폴더 선택 > 마우스 오른쪽 버튼 > Analyze > Inspect https://pinterest.github.io/ktlint/ ktlint 적용 1) ktlint 공식 홈페이지 > Installation > Integrations 2) 페이지 중간 build.gradle 부분을 보면서 프로젝트에 적용 3) 프로젝트 내 gradle 파일에서 필요한 부분 삽입 configurations d..

    스플래시 화면

    스플래시 화면 프로그램을 시작했을 때, 로딩 중에 표시되는 대형 이미지 화면이 필요한 이유 디자인적 요소 브랜드나 앱의 이미지 각인 공백화면을 채우기 위함 공백 화면이란? setTheme : Activity에 테마가 지정 되어있을 경우 테마를 표시하는 메소드 setTheme → onCreate 따로 theme이 지정되지 않을 경우 setTheme 호출 → 빈화면 기본적으로 Acitivity에는 theme이 지정 X setTheme과 onCreate 사이에 빈화면이 나타남 스플래시 화면 예제 drawable에 Splash 화면을 만들기 values/theme.xml에서 style로 SplashTheme을 설정할 필요가 있음 AndroidManifest에서 시작 화면 변경 AndroidManifest 시작 ..

    [Design] 디자인 원칙

    1. 텍스트는 가독성이 중요 12pt 이상으로 디자인하자 2. 버튼 사이즈는 손가락 두께를 고려해서 크기를 넉넉하게 잡아주자 3. 아이콘 스타일 통일감있게 그리기 사이트의 전체적인 분위기를 나타내줌 디자이너가 아니니 flatIcon 같은 곳에서 아이콘을 찾을 시에 통일감있는 아이콘을 적용하도록 노력해야함 4. 폰트 컬러 폰트 컬러가 연할 시 불편함을 호소하는 사람이 있을 수 있음 접근성 4.5:1 이상의 컬러를 활용 5. 통일감 있는 디자인 레이아웃을 디자인할 때 라운드는 라운드로 통일, 지각이면 직각으로 통일 6. 버튼의 계층 구조 여러 개의 버튼이 한 화면에 있을 시 중요도에 따라 크기와 색을 지정해 주자. 7. 폰트의 계층 구조 폰트의 중요도에 따라서 색, 볼드, 크기로 계층을 나누자. 8. 네비게..

    [Design] dp & sp

    왜 안드로이드에서 pixel을 쓰지않고 dp를 쓸까? pixel로 디자인을 하면 기기마다 다른 해상도를 가지기 때문에 다르게 표현이 되는 문제 발생 안드로이드에서 이를 해결하기 위해 dp를 사용dp dp → density-independent pixel 1dp = 1px이 되는 dpi는 160dpi px = dp * (dpi / 160) 즉, 해상도가 커지면 dpi가 증가 하지만, 해상도에 상관없이 dp를 적용하면 같은 비율로 화면에 디자인 해상도 종류 리소스 추가 시 이미지 파일을 크기별로 만들어 위의 해상도에 맞게 추가해야한다. 필요 시 Zeplin을 통해 자동화 가능 글씨 크기는 sp!! sp → scalable pixels 안드로이드는 설정에서 글씨 크기를 변경 가능 sp는 기본적으로 dp처럼 해..