분류 전체보기

안드로이드/이론

[ 안드로이드 ] local.properties를 이용하여 API Key 안전하게 보관하기

개인적으로 서버 URL이나 API KEY 등이 외부에 노출되는 것을 꺼리는데, 서버 URL이나 API KEY를 소스 코드에 그대로 작성하고 프로젝트를 GitHub에 업로드하면 그대로 노출되기 때문에 이는 따로 관리해주는게 좋다. 해당 게시글에선 서버 URL를 예시로 사용한다. local.properties를 통해 안전하게 보관하기 1. local.properties 작성 // local.properties sdk.dir = Sdk 경로 base.url = "서버의 주소" 위와 같이 local.properties를 작성해준다. (sdk 경로는 미리 작성 되어 있을 것이므로 건드리지 않아도 된다.) 2. build.gradle 수정 2-1 Groovy인 경우 Properties properties = new..

BOJ

[ 백준 4354 ] - 문자열 제곱 (Kotlin)

4354번: 문자열 제곱 알파벳 소문자로 이루어진 두 문자열 a와 b가 주어졌을 때, a*b는 두 문자열을 이어붙이는 것을 뜻한다. 예를 들어, a="abc", b="def"일 때, a*b="abcdef"이다. 이러한 이어 붙이는 것을 곱셈으로 생각한다 www.acmicpc.net 문제 이해 & 기본 개념 s = a ^ n을 만족하는 최대의 n을 구해야하는 문제이므로, a의 길이가 가장 작은 경우를 찾아야하는 문제이다. 해당 문제는 kmp 알고리즘 중에서 최대 접두부 테이블을 이용하여 풀 수 있는데, 예시로 "ababab" 에 대한 최대 접두부 테이블은 아래와 같다. a b a b a b 0 0 1 2 3 4 테이블을 잘 보면 처음 ab에선 0 0이고 그 이후부턴 1 2 3 4로 계속 이어지는 것을 볼 ..

BOJ

[ 백준 16197 ] - 두 동전 (Kotlin)

16197번: 두 동전 N×M 크기의 보드와 4개의 버튼으로 이루어진 게임이 있다. 보드는 1×1크기의 정사각형 칸으로 나누어져 있고, 각각의 칸은 비어있거나, 벽이다. 두 개의 빈 칸에는 동전이 하나씩 놓여져 있고, www.acmicpc.net 문제 이해 두 개의 동전 중 하나만을 떨어뜨리기 위해 눌러야하는 최소의 버튼 횟수를 구하는 문제였다. bfs를 사용하면 처음으로 동전 하나만 떨어지는 경우가 최소 횟수가 되므로, bfs를 선택 풀이 bfs를 사용하면 그리 어렵지 않게 풀 수 있는 문제인 것 같다. 큐 두 개로 동전 각각의 위치를 매번 갱신하면서 동전이 하나만 떨어지는지를 체크하면 된다 동전이 하나만 떨어지는 경우는 xor를 사용하면 간단히 체크할 수 있다. if(coin1Dropped xor c..

안드로이드/이론

[ 안드로이드 ] Fragment Add시 밑의 Fragment 클릭되는 문제

https://minchanyoun.tistory.com/132 [Android] Fragment Add시 뒤에 Fragment 클릭되는 문제 해결방법 안녕하세요~ 챠니입니다! :) 예를 들어 FragmentA에서 FragmentB를 add 했을 때 FragmentA위에 FragmentB가 쌓이게 되는데 이때 FragmentA의 화면의 버튼이나 클릭할 수 있는 것들이 클릭되는 문제를 해결하는 minchanyoun.tistory.com 위에 올라온 Fragment의 최상단 레이아웃에 ``` android:clickable=true``` 작성

안드로이드/이론

[ 안드로이드 ] Livedata Observer 등록하자 마자 호출되는 경우 or 중복 호출

안드로이드의 Livedata에 Observer를 걸어 사용하던 중 Observer를 등록하자마자 호출이 되어 코드가 실행되는 경우가 있었다. https://stackoverflow.com/questions/50236778/why-livedata-observer-is-being-triggered-twice-for-a-newly-attached-observer Why LiveData observer is being triggered twice for a newly attached observer My understanding on LiveData is that, it will trigger observer on the current state change of data, and not a series of ..

디자인

디자인 일러스트, 애니메이션 사이트 모음

1. Lottie https://lottiefiles.com/ LottieFiles: Download Free lightweight animations for website & apps. Effortlessly bring the smallest, free, ready-to-use motion graphics for the web, app, social, and designs. Create, edit, test, collaborate, and ship Lottie animations in no time! lottiefiles.com Lottie는 Gif보다 좋은 성능으로 애니메이션을 표현할 수 있게 해주는 라이브러리다. 안드로이드에서 Gif 사용시 성능 저하가 생길 수 있는데, Lottie를 사용하면 성능..

안드로이드/이론

[ 안드로이드 ] BottomSheetDialog에서 Fragment로 값 전달

BottomSheetDialog에서 Fragment로 값 전달하기 안드로이드 앱 개발 중 Fragment에서 BottomSheetDialog를 띄우고, 해당 BottomSheetDialog에서 입력된 값을 가져와야하는 상황이 생겼다. 당연히 DataBinding으로는 해결이 안되므로, 인터페이스를 활용한다. 1. 데이터 전달을 위한 인터페이스 생성 AddClassFragment.kt (BottomSheetDialogFragment) class AddClassFragment : BottomSheetDialogFragment() { /** AddClassBottomSheet의 데이터를 전달하기위한 인터페이스 */ interface BottomSheedDataReciever{ fun setClassDatas(..

안드로이드/이론

[ 안드로이드 ] 외부 라이브러리 커스텀하기

https://github.com/tlaabs/TimetableView GitHub - tlaabs/TimetableView: Android Library that creates simple timetable. Android Library that creates simple timetable. Contribute to tlaabs/TimetableView development by creating an account on GitHub. github.com 시간표를 구현하기 위해 위의 라이브러리를 선택 했으나, 위의 라이브러리에는 몇 가지 지원 안되는 기능이 있었다. 테이블 헤더 높이 조절 불가 폰트 및 글자 크기 조절 불가 시간표 색상 선택 불가 (기본 컬러 조합으로 세팅 되어있음) 위의 기능들을 추가하..

dongx._.2
'분류 전체보기' 카테고리의 글 목록 (10 Page)