Dev/android
-
Sticky Header Recyclerview using ItemDecoration without library - 2 (Kotlin)Dev/android 2020. 5. 27. 00:18
자 라이브러리 없이 ItemDecoration을 사용해서 만드는 Sticky Header RecyclerView 2탄! 이전 포스팅 1탄은 여기 참조!! 지난 포스팅에서는 아이템 뷰 타입별로 뷰홀더에 바인딩을 했다면 이번엔 RecyclerView에 넣을 리스트를 만들어보자 지난 포스팅에 Activity에 Data 클래스를 타입으로 가진 List 만든것과 다른 리스트이다. 지금 만들 리스트는 여러 타입의 뷰를 아이템으로 가진 리스트이다. AdapterItem.kt data class AdapterItem(var type: Int, var objects: Data) Data 타입과 Int 타입의 매개변수를 가진 AdapterItem 이라는 data class를 만들어 준다. 이것은 지금 만들 리스트의 데이터..
-
Sticky Header Recyclerview using ItemDecoration without library - 1 (Kotlin)Dev/android 2020. 5. 26. 22:56
Sticky Header 란? 사용자가 페이지를 아래로 스크롤 할 때, 화면 상단에 고정된 뷰를 말한다. 검색해 보면 라이브러리 한 줄로 사용하기도 쉽게 해뒀지만, 각자의 상황에 맞게 커스텀 하려면 라이브러리는 불편하다 ItemDecoration을 커스텀 해서 고정할 헤더 뷰를 그리기로 했다. 아래는 예제 샘플이다. 바쁜 사람은 여기 를 눌러 소스를 보러 가시길... 아래 부턴 삽질 히스토리 사실 맨 위의 상단을 고정하는 건 검색해보면 되게 많이 나온다. 1. https://github.com/paetztm/recycler_view_headers paetztm/recycler_view_headers Simple Recycler View Section Header implementation - paetzt..
-
Glide로 서버에서 이미지를 받아 MenuItem의 아이콘 변경하기 (비트맵으로 변경하기)Dev/android 2020. 1. 14. 16:06
서버에서 이미지를 받아 ImageView에 적용하려면? Glide를 사용하면 쉽게 된다. 그런데 MenuItem에 넣으려면? MenuItem의 setIcon()은 Drawable을 받는다. 따라서 우리는 glide에서 받아온 이미지를 bitmap 타입에서 drawable 타입으로 변경해야 한다. 아래는 MenuItem에 버튼 만들기 예제이다. 안드로이드 새로운 프로젝트를 만든다. 이 예제에선 Navigation Drawer Activity 를 선택. 이렇게 우측 상단 메뉴 아이템을 누르면 Settings 라는 서브 메뉴가 나온다. 이제 메뉴아이템의 아이콘을 변경해보자 메뉴아이템은 res/menu/main.xml 에서 설정한다. 이미 되어있는 코드를 지우고 1 2 3 4 5 6 7 8 9 10 이렇게 넣어..
-
ImageView에서 background 와 src 의 차이Dev/android 2019. 12. 16. 13:54
둘 다 이미지를 뷰에 세팅한다. 하지만 둘의 차이를 알고 사용해야 정확한 UI를 제작 할 수 있다. background src 이미지가 이미지뷰 사이즈에 맞춰짐 이미지가 원래 크기대로 보임 패딩 값 적용 불가 패딩 적용 가능 background 는 말 그대로 배경이다. 이미지의 사이즈는 고려하지 않고 이미지 뷰의 사이즈에 맞춰 그림을 자동 조정한다. src는 전경 이미지다. 이미지를 원래 사이즈 그대로 올릴 수 있다.
-
OS버전 별 변경점Dev/android 2019. 8. 16. 01:18
내가 처음 프로젝트 맡은 앱의 minSdk가 킷캣이었기 때문에 킷캣 이후로 정리 Kitkat 4.4 ~ 4.4.4 레퍼런스 기기는 넥서스 5 기기화면 녹화기능 LED 플래시 사용 크롬 WebView 적용 Lolipop 5.0 ~ 5.1.1 머터리얼 디자인 64비트 CPU 지원 볼타 프로젝트 적용 배터리 성능 향상 Marshmallow 6.0 ~ 6.0.1 퍼미션 관리 NFC 내장 지문인식 앱 제어 Doze 모드 ApacheHttpClient 지원 중단 개발자에겐 크게 대응이 필요했던 버전이다. 키보드 개발 할 땐 서비스이기 때문에 신경 안썼는데, 일반 앱을 개발할 땐, Doze모드가 적용되서 백그라운드가 멈추기 때문에 이에 대응이 필요했다. 그리고 앱에서 사용하는 권한중에 사용자에게 물어봐야하는 권한이 ..
-
안드로이드 웹뷰에서 로그인 세션 유지하기Dev/android 2019. 5. 9. 15:53
하이브리드 앱은 간단히 말해 웹을 네이티브 앱으로 포장한 앱이다.. 외부는 네이티브 단이고 핵심 기능은 웹에서 실행하기 때문에 ios나 안드로이드나 상관없이 웹만 수정하면 된다. 즉 유지보수가 용이한 장점이 있다. 오늘 해볼 것은 로그인은 네이티브에서 하고 쿠키 세션을 가지고 웹뷰로 넘어가서 로그인을 유지시키는 것이다. 그림으로 간단하게 그려봤는데 오히려 보기 어려울수도 있을것 같다.. 네이티브 로그인 화면에서 아이디, 비밀번호를 입력 후 서버에 확인을 받으면 쿠키를 생성한다. 그 쿠키로 다시 url을 로드할 때 서버에 보내서 로그인 상태를 유지시킨다. 그러면 웹뷰에는 마치 웹에서 로그인한 것 처럼 로그인 성공시 보여줄 페이지가 로드된다. activity_login.xml 1 2 3 4 5 6 7 8 9..
-
Firebase Cloud Messaging (FCM / 푸시 알림) 사용하기 2Dev/android 2019. 5. 9. 13:32
2 단계 앱에서 푸시를 받아보자 1단계 FCM SDK 설정 방법 : https://dailylonnie0125.tistory.com/9 관련 튜토리얼 URL https://firebase.google.com/docs/cloud-messaging/android/client?hl=ko Android에서 Firebase 클라우드 메시징 클라이언트 앱 설정 | Firebase Firebase 클라우드 메시징 Android 클라이언트 앱을 작성하려면 Gradle과 FirebaseMessaging API 및 Android 스튜디오 1.4 이상을 사용합니다. 이 페이지에서는 Android 프로젝트에 Firebase를 추가하는 단계를 완료했다고 가정하고 안내합니다. FCM 클라이언트에 Android 4.1 이상을 실행..
-
Firebase Cloud Messaging (FCM / 푸시 알림) 사용하기 1Dev/android 2019. 5. 9. 11:29
FCM은 구글에서 제공하는 메시지 전송 서비스다. 안드로이드를 개발하다보면 푸시 알림 기능이 필요하게 된다. 간단하게 테스트 앱을 만들어보자 1단계 안드로이드 프로젝트에 Firebase 세팅하기 Firebase 에 프로젝트를 추가 하기 전 안드로이드 프로젝트부터 만들어 봅시다 테스트용 프로젝트를 만들었으면 Firebase 에 구글 계정으로 로그인 하자 https://console.firebase.google.com 로그인 - Google 계정 하나의 계정으로 모든 Google 서비스를 Google 계정으로 로그인 accounts.google.com 새 프로젝트 추가를 누르고 내용을 채워넣자 동의 체크하고 프로젝트 만들기 생성중......... 생성 완료! 이 화면에서 우리는 안드로이드 프로젝트를 만들것이..