본문 바로가기

반응형

프로그램

(112)
1. 안드로이드 Compose 네이버 지도 설정 Compose로 안드로이드 네이버지도 사용법입니다. 일단 가장먼저 네이버지도를 사용하기 위해서는 네이버 클라우드 에 들어가서 프로젝트를 등록하여야 합니다.     콘솔에 들어가서 어플리케이션을 등록하고 모바일 지도를 선택하여 활성화  정상적으로 잘 프로젝트를 생성하였다면 프로젝트 클라이언트 아이디를 복사하여 AndroidManifest.xml에 등록 위치관련 권한 추가 프로젝트 gradle 설정 naverMapCompose = "1.8.0"naverMapLocation = "21.0.2"naver-map-compose = { group = "io.github.fornewid", name = "naver-map-compose", version.ref = "naverMapCompose" }naver-map-..
안드로이드 scrollview 안에 있는 webview 줌인아웃 처리 UI구조상 스크롤뷰 안에 웹뷰를 넣어야하는 경우가 생길수 있습니다. 이런경우 종종 생기는 문제는 웹뷰쪽을 선택시 웹뷰 부분이 최상단으로 올라가고 그 다음부터 스크롤 되는문제 그리고 Webview가 줌인아웃이 되어야 하는데 되지 못하는 문제 2가지 문제에 직면을 하게 됩니다. 해결방법은 일단 다들 아시다시피 기본적으로 웹뷰의 줌인아웃 기능이 되도록 설정을 해줘야합니다.settings.javaScriptEnabled = truesettings.domStorageEnabled = truesettings.cacheMode = WebSettings.LOAD_NO_CACHEsettings.builtInZoomControls = truesettings.displayZoomControls = falsesettings...
컴포즈 커스텀 캘린더 만들기 일정을 보여줄수 있는 캘린더를 만들어야해서 커스텀으로 캘린더를 만들게되었다. 맨날 xml로하다가 컴포즈로 하니 막막한,,, 일단 만들어야하는 캘린더는 대충 아래와 같다,,(완성이미지와 영상 밑 코드는 밑에 있습니다)  이렇게 만들어야 하기에 개발순서를 상단, 중단, 하단으로 하여 상중하 순으로 내려갔다. 상단인 년월이 있으며, 좌우 버튼이있는 부분 /** * 년월 설정 하는부분 * **/@Composablefun DrawYearDate( targetDate : LocalDate, onPreviousMonthClick : () -> Unit, onNextMonthClick : () -> Unit) { Row( modifier = Modifier .fi..
NFC 비접촉결제 체크/앱 배터리사용량 최적화 해제 앱내에서 NFC를 이용하여 교통카드 기능이 사용 가능하도록 합니다. 삼상페이나 다양한 회사의 교통카드 종류가 많으니깐, 앱 실행시 타사의 교통카드가 활성화가 되어있다면 저희측 교통카드를 활성화를 할수있도록 체크하여 팝업으로 유도합니다.  위 사진과 같은 상태일때private fun nfcBaeCheckToChanged(){ val emulation = CardEmulation.getInstance(NfcAdapter.getDefaultAdapter(context)) val paymentServiceComponent = ComponentName(requireContext(), NFCService::class.java.canonicalName?:"") //현재 비접촉결제 체크 if(em..
코루틴을 이용한 비동기 처리방법 여태까지 개발을 모바일앱 개발을 하면서 특정 타이밍 때문에 delay를 별도로 준적이 많다. 예제로 사용할 앱 첫로딩시에 첫번째 fragment statck을 가져와야할때가 예시라고 할수있다. 그럴때마다 delay를 별도로 줘서 데이터를 가져왔다.lifecycleScope.launch { delay(700) val current = navHostFragment.childFragmentManager.fragments.firstOrNull()}  저렇게 딜레이를 주지 않으면 앱이 시작할때나 특정타이밍에 null인 케이스가 종종 발생한다. 이렇게 딜레이를 주고 값을 받아오는건 좋지 않은 코드이다. 불필요하게 기다릴수도 또는 저 타이밍안에 못들어올수도 있으니, 해당부분과 같은 비동기처리를 하는방법중 ..
구글스토어 다국어 스토어설정 앱을 다국어버전으로 배포하기 위해서 작업을 진행하였고, 앱을 국가별로 다른버전으로 설명과 아이콘등을 변경해줘야해서 작업을 진행하게 되었다 구글링을 진행하니 국가별로 배포할때 완전 다른앱인것처럼 스토어 설정을 다시 하는게 가능했다. 국가별 배포를 하기 위한 순서는 아래와 같다. 1.  구글스토어 -> 배포할 앱 선택   2. 갑작스럽게 다국어를 진행하기전에 또 변경되어서 당혹스러웠지만 사용자늘리기 -> 스토어 등록정보 -> 수정 선택   3. 번역관리 -> 언어선택(저 같은 경우는 기본값을 영어로 작업후 한국을 추가하였다. 이유는 여러국가 배포시 영어가 기본이 되는게 맞는거 같아서?)   4. 원하는 국가별를 선택하여 적용   위와같이 진행한다면 국가별 스토어 입력하는 부분이 생긴다(처음 앱 배포시 적는 ..
캠월드 개발일지 2(디자인가이드 적용) 캠월드 멀티모듈에 이어서 본격 개발을 진행하기전 디자인 가이드 적용을 선행해야 할거같다. 전체적인 색상과 텍스트 스타일, 버튼타입, 리스트타입, 카드타입등등 테마와 공통 컴포넌트 작업을 먼저 진행하였다.(아래는 디자인된 가이드)    먼저 색상을 작업 진행하였고 상황, 상태별 색상을 담기위한 DataClass를 생성하였으며, data class ThemeColor( val primary: Color = Color.Unspecified, val primaryHover: Color = Color.Unspecified, val primaryActive : Color = Color.Unspecified,}  Light  Color 와 Dark Color를 각각 정의를 아래와 같이 진행하고 sta..
안드로이드 구글로그인 기능 회사에서 카카오와 네이버 의외에 구글로그인 기능도 추가 개발을 요구하여 구글 기능을 붙이게 되면서 글을 쓰게 되었습니다. 구글로그인은 예전에 해보고 간만에 해봐서 조금 구글링을 하여 작업을 진행했습니다. 일단 먼저 해줘야하는 Firebase에 앱 등록이 있는데 그건 넘어가도록 하겠습니다. 등록 후 구글 API에 들어가서 사용할 키를 생성해줘야합니다.(클릭)1. 메뉴 > API 및 서비스 > 사용자 인증 정보 클릭  2. 사용자 인증정보 만들기 > OAuth 클라이언트 ID 선택 3. 웹 어플리케이션을 선택 4. 아래와같이 뭐 별다른거 없이 만들기  5. 웹 어플리케이션 다음 Android  어플리케이션 추가를 히야한다. 다음은 위와 다르게 패키지명과 SHA-1인증서 디지털 지문이 필요하다. 지문을 구하는..

반응형