목록분류 전체보기 (15)
도대체뭐가문제임
방법1. Homebrew를 통해 다운로드 터미널에서 다음 명령어를 실행한다. brew install --cask docker 설치 완료 방법2. 설치파일 다운로드 1. 아래 공식 사이트에서 Docker 설치파일을 다운로드한다. https://docs.docker.com/docker-for-mac/install/ Install Docker Desktop on Mac docs.docker.com Apple Sillicon 맥북을 제외한 맥은 Intel chip 버전을 다운받는다. 2. Docker.dmg파일을 실행하고 Docker 아이콘을 Applications 폴더로 옮긴다. 위 두 가지 방법 중 하나로 설치하고 Docker를 실행한다. 실행 → 열기 → OK 설치 완료.
AndroidBridge는 웹에서 JavaScript로 Android의 함수를 호출할 수 있도록 도와주는 기능이다. AndroidBridge를 사용하기 위해서 webView를 다음과 같이 세팅해준다. override fun onCreate() { val webView = findViewById(R.id.main_web_view) webView.setting.javaScriptEnabled = true webView.addJavascriptInterface(/*BridgeClass명*/, /*호출에 사용할 고유 이름*/) } 이 예제에서는 BridgeClass명은 AndroidBridge, 호출에 사용할 고유이름은 Bridge로 할 것이다. 위의 addJavascriptInterface는 다음과 같이 된다..
안드로이드를 공부하다 보면 안드로이드 운영체제의 근본이 궁금해진다. 그럴 때마다 구글에 안드로이드의 기본구조를 검색해보게 된다. 그리고 항상 이 이미지를 보게된다. 안드로이드 플랫폼의 주요 구성요소이다. 제일 아래부터 나열해보면 아래와 같다. 1. Linux Kernal 2. HAL(Hardware Abstraction Layer) 3. Android Runtime(ART) 4. Native C/C++ Library 5. Java API FrameWork 6. System Apps 1. Linux Kernal 제일 아래 리눅스 커널부터 알아보자. 안드로이드 운영체제는 오픈소스 운영체제인 리눅스 커널 기반이다. 시스템전체의 중심역할로서 메모리, 보안, 전원, 하드워어 장치 드라이버등과 같은 것들이 이 리눅..
핸들러를 이용한 방법 private var doubleBackToExitPressedOnce = false override fun onBackPressed() { if (doubleBackToExitPressedOnce) { finishAffinity() return } doubleBackToExitPressedOnce = true Toast.makeText(this, "뒤로가기 버튼을 한 번 더 누르면 종료됩니다.", Toast.LENGTH_SHORT).show() Handler().postDelayed({ doubleBackToExitPressedOnce = false }, 2000) } } RxJava를 이용한 방법 private var doubleBackToExitPressedOnce = fals..
개발을 처음 접할때는 변수라는 개념부터 잘 와닿지 않았다. 일상에서 사용하는 변수라는 단어는 한자의미 그대로 "변할 수 있는 수" 였다. 하지만 프로그래밍에선 변수(Variable)에 [저장공간]의 개념이 붙는다. 저장공간(메모리) 안에 담기는 수가 변할 수 있기 때문에 변수라고 부르는 것이다. 메모리에 담기는 변하지 않는 수는 상수라고 부른다. 처음 혼자 개발을 할 땐 변수명이 그다지 중요한 요소가 아니었다. 프로젝트의 규모도 크지 않고 개발하는 스스로만 구분할 수 있다면 이름이 a, b, c라도 상관이 없었다. 하지만 여러사람과 함께 개발을 하고 프로젝트의 규모가 생기면서 변수명은 생산성에 중요한 요소가 되었다. 목적에 맞는 올바른 이름을 가진 변수는 변수명을 읽는 것만으로도 어느정도 역할을 파악할 ..
필요인자 -> url : String 원하는 호출 시점에 다음 코드를 추가한다. startActivity(Intent(ACTION_VIEW, Uri.parse(url)))
finish() /** * Call this when your activity is done and should be closed. The * ActivityResult is propagated back to whoever launched you via * onActivityResult(). */ public void finish() { finish(DONT_FINISH_TASK_WITH_ACTIVITY); } Activity를 종료하는 대표적인 함수다. 해당 Activity를 startActivityForResult()로 호출했다면 호출한 부모Activity에 대해서는 현재 Activity를 종료함과 동시에 ActivityResult를 onActivityResult()함수를 통해 전달한다. finish..