안녕하세요. 이번 포스팅은 웹뷰 시리즈 4번째인 웹뷰에서 쿠키 사용해보기 입니다. 지난 시리즈 동안 웹뷰를 직접 만들어보기도 하고, 생성 및 소멸 단계에 대해 알아보기도 하고, 캐시에 대한 개념도 공부해 보았는데요. 이번엔 웹 페이지에 데이터를 저장하고 불러오는 쿠키와 세션에 대해 학습해보겠습니다. 지난 포스팅이 궁금하신 분들은 아래 링크를 참고해주세요! 2022.12.26 - [Android] - [안드로이드] 웹뷰(WebView)(1) - 앱 브라우저에서 호출 2023.01.03 - [Android] - [안드로이드] 웹뷰(WebView)(2) - 접근과 제어 2023.09.04 - [Android] - [안드로이드] 웹뷰(WebView)(3) - 브라우저 캐시 사용하기 쿠키란? 쿠키(Cookie)는..
에러 내용 빌드를 진행하던 도중 아래와 같은 내용의 에러가 발생하면서 빌드가 캔슬 됨. 2 files found with path 'META-INF/DEPENDENCIES'. Adding a packagingOptions block may help, please refer to https://developer.android.com/reference/tools/gradle-api/7.3/com/android/build/api/dsl/ResourcesPackagingOptions for more information 에러 원인 프로젝트 gradle에 implement 되어있는 외부 라이브러리들의 버전이 변경 혹은 추가 되면서 기존에 존재하던 Meta 파일과 캐시가 중복되는 현상이 발생했기 때문. 해결 방법 ..
코틀린에서 Room을 사용할 때 PrimaryKey로 설정한 Id를 자동으로 생성하고 1씩 증가시키는 방법에 대해 알아보겠습니다. @Entity data class MusicEntity( var id: Long, val data1: String, val data2: String, val data3: Int ) 위의 엔티티 구조로 데이터 클래스를 생성하면 테이블의 필드 값을 입력할 때 id를 직접 선언해주지 않으면 에러가 납니다. 아래와 같이 Long 데이터 타입의 Id를 PrimaryKey로 생성하고 Room 라이브러리의 autoGenerate = true 옵션을 적용시켜주면, Insert 과정에서 id를 직접 입력해주지 않아도 자동으로 생성되며 index를 값으로 가집니다. @Entity data cl..
백준 알고리즘 - 코틀린 풀이 https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 문제 정답 fun main() { val n = readln().toInt() val input = readln().split(" ").map{it.toInt()} println(input.max() * input.min()) } 풀이 1037번 문제는 입력으로 주어진 가장 작은 약수와 가장 큰 약수의 곱으로 출력을 구하는 문제입니다. 약수들의 곱은 곱한 수보..
안녕하세요. 이번 포스팅에선 가로모드에서의 레이아웃을 구현하고 적용시키는 방법에 대해 알아보겠습니다. 진행 순서는 아래와 같습니다. TODO List1. 가로모드(landscape) 레이아웃 생성하기2. 가로모드로 전환하기 - 대응 방식 3. 가로모드로 전환하기 - 고정 방식 개요보통 레이아웃을 디자인 할 때 세로로된 화면만을 디자인하게 됩니다. 그렇게되면 사용자가 화면을 회전하였을 경우 세로와 가로의 비율이 반전되기 때문에 뷰가 사라져 보이거나 아래와 같이 겹쳐 보일 수 있죠. 또한, 대시보드나 동영상 플레이어 같은 앱을 구현할 땐 가로모드를 필수적으로 사용하는 경우도 있기 때문에 구현 방법에 대해 알아보겠습니다. 구현 가로모드 레이아웃 생성하기 activity_main.xml 의 ..
백준 알고리즘 - 코틀린 풀이 https://www.acmicpc.net/problem/5073 5073번: 삼각형과 세 변 각 입력에 맞는 결과 (Equilateral, Isosceles, Scalene, Invalid) 를 출력하시오. www.acmicpc.net 문제 정답 fun main() { while(true) { val input = readln().split(" ").map{it.toInt()}.sorted() if (input.count{it == 0} == 3) { break } else { if (input[2] >= input[0] + input[1]) { println("Invalid") } else { when(input.count { it == input[1] }) { 3 ->..
백준 알고리즘 - 코틀린 풀이 https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 문제 정답 import java.io.BufferedReader import java.io.InputStreamReader fun main(): Unit = with(BufferedReader(InputStreamReader(System.`in`))) { val input = readLine().toInt() val array = A..
백준 알고리즘 - 코틀린 풀이 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,0 www.acmicpc.net 문제 정답 import java.io.BufferedReader import java.io.BufferedWriter import java.io.InputStreamReader import java.io.OutputStreamWriter fun main() = with(BufferedReader(InputStreamReader(Sy..