Android/Tips
ViewPager2 오버랩 화면전환 (pageTransformer)
viewpager2로 화면 전환 할 때 일종의 오버랩 형식으로 구현할 필요가 있어서 찾아보았다. 기존의 viewpager2를 구현하는 방법은 전부 같고, pageTransformer만 커스텀하면 된다. class OverlapPageTransformer : ViewPager2.PageTransformer { override fun transformPage(view: View, position: Float) { val pageWidth = view.width when { position { // view가 왼쪽 뒷 배경으로 넘어갔을 때 view.apply { alpha = MIN_FADE } } position { // view가 뒷 배경으로 넘어갈 때 view.apply { a..
FCM 푸쉬 알림 보내기 (페이로드에 따른 data 전송문제)
FCM으로 푸쉬 알림을 보내는 부분에 대한 간략한 기록 앱이 foreground 상태라면 onMessageReceived 함수를 호출하여 notification을 호출할 수 있고, 앱이 background, killed 상태라면 onMessageReceived를 호출하지 않고, 시스템 트레이를 통하여 notification을 호출한다. 라고 이해하였으나 생각보다 페이로드(데이터의 형식)에 따라 작동 방식이 조금씩 달라진다. 1. notification만 담는 경우 { "message":{ "notification":{ "title" : "title" "body" : "body", } } 일반적인 notification만 담아서 보내는 경우 background, killed 상태라면 시스템 트레이를 통해,..
Retrofit2 MultiPart로 이미지 파일 전송하기 (Kotlin)
파일 업로드를 위해 form-data 형식을 사용하는법을 알아보았다. @Multipart @POST("/Path") fun uploadFile(@Part imageFile: MultipartBody.Part): Call? Multipart를 이용해 api를 작성한다. var file = File(filepath) var requestBody : RequestBody = RequestBody.create(MediaType.parse("image/*"),file) var body : MultipartBody.Part = MultipartBody.Part.createFormData("files",file.name,requestBody) service?.uploadFile(body)?.enqueue(object..