html 에서 아래와같은 태그를 안드로이드 웹뷰에서 사용하고자 한다.


파일 업로드창을 띄워야 하는데 문제는 기존 안드로이드 webview 에서는 공식적으로는 지원하지 않는다는 것이다.
대신 아래와같은 꼼수가 있다.

먼저 아래와같이 webview  에 WebChromeClient 를 셋팅한다.

여기서 중요한점은 @Override 를 쓰면 오류난다는 것이다.
왜냐하면 openFileChooser 메소드는 프레임웍에서 @hidden 처리되어있기때문에 sdk 에서 보이지 않기 때문이다.
하여튼 인앱브라우저에서 파일첨부를 하려고하면 저 메소드가 자동으로 호출되게 된다.

우리가 할일은 위 코드처럼 file chooser 를 열어주고 결과를 uploadMsg 로 다시 돌려주면 된다.
코드는 아래와 같다.


이건 왜 @hidden 처리해놨는지 의문이다.



 
by cranix 2012. 2. 29. 15:51

android 자동빌드환경을 구성할때 가장 힘들었던것이 emulator 가 켜져있어야만 테스트를 돌릴수 있다는 것이었습니다.
google 에서는 emulator 를 자동으로 켜고 부팅시까지 기다리고 자동으로 꺼주는 스크립트를 지원해주지 않는데 자동으로 빌드하기위해선 이런것들이 꼭 필요하기 때문에 직접 만들어보았습니다.

OS 는 윈도우이고 sdk 버젼은 r16 이고 ant build 환경이 갖추어져있다는 가정하에 이 문서를 작성합니다.
(ant 빌드환경 구성방법은 이전 글을 참조하세요.)

build.xml 파일 가운데에 아래 코드를 집어넣습니다.



그리고 아래 명령으로 실행하면 됩니다.


이것은 에뮬레이터가 꺼져있더라도 켠후에 부팅까지 기다려서 컴파일하고 테스트 돌린후에 다시 에뮬레이터를 죽이라는 명령입니다.
 
by cranix 2012. 2. 24. 12:03
| 1 |