본문 바로가기

전체 글

(116)
[양평/옥천맛집] 일품 옥천 감자탕 후기 안녕하세요. 와이프와 캠핑후 집으로 귀가하는길 점심을 해결하기 위해 이곳저곳 고민하다가 가게된 양평 옥천 감자탕! 분명 네이버에는 휴무라고 되어있었지만, 일요일에도 영업중이었다. 일요일 점심을 고를땐 대부분다 길가다가 차가 많이 서있는곳을 찾게 되는데 이곳이 딱 그랬다. 주차공간 넓고 딱좋아~  가끔씩은 입구에서 손님 많은지 보고 돌아가기도 하는데 여긴 입구에 보이는 하루 100인분 한정판매가 더욱더 맛집같아 보여서 들어갔다. 가격대는 적당했고, 감자탕을 먹고싶었지만, 와이프와 아침으로 스푸를 먹고 출발한 상태라 감자탕은 투머치 하여 우거지뼈 해장국으로 주문을 시켰다.  밑반찬은 어느 감자탕집과 다를게 없다. 주문하고 나온 나의 우거자뼈해장국 살코기가 매우 부드럽고, 양도 많아서 먹다가 남기고 나왔는데,..
구글스토어 다국어 스토어설정 앱을 다국어버전으로 배포하기 위해서 작업을 진행하였고, 앱을 국가별로 다른버전으로 설명과 아이콘등을 변경해줘야해서 작업을 진행하게 되었다 구글링을 진행하니 국가별로 배포할때 완전 다른앱인것처럼 스토어 설정을 다시 하는게 가능했다. 국가별 배포를 하기 위한 순서는 아래와 같다. 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인증서 디지털 지문이 필요하다. 지문을 구하는..
[캠월드] 캠월드 개발일지 1(멀티모듈 적용) 와이프와 함께 캠핑을 다닌지 벌써 5개월이 된거 같다. 캠핑을 다니면서 든 생각이 좋은 캠핑장은 미리미리 예약이 꽉차있고 몇일부터 캠핑장 예약제가 열리고  전화로만 예약이 가능하고 등등 무수히 다양한 형식으로 되어있어서 앱을 만들어서 관리하고 그 이상으로 유지해 나가보자 라는 형식으로  술잔을 붙이치면서 얘기를 하게 되었고, 언제 개발하냐 이렇게 얘기가 나오다가 본격적으로 개발을 진행하게 되었다. 각자의 일이 있는만큼 빠르게 개발을 진행하지는 못하겠지만 시간이 나는데로 개발을 진행하게 되었다. 일단 유능한 와이프가 디자인을 뽑아서 나온 디자인의 형태  이렇게 이쁘게 디자인을 뽑아주니깐 열심히 한번 만들어 봐야지 하고 개발을 진행하여 오랜만에 github에 들어가 프로젝트를 뚫고 프로젝트 셋팅을 시작! 신..
안드로이드 google-services.json을 여러개 사용하기 회사 서비스 프로젝트를 런칭하고 난 뒤 지속적으로 유지보수를 진행하며, 추가 개발을 진행하여야 해서 프로젝트 관리를 관리하는 부분에 대하여 체크하다가 Firebase에 프로젝트를 추가로 만들어서 google-services.json을 2개를 활용하여 관리하고 싶어졌다. 이유는 사내에서 테스트를 돌려서 발생한 크러쉬 리포트와 릴리즈용 리포트를 별도로 체크를 하는것이며, 각종 수집 데이터 등등 테스트케이스까지 쌓고 싶지가 않아서, 해당부분들을 분리시키기 위해서 작업을 진행하도록 하였다. google-services.json을 2개를 활용하는 방법은 간단하였다. FlavorDimensions을 사용하면 간단하게 할수있다. 1. Firebase에서 프로젝트를 2개 생성(릴리즈용, 개발용) 2. FlavorDim..
안드로이드 해시키(Hash Key) 추출 앱 개발을 진행하면서 페이스북, 카카오sdk를 사용하기 위해서는 해시키(Hash key)를 등록해야한다. 해시키(Hash key)는 기본적으로 디버그용과 릴리즈용이 있으므로 배포전 반드시 체크하여 해시키값을 추출하여 등록하여야한다. private fun getHashKey() { var packageInfo: PackageInfo? = null runCatching { packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES) }.onFailure { it.printStackTrace() }.onSuccess { for (signature in packageInfo!!.signatures) { runCatc..
BottomSheetBehavior 사용법 및 후기 회사 신규 서비스 프로젝트를 진행하면서 골머리를 앓게 만들었던 BottomSheetBehavior... 기본적으로 사용하는 이런 기능은 BottomSheetDialog와 BottomSheetBehavior가 있다. 회사 프로젝트는 바텀시트에서 지속적으로 스택이 쌓여야 하는 기획이므로 BottomSheetBehavior를 사용할수 밖에 없었다. 기본적으로 BottomSheetBehavior를 사용하는 방법이다. behavior_expandedOffset : 바텀시트를 끌어 올렸을때 Top영역부터의 마진값 behavior_fitToContents : 바텀시트 half를 사용할 것인지 유무 behavior_halfExpandedRatio : 바텀시트 half를 화면에서 몇퍼센트정도의 비율로 할것인지 beha..