개발새발 - IT 기술블로그
article thumbnail
[안드로이드] 웹뷰(WebView)(4) - 쿠키&세션 알아보기🍪
Android 2024. 1. 5. 17:19

안녕하세요. 이번 포스팅은 웹뷰 시리즈 4번째인 웹뷰에서 쿠키 사용해보기 입니다. 지난 시리즈 동안 웹뷰를 직접 만들어보기도 하고, 생성 및 소멸 단계에 대해 알아보기도 하고, 캐시에 대한 개념도 공부해 보았는데요. 이번엔 웹 페이지에 데이터를 저장하고 불러오는 쿠키와 세션에 대해 학습해보겠습니다. 지난 포스팅이 궁금하신 분들은 아래 링크를 참고해주세요! 2022.12.26 - [Android] - [안드로이드] 웹뷰(WebView)(1) - 앱 브라우저에서 호출 2023.01.03 - [Android] - [안드로이드] 웹뷰(WebView)(2) - 접근과 제어 2023.09.04 - [Android] - [안드로이드] 웹뷰(WebView)(3) - 브라우저 캐시 사용하기 쿠키란? 쿠키(Cookie)는..

[안드로이드] 에러 'file found with path 'META-INF/DEPENDENCIES'. Adding a packagingOptions block may help, please refer to...'
Android 2023. 11. 30. 15:33

에러 내용 빌드를 진행하던 도중 아래와 같은 내용의 에러가 발생하면서 빌드가 캔슬 됨. 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 Primary Key 자동 생성 하는 방법
Android 2023. 10. 18. 14:58

코틀린에서 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..

article thumbnail
[백준] 약수(1037번) - 코틀린 풀이
백준 알고리즘 2023. 10. 11. 11:50

백준 알고리즘 - 코틀린 풀이 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번 문제는 입력으로 주어진 가장 작은 약수와 가장 큰 약수의 곱으로 출력을 구하는 문제입니다. 약수들의 곱은 곱한 수보..

article thumbnail
[안드로이드] 가로모드 대응하기(Kotlin)
Android 2023. 10. 10. 12:37

안녕하세요. 이번 포스팅에선 가로모드에서의 레이아웃을 구현하고 적용시키는 방법에 대해 알아보겠습니다. 진행 순서는 아래와 같습니다. TODO List 1. 가로모드(landscape) 레이아웃 생성하기 2. 가로모드로 전환하기 - 대응 방식 3. 가로모드로 전환하기 - 고정 방식 개요 보통 레이아웃을 디자인 할 때 세로로된 화면만을 디자인하게 됩니다. 그렇게되면 사용자가 화면을 회전하였을 경우 세로와 가로의 비율이 반전되기 때문에 뷰가 사라져 보이거나 아래와 같이 겹쳐 보일 수 있죠. 또한, 대시보드나 동영상 플레이어 같은 앱을 구현할 땐 가로모드를 필수적으로 사용하는 경우도 있기 때문에 구현 방법에 대해 알아보겠습니다. 구현 가로모드 레이아웃 생성하기 activity_main.xml 의 가로모드 레이아..

article thumbnail
[백준] 삼각형과 세변(5073번) - 코틀린 풀이
백준 알고리즘 2023. 10. 6. 11:15

백준 알고리즘 - 코틀린 풀이 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 ->..

article thumbnail
[백준] 제로(10773번) - 코틀린 풀이
백준 알고리즘 2023. 10. 5. 16:18

백준 알고리즘 - 코틀린 풀이 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..

article thumbnail
[백준] 숫자 카드2(10816번) - 코틀린 풀이
백준 알고리즘 2023. 10. 4. 11:31

백준 알고리즘 - 코틀린 풀이 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..