본문 바로가기

앱 제작27

SwipeRefreshLayout :: 당겨서 새로고침 하기 1. SwipeRefreshLayout란? 2. xml 소스 코드 3. activity 소스 코드 1. SwipeRefreshLayout란? 앱에서 게시물 목록을 당겨서 새로고침 할 때 사용하는 것이 바로 SwipeRefreshLayout이다. 화면을 당기면 빙글빙글 돌아가는 애니메이션이 뜨면서 setOnRefreshListener를 호출하게 되는데, 이때 리스너 안에 새로고침을 하기 위한 코드를 작성해 넣으면 된다. 나는 게시물 목록을 당길 때 목록이 손가락을 따라 같이 이동하다가 탁! 놓으면 새로고침 애니메이션이 빙글빙글 돌아가기를 원했는데 기본으로 제공되는 SwipeRefreshLayout은 그런 기능이 없는 듯하다. 따로 오픈 라이브러리를 사용하던가 해야 할 것 같다. (위 영상을 보면 알겠지만 .. 2021. 1. 9.
[코틀린] infinite/endless scroll(무한 스크롤)과 recyclerView 1. infinite/endless scroll 1-1. 개념 1-2. Progress Bar 1-3. 아이템 뷰(ItemView) 1-4. 홀더(Holder) 1-5. 스크롤 리스너(Scroll Listener) 1-6. 다른 최하단 도달 감지 방법 2. Adapter 1-1. 전체 소스 1-2. 코드 설명 3. Activity 3-1. 전체 소스 3-2. 코드 설명 4. 예제 다운로드 1. infinite/endless scroll 1-1. 개념 게시물 리스트를 쭉 내리다가 어느 지점에 도착하면 그다음 게시물 리스트를 가져오는 방법이 있다. 이것을 infinite scroll 혹은 endless scroll이라고 부른다. (심지어 어떤 외국 블로거는 ultimate scroll이라고 부르던데 딱히 정.. 2021. 1. 8.
[파이썬] FCM을 통해 앱으로 푸시알림 보내기 1. 준비물 1-1. pyfcm 설치 1-2. Server Key 1-3. Token 2. 푸시 알림 보내는 방법 1-1. 1명에게 보내기 1-2. 여러 명에게 보내기 1. 준비물 1-1. pyfcm 설치 커맨드에서 "pip install pyfcm"을 입력해서 라이브러리를 설치해도 되지만 평소에 이 방식대로 하면 오류가 자주 발생해서 번거롭지만 이렇게 설치하는 것을 추천한다. Pycharm 프로그램 기준으로 위 경로대로 클릭한다. 그다음 이름을 검색하고 설치해주면 끝이다. 1-2. Server Key 파이어 베이스 서버 키를 얻기 위해서 위 경로대로 클릭한다. 만약 아직 파이어베이스 연동을 하지 않았다면 아래 링크를 보고 따라하면 된다. [Kotlin] FCM 푸시 알림 구현하기 1. 기본개념 1-1... 2021. 1. 4.
Firebase 데이터베이스 딜레이 문제 해결(= 반환 값이 null일 때) 파이어 베이스를 사용해보는 것이 이번이 두 번째인데 너무나도 바보 같은 짓으로 삽질을 무진장 해버려서 기록을 남기려고 한다. 그리고 저 처럼 혼자 인터넷으로 공부해서 옆에서 올바른 방법을 지적해 줄 사람이 없는 분들을 위해 남깁니다. 1. 첫번째 삽질 private fun importKeywords(){ FirebaseDatabase.getInstance().reference .child("keywords") .addValueEventListener(object : ValueEventListener { override fun onCancelled(p0: DatabaseError) { } override fun onDataChange(p0: DataSnapshot) { // 파이어베이스에서 데이터를 읽어옴.. 2021. 1. 3.
subscribeToTopic 한글을 주제로 구독하기 :: 푸시알림 구독 서비스 구현 1. subscribeToTopic 메서드 1-1. 개념 1-2. 사용법 1-3. 문제점 1-4. 해결방안 1. subscribeToTopic 메서드 1-1. 개념 푸시 알림을 보내는 방법에는 여러 가지가 있다. 그중 하나가 어떠한 주제를 구독한 사용자들에게 전부 메시지를 보내는 방법이다. 그리고 그때 사용하는 메서드가 바로 subscribeToTopic이다. 만약 'news'라는 주제를 구독한 사람이 있다면 그 사람들한테만 알림이 가는 것이다. 이 방법은 1대 1로 메신저를 주고받거나 소규모의 그룹에게 알림을 보낼 때가 아니라 많은 인원에게 메시지를 한 번에 보낼때 유용하다. 만약 푸시알림에 대해 더 알고 싶다면 아래 링크를 참고하면 된다. [Kotlin] FCM 푸시 알림 구현하기 1. 기본개념 1-.. 2021. 1. 2.