Pasar datos de la clase java a la vista web html

Estoy cargando este html en mi vista web

https://mail-attachment.googleusercontent.com/attachment/?ui=2&ik=25c0c425c6&view=att&th=138db54ff27ad34b&attid=0.1&disp=inline&realattid=f_h5ahtmbe0&safe=1&zw&saduie=AG9B_P9YNooGjsk_jLefLptQ9q15&sadet=1343790299575&sads=-yBVsLKP_2mh7zMfYLCF7sL1u-w

ahora lo que quiero hacer es llenar el cuadro de texto en el html que vino de mi variable de clase java y luego presionar enviar automáticamente.

Pero no tengo ni idea de cómo hacer esto.

Cualquier pensamiento será apreciado.

Primero, su URL parece no estar disponible.

Si desea hacer un intercambio de datos entre la aplicación de Android y su aplicación web / página web, puede hacerlo a través de javascript.

Aquí hay un ejemplo del sitio oficial de Android:

Crea una clase como esta:

 public class JavaScriptInterface { Context mContext; /** Instantiate the interface and set the context */ JavaScriptInterface(Context c) { mContext = c; } /** Show a toast from the web page */ @JavascriptInterface public void showToast(String toast) { Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show(); } } 

En su WebView :

 WebView webView = (WebView) findViewById(R.id.webview); webView.addJavascriptInterface(new JavaScriptInterface(this), "Android"); 

En tu página web:

   

Si quieres pasar algo a tu página web, simplemente llama a la función correspondiente de JavaScript:

 String str = "xxx"; myWebView.loadUrl("javascript:xxx('"+str+"')"); 

Aquí está la referencia: http://developer.android.com/guide/webapps/webview.html

Añadiría que la carga de la función javascript debería hacerse cuando se carga el html. Para controlar eso, puede usar lo siguiente:

 webview.getSettings().setJavaScriptEnabled(true); webview.loadUrl("file:///android_asset/test.html"); webview.setWebViewClient(new WebViewClient(){ public void onPageFinished(WebView view, String url){ webview.loadUrl("javascript:init('" + theArgumentYouWantToPass + "')"); } }); 

test.html

    Test   hola adios    

Tomado de Unoteught ReferenceError: myFunction no está definido en null: 1 excepción de Android en webview

Simplemente habilite DomStorage y escriba “var x =” en la cadena:

 webview.getSettings().setJavaScriptEnabled(true); web.getSettings().setDomStorageEnabled(true); webview.loadUrl(urlString); webview.setWebViewClient(new WebViewClient(){ public void onPageFinished(WebView view, String url){ super.onPageFinished(view, url); String js = "javascript:var x =document.getElementById('username').value = '"+user+"';var y=document.getElementById('password').value='"+pass+"';"; if (Build.VERSION.SDK_INT >= 19) { view.evaluateJavascript(js, new ValueCallback() { @Override public void onReceiveValue(String s) { } }); } else { view.loadUrl(js); } view.loadUrl(js); } }); 

Tenga cuidado de llamar a la función javascript de esta manera, str puede incluir comillas simples u otros caracteres especiales.

 String str = "xxx"; myWebView.loadUrl("javascript:xxx('"+str+"')"); 

Sugiero codificar el str en base64 y decodificarlo en javascript.

  • Androide

     String str = "xxx"; //encode in base64 String base64Str = Base64.encodeToString(str.getBytes(), Base64.NO_WRAP); myWebView.loadUrl("javascript:xxx('"+ base64Str +"')"); 
  • Javascript

     function xxx(val) { //decode from base64 var str = atob(data) }