구글 플레이스토어에 앱 등록 후 잘 사용하고 있다가 어느 순간 앱 삭제 된 적이 있지 않으신가요? 구글에서 앱 거절하는 이유는 여러가지가 있는데 최근에 제가 겪은 이슈에 대해 이야기 하려고 합니다. 아침 커피를 마시며 퇴근 후 온 메일을 검토하는 중 구글에서 온 메일이 있었습니다. Hello Google Play Developer, After review, OOO, kr.co.000, has been removed from Google Play because it uses software that contains security vulnerabilities and violates our Malicious Behavior policy. Your app will not be available to users..
최근 Samsung Galaxy Z Flip 제품이 나오며 휴대성과 디스플레이의 확장성 모두 만족할 수 있게 되었습니다. 다양한 디바이스 환경에 맞춰 Android Jetpack에서 Window(창 관리자)가 추가되어 접이식 장치 디바이스 화면상태를 제공하고 있습니다. 더 다양한 디바이스 환경에 따른 화면 구성을 위해 Window APi을 활용하여 디바이스 화면 상태를 체크하는 방법에 대해서 알아보겠습니다. 환경 구성 build.gradle 파일에 Google Maven 저장소에 저장된 Window Manager 오픈소스를 추가합니다. 기기 상태 확인 기기 상태 확인을 위해 windowManager 의 디바이스 상태 변경 리스너를 등록합니다. 디바이스 상태 체크에 대해 Consumer interface을..
대부분의 List를 구현 시 RecyclerView 를 활용할 것입니다. 다수의 Data를 갖고있는 List의 Data를 갱신 시 깜박이는 것을 확인 할 수 있을 것입니다. 데이터 갱신 시 깜박이는 현상을 막을 수 있는 방법은 없을까요? 깜박이는 현상은 Data를 갱신하면서 List의 모든 Cell을 다시 그리면서 발생하고 있습니다. 그렇다면 이미 존재하고 있는 Cell을 다시 안그리는 방법은 없을까요? Adapter에 고유한 id를 을 갖고있다는 것을 설정하면 됩니다. val adatper = NewAdapter() //RecyclerView에 설정할 adapter adatper.setHasStableIds(true) 또한 Adapter의 getItemId을 override 하여 고유한 id를 선언합니..
App Client에서 FileUpload 하는 방법은 multipart/form-data octet-stream으로 나눠집니다. Alamofire 를 활용하여 multipart/form-data 파일 업로드를 구성하면 다음과 같이 구성할 것입니다. 업무를 하다보면 간혹 파일 업로드를 octet-stream으로 요구 할 때가 있습니다. octet-stream 파일 업로드는 위의 multipart/form-data 와 동일한 방식으로 구성하되 header에 content-type을 application/octet-stream 을 추가로 선언하면 됩니다. 마무리 간단히 파일 업로드 하는 방법에 대해서 알아봤습니다. octet-stream , multipart/form-data 방식으로 파일 업로드 시 도움이..
STOMP을 Swift 환경에서 사용하는 방법에 대해서 알아보겠습니다. API DESC StompClientLib https://github.com/WrathChaos/StompClientLib 위에 명시된 라이브러리를 Android .gradle 에 dependencies 합니다. STOMP Client STOMP Client 사용법은 다음과 같이 나눌 수 있습니다. // 1. INIT let url = NSURL(string: "ws://[도메인]/connect/websocket") let intervalSec = 1.0 public var soketClient = StompClientLib() // 2. CONNECT func registerSocket(){ if(soketClient.isConne..
STOMP을 Android 환경에서 사용하는 방법에 대해서 알아보겠습니다. 소개할 라이브러리는 Android STOMP 라이브러리 중 kotlin으로 작성된 라이브러리로 fork 하여 사용하였습니다. STOMP-KOTLIN 라이브러리 API DESC stomp-client-for-kotlin(fork) https://github.com/FaithDeveloper/stomp-kotlin 위에 명시된 라이브러리를 Android .gradle 에 dependencies 합니다. STOMP Client STOMP Client 사용법은 다음과 같이 나눌 수 있습니다. // 1. INIT val url = "ws://[domain]/connect/websocket" val intervalMillis = 1000L ..
채팅을 구현하는 방식은 XMPP, Websocket 등 다양한 방식으로 구현하고 있습니다. 이번 포스트는 필자가 직접 사용하였던 STOMP에 대해서 간략하게 공유하려고 합니다. 필자의 주관적인 이해한 내용을 적다보니 잘못 기입된 부분이 있을 수 있습니다. 잘못 된 부분에 대해 댓글로 남겨주시면 수정 하겠습니다. STOMP 무엇인가? Simple (or Streaming) Text Oriented Message Protocol 의 약자인 STOMP는 텍스트 기반의 메세징 프로토콜 입니다. STOMP 사용 환경은 TCP 나 WebSocket 과 같은 신뢰성있는 양방향 streaming network protocol 상에 사용될 수 있습니다. 문자로 설명으로 보는 것보다 STOMP 구조를 보면 이해하시는데 도..
직렬화(Serializable)에 대해서 가볍게 살펴보겠습니다. Effective Java 2/E에서 객체 직렬화 API에 대해서 이렇게 정의하고 있습니다. 바이트 스트림(byre stream)으로 인코딩(encoding)하거나, 바이트 스트림 인코딩에서 객체를 복원하는 프레임워크 입니다. 객체를 바이트 스트림으로 인코딩하는 것을 직렬화(serialization) 라고 하고, 그 반대는 역직렬화(deserialization) 입니다. 기본적인 직렬화 만드는 조건 기본적인 직렬화 조건은 java.io.Serializable 인터페이스를 상속받아야 합니다. 우아한형제들의 기술 블로그에서 가져온 소스를 기반으로 예를들면 다음과 같습니다. package woowahan.blog.exam1; /** 직렬화 할 회..
- 스코어헬퍼
- MCC
- RXjava
- swift
- Android
- java
- 코틀린
- 안드로이드
- 디자인패턴
- issue
- 미션차이나센터
- 점수판
- 고시문
- 임용고시
- 패턴
- 선교
- IT
- IOS
- 고시문헬퍼
- missionchina
- 탁구
- DI
- flutter
- push
- Kotlin
- view
- Android Studio
- 알고리즘
- missioon
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |