2021.12.29 - [side project] - [준비]하이브리드앱 환경 설정
[준비]하이브리드앱 환경 설정
🌺앱의 변화, 다양한 앱의 형태🌺 Native APP 네이티브 앱은 우리가 흔히 말하는 어플리케이션으로 모바일 기기에 최적화된 언어로 개발된 앱으로 안드로이드 SDK를 이용해 자바언어로 만드는 앱
develop-recode.tistory.com
하이브리드앱 개발을 위한 vue.js와 안드로이드 통신하기 with Kotlin
MainActivity.kt
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val webview = findViewById<WebView>(R.id.webview)
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){
WebView.setWebContentsDebuggingEnabled(true)
}
webview.setWebChromeClient(object : WebChromeClient() {
override fun onJsAlert(view: WebView?, url: String?, message: String?, result: JsResult): Boolean {
Toast.makeText(applicationContext, message , Toast.LENGTH_LONG).show()
result.cancel() return true
}
})
val settings = webview.settings
settings.javaScriptEnabled = true
settings.domStorageEnabled = true
webview.addJavascriptInterface(WebViewBridge(this), "WebViewBridge")
webview.loadUrl("http://192.168.35.89:8080/")
}
}
▶ webView.setWebChromeClient 함수의 내부는 vue.js (그냥 js도 가능)에서 alert 함수를 사용하여 알림을 날리면 안드로이드에서 alert함수의 메세지를 가져와 Toast로 나타낸다.
WebViewBridge.kt
class WebViewBridge (private val mContext: Context){
@JavascriptInterface fun callbackUserData(message : String) : String{
Log.i("vue js message", message)
return message
}
}
'side project' 카테고리의 다른 글
[준비]하이브리드앱 환경 설정 With JAVA (4) | 2021.12.29 |
---|---|
2020 한이음 공모전 후기 (0) | 2021.01.19 |
한이음 개발완료 후기 (0) | 2019.10.29 |