분류 전체보기 14

[Android / JAVA] Alert Dialog의 title과 message 중앙 정렬하기

앱에서 사용하는 거의 대부분의 alert는 Android의 system alert dialog를 그대로 가져와 사용했다. 제목이며 메세지며 길지 않은 내용이었기에 크게 UI적으로 이상함을 느끼지 못했었다. 이번에 여러줄의 줄바꿈이 있는 dialog를 만들면서 alert dialog는 가운데 정렬을 지원하지 않는다는걸 알게 되었다. 텍스트가 많아지면 많아질수록 title과 message의 경계가 모호해지고 비좁은 방에 정리되지 않은 채 꽉꽉 채워진 지저분한 느낌을 받았다. 이 지저분함을 해결하기 위해 system alert의 본형을 잃지 않는 custom dialog를 생성하기로 했다. 기존에 사용하던 코드 AlertDialog alertDialog = new AlertDialog.Builder(this)..

Android 2023.02.09

[Android / JAVA] Firebase Remote Config로 강제/선택 업데이트 팝업 관리하기

지난주에 같은 주제로 Swift에서 사용하는 방법을 올렸었는데 오늘은 Android(JAVA)에서 사용하는 방법을 올리려고 한다. JAVA 역시 간단하게 구현이 가능하다. 왜 Remote Config 서비스를 사용했는지, 기본 세팅은 'Swift에서 사용법' 링크를 참고하면 될 것 같다. 사용법 먼저 firebase remote config dashboard에 원하는 매개변수를 저장한다. 그리고 저장해둔 매개변수를 불러온 후 값을 비교해 업데이트 팝업을 띄워주는 코드를 구현한다. private void checkVersion() { String minimumVersion = "minimum_version"; String forceUpdate = "force_update"; FirebaseRemoteCon..

Android 2023.02.07

[iOS / Swift] Firebase Remote Config로 강제/선택 업데이트 팝업 관리하기

최근에 네이티브 코드와 웹뷰가 통신 하는 새로운 기능이 개발되었는데 앱을 업데이트 해야만 사용이 가능하여 웹뷰에서 버전을 체크하는 코드를 추가해야 했다. 앱의 구조가 웹뷰이기 때문에 네이티브 기능의 업데이트가 많은 편은 아니지만 대부분 주요 기능을 개발해서 유저들이 업데이트를 해야하는 경우가 대부분이었다. 매번 버전 체크를 하기에는 너무 번거롭고 하드 코딩이라 강제 업데이트에 대해 생각하게 되었다. 처음 생각했던 방식 앱스토어의 최신 버전과 현재 사용중인 버전을 비교하여 최신 버전이 아닐 경우 업데이트 팝업 노출 1. 앱 처음 켜질 때 업데이트 팝업 노출 2. willEnterForegroundNotification observer를 추가해 업데이트 하지 않은 유저들에게 다시 업데이트 팝업 노출 이 방식..

iOS 2023.02.03

Android(Java)에서 받은 encodedUri를 webView(javascript)에서 파일로 변환하기

최근 서비스에서 사용하던 이미지 업로드 기능을 커스텀하게 바꾸는 작업을 진행했다. 개발 중인 서비스는 네이티브 앱이 웹뷰를 감싸고 있는 구조라 약간의 설계가 필요했다. 기존의 이미지 업로드 방식 WebView (Vue.js) 웹뷰에서 file 타입의 인풋으로 Native Android의 onShowFileChooser 호출 Native Android (JAVA) 권한 비교 후 image picker intent 실행 @Override public boolean onShowFileChooser(WebView webView, ValueCallback filePathCallback, FileChooserParams fileChooserParams) { mFilePathCallback = filePathCall..

Android 2023.02.02