본문 바로가기

Android/이것저것24

[Android] Cleartext HTTP ~ bot permitted Error 혼자 사이드 프로젝트를 진행하다가 폰에서 로컬이 접속이 안되는 문제가 발생했었다... 같은 망을 쓰니까 방화벽도 문제가 아닐거고... url도 정확하고... 심지어 웹 브라우저로는 들어가졌다! 그래서 찾아보니... 안드로이드9(Pie, API 28)부터는 기본적으로 HTTPS를 사용하기 때문에 HTTP로는 통신이 되지 않는 것이 Default 설정이다. 따라서 HTTP 통신을 허용하는 설정을 추가로 해주었다. HTTP와 HTTPS의 차이점에 대해서는 다음에 다뤄보도록 하자. AndroidManifest.xml 중 application 태크에 아래 속성을 추가해주자. android:usesCleartextTraffic="true" cleartext 속성이 기본으로 false로 되어 있는데 이때, HTTP,.. 2020. 7. 19.
FloatingActionButton FloatingActionButton 이란 위 그림처럼 동그란 모양의 버튼을 말한다. (줄여서 fab라고 한다.) 해당 View를 사용하려면 아래 dependency를 추가해주자. (Material로 추가해도 되나 design과 충돌 발생하기 때문에 하나만 추가해주자) dependencies { implementation 'com.android.support:design:28.0.0' } 기본적인 사용 방법은 다음과 같다. 총 3개의 FloatingActionButton을 사용할거기 때문에 3개를 선언해주었다. 가장 큰 메인 버튼 뒤에 작은 버튼들이 숨어있는 형태다. 사용한 속성을 살펴보자면 다음과 같다. 속성 설명 backgroundTint 배경 색상 src 안에 들어갈 이미지 borderWidth 테.. 2020. 7. 11.
Fragment 안드로이드는 Activity 단위로 화면을 표시해준다. 그러나 Activity 내의 일부만 변경하고 싶은 경우가 생길 수 있다. 물론, 새 Activity로 구현할 수 있지만 중복되는 코드가 생기기 때문에 바뀌는 부분만 새로 작성하고 싶다! 이때 사용되는 것이 Fragment이다. Activity 내에 fragment라는 View를 만들어주고 해당 View에 Fragment를 등록해주는 방식으로 사용한다. Fragment 클래스를 통해 xml을 인플레이트하고 Activity에서 FragmentManager를 통해 원하는 Fragment를 Activity에 있는 fragment View에 등록하여 사용한다. 요약하면 다음과 같다. 1. Activity XML에 Fragment를 담을 View를 선언 2. .. 2020. 7. 5.
NotificationListenerService 푸시 알림에 대한 이벤트 핸들러를 찾다가 확인한 서비스! Notification (푸시 알림)이 수신되면 해당 서비스를 이용해 핸들링 할 수 있다. 사용법은 다음과 같다. 1. NotificationListenerService를 생성하여 onNotificationPosted를 정의한다 (노티 알림 받았을 때 이벤트 핸들러) 2. 매니페스트에서 서비스와 인텐트 필터를 적용한다 (인텐트 필터를 사용해 노티 알람 수신) 3. 메인 액티비티에서 푸시 알림에 대한 접근 권한을 받는다! 끝. 1. NotificationListenerService class NotificationListener : NotificationListenerService() { override fun onNotificationPosted(.. 2020. 5. 10.