본문 바로가기
반응형

Kotlin20

[Android] 실시간 데이터 처리를 위한 STOMP 사용하기 (Kotlin) 새로운 프로젝트를 하면서 실시간으로 갱신되는 데이터 처리가 필요해서 Web Socket 위에서 동작하는 문자 기반 메세징 프로토콜인 STOMP를 사용했습니다. 이번에는 이 STOMP를 프로젝트에 적용하면서 공부했던 내용들을 정리해보려고 합니다. STOMP를 간단히 설명하면 pub/sub 구조를 이용하여 client와 서버가 통신하는 방법입니다. 기존의 Web Socket은 1:1 통신만이 가능했다면 STOMP는 메시지 브로커가 존재하여 1 : N의 관계를 가질 수 있습니다. Message Broker(메시지 브로커)는 Publisher(송신자)로부터 전달받은 메시지를Subscriber(수신자)로 전달해주는 중간 역할이며 응용 소프트웨어 간에 메시지를 교환할 수 있게 합니다. 그리고 기존에는 WebSock.. 2022. 1. 26.
[Android] 앱, 패키지 설치 여부 확인하기 내 앱에서 다른 앱의 활성화시키려고 할 때 그 앱이 현재 디바이스에 설치가 되어있는지 확인할 필요가 있습니다. 이번에는 PackageManager를 통해 설치 여부를 확인하는 방법을 알아보겠습니다. 아래의 방법을 사용하기 위해서는 기본적으로 앱의 패기지명을 알아야 합니다. 방법 1 val packageName : String = "com.google.android.apps.maps" fun isAppInstalled(packageName : String, packageManager : PackageManager) : Boolean{ return try{ packageManager.getPackageInfo(packageName, 0) true }catch (ex : PackageManager.NameNo.. 2022. 1. 6.
[Android] Fragment에서 View Binding 사용 시 주의사항 안드로이드 공식 문서에서 Fragment의 View Binding 사용에 대하여 다음과 같이 샘플 코드를 제공하고 있습니다. private var _binding: ResultProfileBinding? = null // This property is only valid between onCreateView and // onDestroyView. private val binding get() = _binding!! override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { _binding = ResultProfileBinding.inflate(inflater,.. 2022. 1. 3.
[알고리즘] DFS(Depth-First Search) - 깊이 우선 탐색 DFS는 그래프(Graph)를 탐색하는 방법입니다. 그래프란, 정점(node)과 그 정점을 연결하는 간선(edge)으로 이루어진 자료구조를 말합니다. 코딩 테스트에서 BFS와 단골로 나오는 개념입니다. DFS 깊이 우선 탐색(Depth-First Search) 정의 : 루트 노드(혹은 다른 임의의 노드)에서 시작해서 다음 분기(branch)로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법을 말합니다. 자기 자신을 호출하는 순환 알고리즘이기 때문에 재귀 함수나 스택을 가지고 구현합니다. 이때 주의 사항은 어떤 노드를 방문했었는지 여부를 반드시 검사해야 합니다. 📘 Pseudo Code /** 1. 노드이 갯수 만큼 방문 여부를 위한 배열 생성 후 false로 초기화 (visit 배열) 2. 루트 노드부.. 2021. 12. 1.
[Kotlin] 코틀린(kotlin)의 장단점은 무엇일까? 현재 제가 가장 재미있어하고 좋아하는 언어는 Kotlin입니다. 사실Kotlin을 접한지는 1년도 되지 않았지만 처음 사용할 때 묘한 매력을 느꼈습니다. 그래서 개인 프로젝트를 진행할 때 웬만하면 kotlin과 java를 사용하고 있습니다. 하지만 kotlin을 사용은 하고 있지만 장점과 단점에 대해 너무 모호하게 알고 있다는 생각이 들어서 정리를 해야겠다는 생각을 했습니다. 특징과 철학 일단 장단점을 알아보기 전에 kotlin은 어떤 언어이고 특징을 가졌는지 알아봅시다. Kotlin은 JetBrains에서 개발한 JVM 위에서 동작하는 언어입니다. 현재는 안드로이드 공식 언어로 자리매김을 하였습니다. ✔ 특징 정적 타입 언어 - 모든 프로그래밍 구성 요소의 타입을 컴파일 시점에 알 수 있고 프로그램 안.. 2021. 11. 19.
[Android] Splash 화면 구현하기 (by Kotlin) Splash 화면이란? 앱을 실행할 때 보여주는 시작화면을 말합니다. 짧게는 1초에서 길게는 5초까지 보여줍니다. 보통 앱 실행 시 앱의 정체성을 보여주거나 필요한 데이터를 로딩하기 위해 사용합니다. 하지만 의도적으로 앱 실행을 지연시키거나 작업을 처리하는 용도로 사용하는 것은 지양합니다. Android에서 Splash 화면 구현하기 일반적인 Activity를 구현하는 방식으로 Splash 화면을 구현할 수 있습니다. 하지만 layout.xml 부르게 된다면 오히려 Splash 화면에서 시간과 리소스가 낭비되기 때문에 여기서는 좀 더 효율적인 방법으로 만들어 보겠습니다. 우선 Splash 화면의 배경으로 사용할 xml을 만들어 줍니다. background_splash.xml themes.xml에 styl.. 2021. 10. 13.
반응형

loading