메뉴를 이동해도 이전에 보던 프래그먼트의 상태가 유지되도록 하단 네비바를 만드는 방법이다. 3개의 메뉴를 가진 네비게이션 바를 만들어보자 네비게이션 기능에 필요한 파일 총 4개 (네비 조작에 의해 바뀌는 화면fragment 제외) navi_menu.xml : 네비게이션의 메뉴 구성 NaviActivity.kt : 네비게이션 항목 선택에 따라 띄울 화면(fragment)을 컨트롤 activity_navi.xml : NaviActivity.kt와 연결된 뷰 menu_selector_color.xml : 네비바의 선택된 항목과 선택되지 않은 항목의 색 구분하여 설정 가능 완성화면 코드부터 보자. 설명은 맨 아래에 있으니 참고 navi_menu.xml activity_navi.xml NaviActivity.kt..
단축한 url 주소 https://bit.ly/3yAt3za
앱 빌드 중 이런 오류가 났다 찾아보니 multidex라는 걸 사용해야 한다고 한다 minSdkVersion 값에 따라 해결방법이 다르다고 하니 맨 아래 링크 참고. minSdkVersion은 build.gradle :app에서 확인할 수 있다. 나는 minSdkVersion이 20이하였다. build.gradle :app android { ... defaultConfig { ... multiDexEnabled true //추가 } ... dependencies { ... implementation 'com.android.support:multidex:1.0.3' //추가 } AndroidMeifest.xml 나는 AndroidMenifest.xml 에서 위에 코드를 넣으라고 해서 했다가 오류가 나서 한..
관광공사의 Tour Api 국문관광정보 활용 작업 중 Retrofit 으로 api와 통신하는 과정에서 해결이 어려웠던 오류 W/System.err: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 79 path $.response.body.items json 데이터를 받아오는 데 받아오는 json내용 중간에 { }가 아닌 [ ]로 감싸진 배열형태가 존재 그 부분에서 에러가 남 에러 메세지 내용 : Expected BEGIN_OBJECT but was STRING.. 즉 { }가 올 자리에 [ ]가 있어서 오류가 났다 json의 이런 ..
새 프로젝트를 만들었는데 갑자기 안드로이드 스튜디오 창에서 잘 쓰던 하단 메뉴바가 사라졌다 다시 보이는 방법을 검색해봤는데 네비게이션바 만드는 법이랑 액션바(앱바) 없애는 방법만 수두룩.. 그냥 내가 메뉴 뒤져서 찾았다 잘 개발하던 환경이 갑자기 변했는데 돌릴 방법을 몰라서 허둥대는 건 슬픈 시간낭비다. 메뉴바들이 사라진 화면 메뉴 View > Appearance > Tool Window Bars 선택해서 체크해줌 하단, 양옆 메뉴바들 나타난 모습 작은 Tip이었다 끝
문제 상황 RecyclerView의 아이템에 setOnClickListener온클릭리스너를 달아 뭔가 동작을 수행할 때 리사이클뷰가 있는 Activity의 context가 필요하면 그동안은 다 액티비티의 this를 전달해서 사용하니 해결되었다 그런데 액티비티를 종료하는 finish()나 startActivityForResult로 실행한 후 resultCode를 전달하는 setResult는 내가 해왔던 것처럼 Activity에서 this로 전달받은 context로는 사용할 수 없었다. 구글링하니 자바로 하는 방법은 많이 나오는데 해당 자바 코드를 kotlin에서 어떻게 활용해야할 지 몰랐고 kotlin으로 하는 방법은 찾기까지 시간이 꽤 걸렸기에 글쓴다. 꼭 RecyclerView나 ListView의 Ad..
카카오맵 api를 활용해서 원하는 좌표상 위치를 지도의 중심점으로 설정하고 마커를 표시하자 ** 이 글은 아래 글과 이어진다. 카카오맵 사용 시작부터 알고 싶다면 아래 링크 참고 https://onedaythreecoding.tistory.com/7 [Android/Kotlin] 카카오맵 KakaoMap API 시작하기 : MapView, 초기설정 카카오맵으로 안드로이드 앱에 지도 띄우기 카카오 공식 문서만 보고 해보려다가 처음 해보는 사람 입장에서는 모르는 부분들이 꽤나 있어 도움이 되고자 글쓴다. 결과물 1. SDK파일 다운로드 카 onedaythreecoding.tistory.com 결과물 activity_main.xml MainActivity.kt package com.example.kakaoma..
카카오맵으로 안드로이드 앱에 지도 띄우기 카카오 공식 문서만 보고 해보려다가 처음 해보는 사람 입장에서는 모르는 부분들이 꽤나 있어 도움이 되고자 글쓴다. 결과물 1. SDK파일 다운로드 카카오 공식문서에서 DownLoad SDK 버튼을 눌러 다운받고 압축을 푼다. 위치는 상관 없다. 카카오 공식 문서 : https://apis.map.kakao.com/android/guide/ 2. 카카오 개발자 사이트 - 개발자 등록, 앱 생성 개발자 사이트 https://developers.kakao.com/ 에서 개발자등록을 하고 앱을 생성한다. 내 안드로이드 프로젝트 파일의 패키지명이 필요하다. 패키지명은 프로젝트 파일 중 AndroidManifest.xml 상단에서 확인할 수 있다. ** 내 프로젝트의 디버그..
현재 액티비티에서 다른 액티비티를 실행해 어떤 내용을 실행한 후 결과값을 현재 액티비티로 다시 가져오는 방법 (급한 분은 바로 MainActivity.kt코드로 내려가기) A, B 두 액티비티가 있다고 하자. A에서 B를 실행할 건데, 일반적인 액티비티 실행과 마찬가지로 intent를 생성하고 startActivity 대신 startActivityForResult를 사용해 B를 띄운다. startActivity는 인수로 intent만 들어갔지만 startActivityForResult의 인수로는 intent와 requestCode가 들어간다. 이 requestCode는 이후 다시 B로부터 값을 받아올 때 이 액티비티가 B가 맞는지 식별하는 역할을 한다. (A액티비티에서 B말고도 다른 액티비티를 start..
user 확인하기 현재 계정의 닉네임 확인하기 git config user.name 닉네임이 한글이면 아무것도 안 뜰 수도 있다. 그럴 땐 이메일을 활용하자 현재 계정의 이메일 확인하기 git config user.email 현재 계정의 이메일 주소를 확인할 수 있다. user 설정하기 확인했는데 빈 칸으로 뜬다면 설정이 안 되어 있는 것이다. user.name, user.email 설정하기 git config user.name git config user.email
EditText 태그에 아래 속성을 추가해주면 된다. 이것도 동일한 동작을 한다. 참고 https://kerneler.tistory.com/7
[개요] GitLab에서 현재까지 원격 저장소에 연결해 사용중이던 프로젝트를 같은 GitLab의 다른 원격 저장소로 그대로 옮기고 싶다. 커밋메세지까지 그대로 옮길 수 있는 방법이 있다고 한다. [실행] 아래 명령어를 따라 입력한다. cd 작업할위치로이동 git clone --mirror 기존원격레포주소 cd 기존원격레포이름.git git remote set-url --push origin 새원격레포주소 git push --mirror **레포=레파지토리 git clone --mirror 까지 하면 작업중인 위치에 기존원격레포이름.git 이라는 폴더가 생긴다. 해당 폴더 위치로 이동해 remote명령어를 실행하라는 뜻이다. 기존 원격 레포 이름은 작업중인 폴더에 들어가서 위에 언급한 새로 생긴 폴더명을 ..
kotlin extension이 지원하는 id값으로 바로 뷰 요소에 접근하는 방식이 오류가 많아서 현재 구글에서 kotlin extension의 사용을 권장하지 않고 있다. (원래는 안드로이드 프로젝트를 새로 만들 때 자동으로 포함되어있었는데 지금은 포함되어있지 않음) 잘 쓰던 걸 권장하지 않는데는 이유가 있을 터.. 다른 방법을 사용해보자. 뷰 바인딩View Binding은? findViewById의 기능을 대부분의 경우 대체할 수 있음 Gradle파일에 뷰바인딩 사용 설정을 하면 모든 XML파일 마다 바인딩 클래스를 자동으로 생성함 원하는 XML의 바인딩 클래스를 사용해 id값이 있는 뷰 요소에 접근할 수 있음 id값을 갖고 있는 뷰 요소에만 접근할 수 있음!! -> 널포인터 오류 방지 가능 find..