* 이 글은 개발자를 위한 글입니다. → 일반 사용자라면 "블루라이트 어플" 등 화면 제일 위에 있는 앱을 종료한 뒤 다시 권한을 요청해보세요. 마시멜로우 이상의 안드로이드에서는 특정 기능을 사용하기 위해 사용자의 허가를 받아야만 합니다. 근데 가끔 이 허가를 받으려고 하는데 "화면 오버레이 감지됨"이라는 문구가 뜨면서 허가가 안되는 경우가 있죠. 인터넷을 찾아 봐도 정확히 어떤 것이 원인인지에 대한 얘기는 별로 없더라구요. "화면 오버레이 감지됨"은 말 그대로 화면을 다른 무언가가 덮으려고 한다는 의미입니다. 여기서 덮는다는 것은 꼭 화면 전체가 아니라 일부만 덮어도 덮는다는 얘기입니다. 안드로이드에서 화면을 덮는 것이 뭐가 있을까요? 잠깐만 생각해봐도 쉽게 알 수 있는 것들입니다. 1. 항상 화면의 ..
앱에서 종종 화면을 밝게 해야 하는 경우가 생기게 됩니다. 바코드 혹은 QR 코드가 화면에 떠 있어 인식률을 높여야 하는 경우가 대표적이겠네요. 안드로이드에선 화면 밝기를 조절하는 방법이 두 가지가 있는데요, 첫 번째 방법은 provider의 System 클래스에 접근해 변경하는 방법이고, 두 번째 방법은 액티비티의 리소스에 접근해 변경하는 방법입니다. 첫 번째 방법은 시스템에 직접 접근하는 방법입니다. 일반적으로 시스템에 접근하려면 시스템 권한을 추가적으로 얻어야 하는데, 이 권한은 접근성을 허가해줘야 합니다. (requestPermission()으로 얻을 수 있는 권한이 아닙니다) 아무래도 사용자 입장에선 굉장히 불편하죠. 게다가 자동 밝기가 설정되어 있다면 자동 밝기도 해제해 줘야 합니다. 그래서 ..
안드로이드 앱을 만들 때 지정된 폰트를 이용하게 하는 것은 상당히 까다롭습니다. android:fontFamily를 지원해주긴 하지만 쓸 수 Roboto 폰트 패밀리밖에 적용이 안되고, TextView의 폰트를 변경시켜주는 Typeface를 이용하면 커스텀 폰트를 적용시킬 수 있지만 다수의 TextView에 적용시키는 데엔 한계가 있습니다(보통 커스텀 TextView를 만들어 사용합니다). Typekit은 그런 번거로움을 없애주고, 직관적으로 사용할 수 있는 커스텀 폰트 라이브러리입니다. 불친절하게도 API문서도 없고 각 메서드에 대한 설명이 거의 돼있지 않아서, 하나씩 적용해본 뒤 글을 작성하게 됐습니다. 0. 원하는 폰트를 프로젝트폴더\app\src\main\assets 안에 넣어 줍니다(assets..
EditText는 기본적으로 엔터로 줄 바꿈이 되는, 여러 줄의 글자를 입력받습니다. 이 EditText를 사용해 아이디, 이름 등을 입력하게 하면, 사용자는 불필요한 터치를 반복해야만 합니다. 키보드의 엔터를 누르면 다음 입력란으로 넘어가는 것이 아닌 줄바꿈이 되기 때문이죠. 여기서 필요한 바로 그 "다음" 버튼을 만들어 보겠습니다. * 참고 : 이 글은 2017년 1월에 작성된 글로, API 25버전, 즉 Android 7.1.1 (Nougat)을 기준으로 합니다. * ...은 필수적으로 필요한 내용들(layout_width, layout_height 등)은 생략했다는 의미입니다. 순서는 아래와 같습니다. 1. (XML) EditText 위젯에 inputType 및 imeOptions 속성 추가 2...
흔히 어플리케이션이 켜지기 전 나오는 화면을 Splash screen 혹은 Launch screen이라고 부릅니다. 이 화면은 어플리케이션이 준비될 때까지 표시되는 화면으로써, 앱 구동 중 나타나는 흰색 화면과 같은 화면을 대신해서 나타납니다. 흰색 화면만 덩그러니 놓여 있으면 앱이 제대로 켜진 건지 구분이 잘 안가죠. 스플래시 스크린을 사용하면 빈 화면보다 작동 여부가 분명하게 보이고, 브랜드 로고 노출을 통한 인지도 상승도 자연스레 생기게 됩니다. 구글에서는 이 스플래시 스크린을 두 가지로 구분했는데요, 첫 번째는 Placeholder UI이고, 두 번째는 Branded launch screens입니다. 전자는 로딩이 완료됐을 때 띄워질 화면과 비슷한 화면을 띄우는 방식이고, 후자는 아예 브랜드 로고..
Git은 처음 쓸 땐 무진장 어렵습니다. 제 주변 친구들만 봐도 USB로 프로젝트 파일을 옮기고 있더군요.Android Studio에는 VCS(분산 버전 관리 시스템)을 지원하고 있는데요, 여러 VCS툴을 지원하는데 그 중 하나가 바로 GitHub 연동 기능입니다. 기존의 CLI Git이 아닌, GUI툴로 매우 쉽게 Git을 사용할 수 있게 되어 있습니다. GitHub를 사용하신다면, Android Studio에서 쉽게 Merge, Branch 생성 등을 할 수 있습니다. 이 기능만 잘 활용하면 Git이 어렵지 않을거에요!* 당연한 얘기겠지만 Git 설치 및 GitHub 가입은 필수입니다! Case 1 : 새 프로젝트를 GitHub와 연동하려고 할 때 or 기존 프로젝트를 연동하려고 할 때 1. 새 프로..
- Total
- Today
- Yesterday