구글 웹 마스터로 이동 아래의 링크를 눌러 구글 웹마스터로 이동 합니다. https://search.google.com/search-console/welcome 사이트 등록 URL 접두어를 선택하여 줍니다. 그리고 블로그 주소를 넣어 주고 계속을 눌러 줍니다. 아래와 같은 화면이 나타 날 텐데요 HTML 태그를 눌러 줍니다. 그러면 아래 그림처럼 meta 태그가 나타나는데요 "복사" 를 눌러줍니다. 티스토리 블로그의 스킨 편집화면으로 이동합니다. HTML 편집으로 들어갑니다. 아래 그림 처럼 head 태그 사이에 복사한 google meta 태그를 집어 넣습니다. 위치는 상관 없습니다. 다시 구글 웹마스터 페이지로 돌아가서 "확인" 버튼을 눌러줍니다. 구글 검색에 노출 되는 것이 완료되었습니다. 하지만 ..
분류 전체보기
문제 원인 개발을 하는 도중에 폴더블 폰에서 내부 화면과 외부 화면의 레이아웃이 다르게 표시되는 문제가 있었습니다. 그래서 폴더블 폰이 접히거나 펼쳐졌을 때 코드로 해당 레이아웃을 동적으로 고쳐주려고 했는데 어느 곳에서도 접힌 상태인지 펼친 상태인지 알 수 있게 제공 해주는 코드 정보를 찾을 수 없더라구요.. 구글링을 오랫동안 하다 한 가지 방법을 찾아내었습니다. 바로 DisplayManager 와 ConfigurationChange 를 활용 하는 것 인데요 위 두가지 방법을 살펴보겠습니다. DisplayManager 를 활용한 방법 폴더블 폰은 화면을 접게 되면 바깥 디스플레이에 앱(화면)을 표시하게 됩니다. 바깥 디스플레이에 표시될 때 이 때 view 는 다시 onResume() 을 타게 되는데 아래..
SMS 인증번호를 읽어와 자동 입력하기 2018년 10월에 구글에서 공지한 '통화 기록 및 SMS 사용 권한 제한'에 따라 2019년 1월부터 '통화 기록 및 SMS 사용 권한 제한' 정책은 전화나 문자를 주 기능으로 하는 앱이 아니면 SMS 권한을 획득할 수 없다고 합니다. 이 경우 단순히 '인증번호 자동 입력' 기능 구현을 위한 앱은 SMS Retriever API 를 사용하는 방식으로 구현하여야 합니다. 참고 http://woowabros.github.io/experience/2019/03/08/googleplay_permission_policy.html https://developers.google.com/identity/sms-retriever/overview SMS Retriever API 소..
네이버 Search Advisor 이동 아래의 링크를 눌러 네이버 서치 어드바이저로 이동합니다. https://searchadvisor.naver.com 네이버 서치어드바이저 네이버 서치어드바이저와 함께 당신의 웹사이트를 성장시켜보세요 searchadvisor.naver.com 우측 상단의 웹 마스터 도구를 클릭합니다 사이트 등록 사이트 관리라는 탭이 보일 텐데요 이를 클릭하여 줍니다. 사이트 등록의 URL 입력란에 등록하고자 하는 주소를 등록하여 줍니다. 사이트 소유 확인에 관련된 옵션을 선택할 수 있는 화면이 나옵니다. 여기서 HTML 업로드를 선택해도 됩니다. 하지만 간단하게 할 수 있는 HTML 태그 등록으로 진행 하겠습니다. 복사하라고 설명하는 HTML 태그를 자신의 블로그 HTML head 태..
1. 함수의 기본 구조 1.1 구조 우선 함수의 기본 구조를 보자 함수는 헤더(header)와 몸체(body)가 존재한다. private fun pointStatus(name: String, score: Int) : String { var result = when(score) { 100 -> "100점" in 90..99 -> "90점" in 80..89 -> "80점" in 70..79 -> "70점" else -> "70점 이하" } return "$name 님의 현재 점수는 $result 입니다." } 1.2 헤더 함수의 첫번째 부분은 헤더다. 함수의 헤더는 다섯개 부분으로 구성된다. 가시성제한자, 함수키워드, 함수이름, 함수 매개변수, 함수 반환타입 이다. 가시성 제한자 private 함수 키워드..
1. 조건문과 조건식 1.1 비교연산자 종류 = 왼쪽 값이 오른쪽 값보다 크거나 같은지 검사한다. == 왼쪽 값이 오른쪽 값과 같은지 검사한다. === 왼쪽과 오른쪽의 두 개의 인스턴스가 같은 객체를 참조하는지 검사한다. != 왼쪽 값이 오른쪽 값과 같지 않은지 검사한다. !== 왼쪽과 오른쪽의 두 개의 인스턴스가 같은 객체를 참조하지 않는지 검사한다. 1.2 논리연산자 종류 && AND 논리 왼쪽과 오른쪽 표현식 모두 true 일때만 true가 되며 이외는 false || OR 논리 왼쪽과 오른쪽 표현식 중 하나가 ture 면 true 가 됨(모두 false 일때만 false) ! NOT 논리 true 일때는 fa..
1. 코틀린 특징 1.1 코틀린/JVM 컴파일과 실행 실행 버튼을 누르고 Run _.kt 파일을 선택하면 인텔리제이가 kotlinc-jvm 컴파일러를 사용해서 코틀린 코드를 *_컴파일** 한다. 즉, 우리의 코틀린 코드를 JVM 에서 실행 할 수 있는 바이트 코드로 변환한다는 뜻이다. 하지만 코틀린은 JVM 에만 국한되지 않는다. 코틀린은 자바스크립트로 컴파일 될 수 있으며, JVM 없이 바로 실행되는 네이티브 바이너리로도 컴파일 될 수 있다. 1.2 코틀린 REPL 때에 따라서는 작은 코드를 실행 할 때 어떻게 되는지 테스트해 보고 싶을 때가 있다. 이것은 코틀린 언어를 배울 때 특히 유용하다. 다행스럽게도 인텔리제이는 파일을 생성하지 않고 코드를 빨리 테스트하는 도구를 제공한다. 이 도구를 코틀린 R..
1. 개요 안드로이드 6 부터 앱이 백그라운드에서 처리하는 작업으로 인해 소모 되는 배터리를 줄이기 위해 도즈(Doze) 와 어플대기 모드(App Standby) 정책을 추가했습니다. 안드로이드 7 부터는 세분화된 도즈 정책을 추가하였습니다. 이러한 배터리 효율 정책은 기기나 어플을 수면 상태로 만들어버리고 여러가지 제한이 발생하기 때문에 이러한 제한이 어플의 핵심 기능을 방해한다면 큰 문제가 발생하게 됩니다. 2. 도즈 (Doze) 2.1 안드로이드 6 (Marshmallow / 6.0 / API 23) 2.1.1 조건 충전기 연결이 되지 않은 배터리 동작이며, 화면이 꺼진 상태로 움직이 없는 경우가 일정 시간 이상 지속 되는 경우 진행됩니다. 2.1.2 제한 도즈가 진행되면 제한이 발생되고 도즈의 중..
소개 구글 I/O 에서 dark theme 에 대해서 발표한 내용이다. Dark theme 를 끄고 켜는 방식으로 변경 됬다고 함. Dark theme 의 작동 방식은 크게 4가지로 구분 되어 짐 Option A: Android Dark Theme 사용 Theme.AppCompat.DayNight : 이미 사용 가능 Theme.DeviceDefault.DayNight : Device 스타일에 맞춤 ThemeOverlay.DeviceDefault.Accent.DayNight : Device 스타일에 맞춤 근데 함정은 빡치게도 위 3가지 다 안됨 아놔... Option B: Dark Theme 를 강제 On/Off 사용 사용자의 설정 여부와 상관 없이, 앱 내부 코드로 활성/비활성화 시킬 수 있다. Opti..
에러 Gradle build 아래와 같은 문구가 출력되면서 build 실패 ERROR: Failed to install the following Android SDK packages as some licences have not been accepted. 원인 android SDK 최초 설치 시, SDK licence 에 동의하여야 하나 이를 수행하지 않아서 발생 해결 윈도우 기준 android sdk 가 설치된 디렉터리의 \tools\bin 의 경로로 이동합니다. linux, mac 등 다른 os 에서도 원리는 동일합니다. 아래의 명령어를 입력하여 licence 동의를 진행하여 줍니다. .\sdkmanager --licences