WebView 로 브라우저만들때
웹페이지의 첨부파일다운로드받을때 어떻게받을수있나요?
특정경로를 정해서 다운로드받게만들수는없을까요?
그리고
웹페이지의 클릭이벤트를 받아서
내앱에서 처리하게하고싶은데
어떤방식으로 접근해야되나요?
답변감사합니다
첨부파일다운로드 링크를 클릭했을때
그링크의 url 이 어떻게되는지를 알아야 다운받을수있을것같은데
그링크의 url 을 알아내는방법이 있나여?
음.. 웹페이지와 같이 연동해서 만드신다면, 특정 버튼 클릭 시 어플에서 이벤트처리 할 수 있습니다.
(방법은 여러가지 있습니다.)
제 경우는 서버와 alert메시지를 연동하여 그 내부의 내용을 파싱해서 특정 이벤트 처리를 하기도 하구요..
또는 url등을 catch해서, 해당 url을 연동하기도 합니다.
그 외에 다른 방법으로는 서버와 메서드를 공유하여 만들어서, 처리할 수 도 있겠구요...(이게 무슨 이름이 있었는데 까먹었네요..;; 생각나면 추가 답글 달아드릴께요..^^)
url을 catch하는 방법은 아래와 같습니다.
웹뷰에서 setWebViewClient 메소드를 이용하여 WebViewClient 리스너 등록해주시고,
@Override
public boolean shouldOverrideUrlLoading(WebView view, String overrideUrl) {
}
해당 메서드 오버라이드 해주시면 overrideUrl로 url을 catch할 수 있습니다.
WebView web = new WebView();
web.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String overrideUrl) {
//overrideUrl 이 원하시는 url입니다.
....
return false;//요 리턴은 false는 google브라우저가 처리한다는거고, true는 어플에서 사용한다는거에요^^. 쉽게 touchlistener의 boolean과 같은 의미라고 보시면대여.
}
}
}
서버와 메서드 공유하며 처리한다는거 이름이 기억났네요.ㅋㅋ
javascrpitInterface네요.. webView에서 addJavaScriptInterface라는 것이 있습니다.
develop사이트 : http://developer.android.com/guide/webapps/webview.html#BindingJavaScript
원형은 public void addJavascriptInterface(Object obj, String interfaceName)




특정 경로를 통해서 다운로드 받을수 있구요
http://surprisen.egloos.com/2196824 이정도 소스면 다른 파일들도 다운로드소스를 작성하실수 있으실거 같습니다
웹페이지에서 클릭이벤트를 받는다는게 좀 어려울 수도 있는데요
다른 레이아웃 경우에는 클릭하면 버튼이 눌러지던가 이런걸 지정이 가능한데 비해
웹뷰같은 경우에는 터치를 했을경우에 터치한곳의 url로 이동 이라는 기본적인 이벤트가 있어서 처리하기 까다로우실거 같습니다.
일단은 실험 해 보셔야 하겠지만 onClickLisner 이나 onTouchLisner쪽으로 보셔야 할거 같아요