본문 바로가기

Dev Platfrom/01. Android

App(앱)와 WebVew(웹) 간의 데이터(data) 통신

App(앱)와 WebVew(웹) 간의 데이터(data) 연동(통신)


1. android addjavascriptinterface를 통한 앱과 웹뷰사이의 데이터 연동

addjavascriptinterface API는 안드로이드에서만 제공되는 API이기 때문에 안드로이드 플랫폼에서만 사용할 수 있다는 단점이 있다.

- 예제 소스

[APP]

        [WEB]

 

addjavascriptinterface API를 이용한 앱과 웹 통신이 위와 같다.

원문 : http://devmeteor.springnote.com/pages/7253793

2. PhoneGap을 통한 방식

- 링크 : http://samse.tistory.com/entry/PhoneGap의-통신-방식-분석 / http://ecogeo.tistory.com/299

3. shouldoverrideurlloading API 활용

shouldoverrideurlloading는 웹페이지에서 url 변경하듯이 location.href = "커스텀 스킴 형태로 주소 생성하면 앱에 WebViewClient 로 구현한 shouldoverrideurlloading 가 호출되고 커스텀 스킴 형태로 주소가 들어왔을 경우 내가 하고 싶은일 하고 return true 해주면 되는 형태이다.

- 링크 : http://www.androes.com/119 / http://www.androidpub.com/1974795 / http://nuninaya.tistory.com/536 / http://arsviator.blogspot.kr/2010/08/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-webview%EC%97%90%EC%84%9C-%EC%BB%A4%EC%8A%A4%ED%85%80-scheme-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-use.html

4. 스키마(scheme)를 통해 APP에 데이터 전달

스키마를 이용한 방법은 간단하다. 액션을 받을 Activity에 스키마를 정의 하고 intent를 통하여 해당 데이터를 받으면 된다.

- 스키마를 이용한 intent-filter 정의

- 웹뷰에서 호출 : kakaotalk//hostURL/Test.jsp?parameter1=value1&parameter2=value2

위와 같이 호출하면 해당 스키마가 정의된 Activity가 호출되게 되면 intent를 해당 activity는 getIntent를 이용하여 데이터를 받으면 된다.

'Dev Platfrom > 01. Android' 카테고리의 다른 글

EditText 특수문자 제한  (0) 2012.10.16
Android WebView  (0) 2012.10.12
Android ADB를 이용한 패킷 캡처  (1) 2012.09.26
ScrollView 속성  (0) 2012.09.24
Android for cocos2d  (0) 2012.09.21