목록안드로이드 (6)
도대체뭐가문제임
https://beryl-stilton-90e.notion.site/Deeplink-ea1aa2aee5c847f798c8be0dd9b848ee
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..
필요인자 -> 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..