전체 글(110)
-
Android Bitmap rotate, resize, combine Kotlin
개인 프로젝트를 진행하며 비트맵을 다루게 되어 세가지 함수를 만들었다. 다른 분들도 도움이 되길 바라면서 사용했으면 싶어서 소개한다. 1. rotate Bitmap - 비트맵 회전 fun rotateBitmap(bitmap: Bitmap, angle: Float): Bitmap { val matrix = Matrix() matrix.setRotate(angle) return Bitmap.createBitmap(bitmap, 0, 0, bitmap.width, bitmap.height, matrix, true) } 예시 rotateBitmap(pictureImg.toBitmap(), 90f) 시계 방향 90도 회전된 비트맵을 만들어준다. 2. resize Bitmap - 비트맵 사이즈 변경 fun resi..
2023.07.28 -
Prim Algorithm kotlin
Prim Algorithm 특징 무향 그래프에 적용 가능 모든 꼭지점을 포함하는 최소 신장 트리를 알 수 있다. ( MST ) 개념 0-4까지 5개의 노드가 있고 아주 특별한 주머니가 하나 있다. 이 주머니는 안에 들어있는 값들 중 가장 작은 값을 뱉는다. 이제 정점들을 모두 포함하고 가중치의 합이 가장 작은 신장 트리를 Prim Algorithm을 이용해 구해보자. 아무 노드 하나를 골라보자. 2번을 선택하자. 2번 정점을 이제 주머니에 넣자. 현재 거리 합계 : 0 방문 상황: 0 -> 미방문 , 1 -> 방문 0번 0 1번 0 2번 0 3번 0 4번 0 특별한 주머니에서 하나 꺼내보니 방금 넣었던 2번 정점이 들어있다. 이제 2번 정점으로 가자. 2번 정점은 방문 처리를 한다. 2번이 시작 거리이므..
2023.06.21 -
coroutine dispatchers, Flow Hot & Cold
이번에는 coroutine의 context와 dispatchers에 대해 알아보자. 공홈 https://kotlinlang.org/docs/coroutine-context-and-dispatchers.html Coroutine context and dispatchers | Kotlin kotlinlang.org 예제 1 launch 4개를 생성하고 개별로 Dispatchers를 지정한다. 무언가 하는데 아직 잘 이해가 안 된다. Coroutine context는 무엇이고 Dispatcher는 어떤 역할을 하는 걸까? 먼저 아래에 작동 결과를 보자. 결과 1번 dispatcher가 지정되지 않은 launch의 출력 결과는 main Thread, coroutine#2에서 task를 처리한다. 2번은 Disp..
2023.06.13 -
coroutine suspend function, async, await
예제 1 suspend function의 사용이 나왔다. suspend function은 뭘까? 어떻게 작동할까? 정확한 정의를 모르겠다. 코드를 통해 일단 어떻게 작동하는지 알아보자. 먼저 suspend function으로 만든 두 개의 함수가 있다. 각 각 one, two라는 변수로 할당한다. 그리고 실행하면 결과는 아래와 같다. 두 함수의 결과를 더한 값이 나오고 시간은 약 2초가 걸린다. 2초가 걸린다는건 doSomethingUsefulone에서 1초 delay 후 doSomethingUsefultwo에서 1초가 걸린다는 뜻이 된다. suspend fun 두 개가 실행됐는데 순차적으로 하나씩 실행을 하고 결과를 반환한다는 의미이다. suspend fuc은 동기적으로 실행한다는 의미? 아직 susp..
2023.06.12 -
coroutine basic
https://kotlinlang.org/docs/coroutines-basics.html#your-first-coroutine Coroutines basics | Kotlin kotlinlang.orgYour first coroutinerunBlocking과 launch, delay가 있다. 각 각의 역할은 무엇일까. 글에서 말하길 runBlocking은 Builder, launch는 Scope이몀서 job, delay는 suspend fun이다. Builder는 무엇이고 Scope는 또 무엇일까? 첫 번째 예제만으로는 부족하다. 예제 1위의 코드와의 차이점을 생각해 볼 수 있다. Thread를 통해 sleep 하면 출력은 Hello 가 찍히고 World가 찍힌다. sleep으로 얼마큼 delay 할까..
2023.06.10 -
Android Service 정리 자세하게
이번 포스트에서는 Android 4대 컴포넌트 중 하나인 Service에 대해 알아보겠습니다. Service 1. Foreground Service 2. Background Service 3. Bound Service Q. Service란 무엇인가요? Android Service란 음악 재생, 네트워크 트랜잭션 처리, 콘텐츠 프로바이더 등과 같은 오랜 시간 걸리는 작업을 백그라운드에서 수행하는 애플리케이션 구성 요소입니다. UI가 없으며 생명주기를 가지고 있어 주기에 맞게 관리해야 합니다. 구현을 위해 Service 인터페이스를 상속받고 콜백 메서드를 구현하고 startService() 메서드를 호출하여 Service를 시작하며 stopService()를 호출하여 중지할 수 있습니다. Q. Foregro..
2023.06.01