webview(3)
-
Android의 WebView를 사용할 때, 클라이언트 에러를 추적하는 방법 정리.
WevView를 세팅해보자. 우선은 레이아웃을 만들어보자. 웹뷰를 액티비티 한 가득 띄워놓을거니까, 아래처럼 xml파일을 작성하면 된다. xml파일의 작성이 끝났다면, 이번에는 Activity를 만들 차례다. 파일을 하나 생성해서 Activity를 상속받은 클래스를 하나 만들어주고, 아까전에 생성한 xml파일을 setContentView로 때려박아주자. 그 뒤 webView의 loadUrl을 호출해주면, 웹 뷰를 사용할 준비는 대충 끝났다. class MainActivity: Activity() { override fun onCreate(savedInstanceState: Bundle?) { //레이아웃 세팅 super.onCreate(savedInstanceState) setContentView(R.l..
2020.03.02 -
WebView에서 Alert가 동작하지 않을 때
WebView와 WebSettings라는 글에서 알 수 있듯이, 최근에 WebView를 사용한 기능을 추가하는 작업을 진행했다. 버튼을 누르면 WebView가 표시된 Activity를 출력해주고, WebView에서의 작업이 끝나면 기존의 Activity로 돌아가는 기능이었다. 기능을 추가하고났더니 담당자로부터 다시 한 번 메일로 연락이 왔다. 기능이 제대로 동작하지 않는다는 내용이었는데, 무슨 기능인지 다시 문의하고나니 Alert가 출력되지 않는다는 것이었다. WebView의 WebSettings를 이용해서 javascript를 사용하도록 설정하더라도, alert는 동작하지 않는다. alert자체가 Javascript에서 지원하는 게 아니라, 브라우저에서 지원하는 Web API이기 때문인 듯 하다. 다행..
2019.03.05 -
WebView와 WebSettings
WebView를 사용하면 웹 페이지를 Android의 레이아웃에 표시하는 것이 가능하다. 다만 설정을 변경해주지 않으면 Javascript를 사용하지 못하는 등, 여러가지 제약사항이 발생한다. 아래의 코드를 참조하자. WebView webView = (WebView)findViewById(R.id.id_webview); webView.setWebViewClient(new WebViewClient()); webView.loadUrl("https://www.google.com"); layout의 id_webview를 불러온 후, 구글 검색페이지을 로드한다. 이 코드를 실행하면 구글 페이지가 WebView에 로드되는 것을 확인할 수 있다. 하지만 기본적으로 WebView는 Javascript를 실행하지 않도록..
2019.02.12