분류 전체보기
-
[코틀린 완벽 가이드] 2장 코틀린 언어 기초 (2.1 - 2.2)코틀린 공부/코틀린 2023. 12. 27. 13:12
배우는 내용 변수 정의 가변과 불변 변수 기본 식: 참조, 호출, 단항/이항 연산자 기본 타입과 연산: 수, 문자, 불 값 문자열 타입: 문자열 리터럴과 템플릿, 기본 문자열 연산 배열 타입: 배열 생성과 기본 연산 2.1 기본 문법 2.1.1 주석 1. 한 줄짜리 주석: // // 2. 여러 줄 주석 /* 여러 줄 주석 */ /* 여러 줄 주석 */ 3 KDoc 여러줄 주석: /** KDoc 여러줄 주석 */ /** KDoc 여러줄 주석 */ 2.1.2 변수 정의하기 val 키워드 변수 식별자 : 새 변수에 이름을 부여하고, 나중에 이를 가리킬 때 사용한다. 변수의 초깃값을 정의하는 식 : = 기호 뒤에 온다. fun main() { val a = readln().toInt() val b = readl..
-
[코틀린 완벽 가이드] 1장 강력하고 실용적인 코틀린코틀린 공부/코틀린 2023. 12. 27. 12:17
배우는 내용 : 코틀린이란 무엇인가? 코틀린 생태계를 이루는 주요 구성 요소 1.1 코틀린이란 무엇인가? 코틀린은 안정성, 간결성, 상호 운용성을 강조하는 패러다임, 다중 플랫폼 프로그래밍 언어다. 2010년 하반기에 처음 생겨서 2016년 2월 처음으로 공개 릴리스 됐으며, 안드로이드 개발, 데스크톱 애플리케이션, 서버 측 솔루션 등 여러 개발 분야에서 유망한 도구로 꾸준히 인기를 얻고 있다. 2019년 11월 1.3이 나왔고, 2021년5월 1.5.0이 나왔다. 2017년 구글이 안드로이드 플랫폼의 공식 지원 언어로 코틀린 선택. 이로 인해 코틀린 언어 사용자가 엄청나게 늘어났고, 현재 구글, 아마존, 넷플릭스, Pinterest, 우버 등 여러 회사가 프로덕션 개발에 코틀린을 사용하고 있으며, 코틀..
-
Android Background Service 예제안드로이드 학습/Android 기술면접 대비 코드 2023. 12. 22. 17:44
안드로이드 Background Service를 공부하다가 놀란 부분이 있었다. 다른 블로그들을 찾아봤었을때는 분명이 앱이 종료되도 작업이 계속 수행된다고 적혀있었는데 새로 찾아보니 앱이 API 레벨 26 이상을 대상으로 전용 앱이 포그라운드에 있지 않을 때 시스템에서 백그라운드 서비스 실행에 대한 서비스 실행에 대한 제한을 적용한다고 합니다. 앞으로는 앱에 실행과 무관하게 실행되는 것은 무조건 Foreground를 쓰던가 아니면 예약해서 코드를 실행시키려면 알림매니저나 워크 매니저를 사용해야 하는 것 같다. 그러면 Background Service는 이제 왜 사용하는지 잘 모르겠지만 그래도 알아보자! 아래 예제는 링크에 있는 블로그 예제를 따라 했습니다. AndroidManifest.xml url을 이용..
-
Android Foreground Service 예제안드로이드 학습/Android 기술면접 대비 코드 2023. 12. 22. 17:40
1) 시작전 참고 자료 및 참고 사항 1. Service와 Foreground Service의 전반적인 설명 : 링크 2. 안드로이드 developer 사이트 설명 : 링크 3. API 33, API 34 변동 사항 설명된 블로그 글 : 링크 먼저 알아야 할 내용은 안드로이드 API가 업데이트 될때마다 notification(알림) 이나 Service의 추가 되는 방법이 조금씩 달라진다는 것이다. 구체적으로 예시를 들자면 다른 블로그에 여러 Foreground Service에 Notification을 추가 시키는 방법이 나와있지만, API 33, Android 13 버전 이상에서는 AndroidManifest.xml에 permission을 선언해줘야 notification이 되기 때문에 이전 버전들 내용..
-
[원격제어 서비스 준비 2-1편] Foreground Service란회사 생활/모바일 원격제어 서비스 2023. 12. 20. 11:49
Webrtc의 화면 공유를 진행하기 위해서는 먼저 유저에게 화면 공유에 대한 동의를 받고 유저에게 현재 화면 공유를 진행하고 있다는 표시를 해줘야 한다. 이때 사용하는 것이 Foreground Service다. Webrtc 사용전 유저에게 화면 공유에 대한 허락을 받은 후 Foreground가 실행되고 있지 않다면 앱에 오류가 걸려서 나가진다. Foreground Service는 Service를 상속받아 구현한다. Service의 전반적인 지식을 알고 넘어가면 좀 더 이해하기 쉬울 것이다. (링크) 포그라운드(foreground) 서비스 : 포그라운드 서비스는 사용자에게 보여줘야 하는 작업을 수행 (오디오 앱 - 노래 재생) 어플리케이션이 종료되어도, 다른 앱 사용중에도 실행되고 있다. (명시적으로 종료..
-
MVC 패턴 예제안드로이드 학습/Android 기술면접 대비 코드 2023. 12. 14. 15:37
참고 예제 링크: 링크 MVC 패턴을 실습해보았습니다. geeksforgeeks 예제를 살펴보면서 MVC에 패턴에 대해 학습했습니다. Observer()가 deprecated 되었다고 나와서 PropertyChangeListener 대체 해주었습니다. Github 주소 : 링크 MainActivity.kt 더보기 class MainActivity : AppCompatActivity(), PropertyChangeListener, View.OnClickListener { // creating object of Model class private var myModel: Model? = null // creating object of Button class private var button1: Button? ..
-
[원격제어 서비스 준비 1-2편] WebSocket 코드회사 생활/모바일 원격제어 서비스 2023. 12. 8. 10:42
WebSocket 설명 보기 : 링크 Github 전체 코드 보기 : 링크 안드로이드에서 WebSocket은 대부분 Okhttp3 라이브러리를 사용하는 것으로 보인다. 그래서 Okhttp3 라이브러리를 사용하는 간단히 예제를 만들어 보았다. AndroidManifest.xml build.gradle implementation("com.squareup.okhttp3:okhttp:4.2.1") WebSocketHelper 클래스 더보기 import android.util.Log import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.Response import okhttp3.WebSocket import okhttp3.WebSocketListen..
-
[원격제어 서비스 준비 1-1편] WebSocket이란?회사 생활/모바일 원격제어 서비스 2023. 12. 4. 21:12
WebSocket 예제 보러가기 WebSocket을 알기 위해서는 먼저 HTTP에 대한 지식이 있다면 좀더 이해하기 쉬울 것이다. 1. HTTP란 (HyperText Transfer Protocol) >>> 텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고받을 수 있는 프로토콜이다. (단방향 통신) 사용자가 http가 포함된 url을 통하여 요청(request)을 하면 서버에서는 해당 요청사항에 맞는 결과를 찾아서 사용자에게 응답(response)하는 형태로 동작한다. 특징이라면 요청이 끝나면 연결되있는 것이 아니라 통신이 끊기게 되고 서버는 Client를 기억하지 않는다 (Stateless) Stateless와 Stateful의 의미 : 더보기 Stateless는 클라이언트와 서버 관계에서 서버가 ..
-
안드로이드 화면 공유 및 원격 제어 (WebRTC + Accessibility Service)회사 생활/모바일 원격제어 서비스 2023. 11. 27. 11:02
현재 내가 다니는 회사에서 여러가지 금융 서비스를 제공하고 있는데 그중에 하나가 웹에서 원격으로 모바일 화면을 보고 을 제어하는 서비스를 제공하고 있다. 현재는 회사에서 자체 개발한 서비스가 아닌 'Cobrowse.io'라는 회사의 솔루션을 사용하고 있다. 하지만 현재 회사의 CS팀에서 많이 사용하지는 않지만 매달 약 400달러 정도의 비용이 나가고 있어서 솔루션 업체만큼의 퀄리티는 아니더라도 간단히 대체할수 있는 서비스를 구현하는 업무가 할당되었다. 내가 회사에 입사해서 거의 초창기에 했었던 일이 생각났다. 중간에 안드로이드 정책의 변화에 따라 원격제어를 위해 사용하고 있던 Accessibiltiy Service라는 것이 때문에 앱 출시만으로도 골치 참 아팠었다. (참고: 링크) 그래도 이때는 새로 개..