2014-08-29 4 views
1

안녕하세요, webview html 요소에서 가치를 얻을 수있는 방법이 있는지 알고 싶습니다. 이 google.com 페이지가 webview에로드와 내가 webview에서로드 페이지를했다android에서 webview의 텍스트 상자에서 가치를 얻는 방법?

package example.samplewebview; 

import android.annotation.SuppressLint; 
import android.app.Activity; 
import android.os.Bundle; 
import android.webkit.WebView; 

public class MainActivity extends Activity { 
    WebView wv; 

    @SuppressLint("SetJavaScriptEnabled") 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     wv = (WebView) findViewById(R.id.webView1); 
     wv.getSettings().setJavaScriptEnabled(true); 
     wv.loadUrl("http://www.google.com"); 
     wv.get 
    } 
} 

을 다음과 같이. 지금 그 검색에서 가치를 얻고 싶습니다 textbox 및 데이터베이스에 저장 어떤 도움을 주셔서 감사합니다.

+0

Selendroid를 살펴보십시오. 나는 그것을 할 수있을 것이라고 생각한다. – stealthjong

+0

멀리 Selenadroid에 대한 나의 지식으로 테스트 프레임 워크. 당신은 좀 더 사양을 제공해 주시기 바랍니다. 그것이 어떻게 사용될 수 있는지에 관해서. –

+0

Selendroid의 작동 방식을 정확히 알지 못합니다 (셀레늄 만 사용). 테스트 목적으로 자주 사용되지만 웹 사이트에서 정보를 추출하는 등 브라우저와 상호 작용할 수있는 가능성을 제공합니다. selendroids 사이트에는 Androids WebView와도 상호 작용할 수 있다고 나와 있습니다. 이는 귀하의 요구에 적합해야 함을 의미합니다. 그냥 Google selendroid. 나는 그것이 효과가 있어야한다고 생각한다. – stealthjong

답변

2

Google이 아니지만 수정할 수있는 자신의 웹 사이트를 사용한다고 가정하면 웹 페이지에 자바 스크립트를 배치하고 Android 앱 내부에서 기본 메소드를 호출하고 값을 제출하는 것이 좋습니다. 이 텍스트 필드에서

이미 해당 주제에 대한 스레드가 있습니다. android - get Text out of webview

+0

사실이 스레드를 이미 읽었지만 웹 서버에 값을 제출합니다. 자바의 액티비티가 확장 된 클래스에서 백엔드 값을 원합니다. –

+0

첫 번째 대답은 페이지가로드 된 경우 기본 안드로이드 레이어로 데이터를 전달합니다. 사용자가 버튼 등을 누르면 데이터를 Android 레이어로 전달할 수 있습니다. 그 시점까지 답은 당신을 올바른 방향으로 향하게합니다. – sschrass

+0

view.loadUrl ("javascript : window.INTERFACE.processContent (document.getElementsByTagName ('body') [0] .innerText);"); 이로드 URL에 void 유형이 있으므로 문자열 s = view.loadUrl ("javacript : window.INTERFACE.processContent (document.getElementsByTagName ('body') [0] .innerText);"); 그 textbox 값이 android 레이어에 있다면 어떻게하면 안드로이드 (java) 변수에 저장할 수 있습니까 –

관련 문제