`

android > WebView > 获取表单数据

 
阅读更多

 

先是 HTML

 

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<script type="text/javascript" src="./jquery_1.4.min.js"></script>
	<script language="javascript">
	<!--
	
    $(document).ready(function(){
       $.extend({
			getValue:function(inputName){
				var str = document.getElementById(inputName).value;
				window.myjs.runOnAndroidJavaScript(str);//调用android的函数
			}
		});		
    });
	
	//-->
	</script>
</head>
<body style="padding-top:10px">
<input type="number" name=""  id="time_1" >
</body>
</html>
 

 

 

 

然后是.java

 

public class ContrlSetWater extends Activity{
	
	private ImageButton back;
	private WebView wb;
	
	
	private Handler h = new Handler();

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.contrl_set_water);	
		back = (ImageButton)findViewById(R.id.back);
		wb = (WebView)findViewById(R.id.wb);
		

    	
		//webview
		wb.setBackgroundColor(Color.parseColor("#1A1A1A"));
		wb.getSettings().setJavaScriptEnabled(true);  
		wb.setHorizontalScrollBarEnabled(false);//水平不显示   
		wb.setVerticalScrollBarEnabled(false); //垂直不显示
		wb.loadUrl("file:///android_asset/set_water.html"); 
		
		wb.setInitialScale(95);	//800

		wb.getSettings().setSupportZoom( true ); //Modify this
		wb.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);//Add this
		
		wb.addJavascriptInterface(new runJavaScript(), "myjs");	////----自己定义的myjs 在 HTML 中使用
		//\\
		back.setOnClickListener(new View.OnClickListener() {			
			public void onClick(View v) {
				// TODO Auto-generated method stub
				wb.loadUrl("javascript:$.getValue('time_1')"); 
			}
		}); 		
		//\\
	    
	}
	
	final class runJavaScript{//这个Java 对象是绑定在另一个线程里的,
		public void runOnAndroidJavaScript(final String str){
			h.post(new Runnable(){
				public void run() {//这里应该特别注意的
					 
					Toast.makeText(ContrlSetWater.this, "out:"+str, Toast.LENGTH_LONG).show();
				}
	    
			});
	      }
	  }
	
	
}
 

 

解决缓存问题 ,在最开始 使用以下代码

wb.clearCache(true);

wb.clearHistory();

wb.clearView();

wb.loadDataWithBaseURL(null, "","text/html", "utf-8",null);

wb.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);//不使用缓存

.........

........

....

 

分享到:
评论

相关推荐

    android获取html表单数据

    3. 在HTML中编写获取表单数据的JavaScript函数,并调用Android的JavaScript接口。 4. 在Android端创建一个JavaScriptInterface对象,并添加相应的接收方法。 以上就是如何在Android应用中通过JavaScript相互传递...

    php-android-webview

    3. **数据交换**:通过JavaScript与PHP服务器进行数据交互,例如登录验证、获取动态内容、提交表单等。 4. **增强用户体验**:使用JavaScript实现页面动态效果,提高用户在应用内的互动体验。 文件名"php-android...

    Android WebView 新浪微博自动登陆

    我们可以通过WebView的`WebViewClient`和`WebChromeClient`监听网络请求和响应,获取并保存这些Cookie。在下次加载网页时,将这些Cookie添加到请求头中,以维持登录状态。 ```java public class MyWebViewClient ...

    兼容多种功能的WebView

    最后,关于“兼容多种功能”的概念,这可能意味着该WebView实现还考虑了其他交互功能,如下载文件、播放视频、处理表单数据等。为了实现这些功能,我们需要进一步配置WebView的设置,比如开启对地理位置、多媒体的...

    webview获取HTML源码

    在Android开发中,WebView...总之,通过WebView获取HTML源码主要是通过JavaScript执行和数据回传来实现的,需要注意API版本差异和安全性问题。正确理解和使用这些方法,可以让我们在Android应用中灵活地处理网页内容。

    android + h5 混合开发 webview 版 小实例 + 数据交互 + 界面交互+ js调用java +java 调用js

    本文将深入探讨如何使用Android与H5(HTML5)进行混合开发,特别是通过WebView实现小实例的数据交互和界面交互,以及Java与JavaScript之间的调用。 **一、Android WebView组件** WebView是Android系统提供的一种...

    android demo,java从webview中的h5中的JavaScript函数的取值

    这个"android demo,java从webview中的h5中的JavaScript函数的取值"示例着重讲解了如何在Android应用中通过Java代码与Webview内加载的HTML5(H5)页面进行交互,特别是从JavaScript获取数据并传递给Java,最终在...

    Android_WebView

    通过上述知识点的介绍和代码分析,我们可以了解到如何使用 WebView 在 Android 应用中加载网络页面,并且通过配置来控制 WebView 的行为,如禁用自动保存表单数据、密码等,同时还可以通过 JavaScript 接口实现与...

    android webview 学习资料

    10. **隐私策略**:使用`clearHistory()`, `clearCache()`和`clearFormData()`方法可以清除WebView的历史记录、缓存和表单数据,保护用户隐私。 11. **自定义WebView**:如果需要更高级的功能,可以考虑继承WebView...

    android webview

    9. **隐私设置**:可以使用`WebSettings`的`setDoNotTrackEnabled(true)`开启“请勿追踪”功能,以及`setSaveFormData(false)`禁止保存表单数据,保护用户隐私。 10. **更新WebView**:由于WebView是内置于Android...

    Android WebView控件捕获用户输入的信息

    webview.loadUrl("javascript:window.android.getHTML('&lt;html&gt;'+document.body.innerHTML+'&lt;/html&gt;');"); } ``` 4. **解析HTML获取输入信息**: `JavaScriptInterface`的`getHTML()`方法会被调用,接收到的HTML...

    android的一个简易浏览器(应用webview)

    通过WebView,开发者可以在Android应用中加载并显示网页,同时支持JavaScript执行、表单提交、页面缩放等功能。 2. **初始化WebView** 首先,我们需要在布局XML文件中添加一个WebView元素。然后,在Activity的...

    基于WebView的安卓android浏览器,基本功能齐全

    - **表单处理**:WebView可以自动处理表单提交,但开发者也可以通过JavaScript Interface或自定义WebViewClient来扩展表单处理功能。 3. **WebView配置与优化**: - **启用JavaScript**:默认情况下,WebView可能...

    webView加载网络播放视频

    4. **处理视频播放**: 当`&lt;video&gt;`标签在网页中被点击时,默认情况下,Android的WebView会在内置的媒体播放器中打开视频。然而,为了保持在WebView内部播放,你需要重写`shouldOverrideUrlLoading`方法。这样,当...

    android webview demo

    - `WebViewDatabase`用于管理SQLite数据库,可以存储表单数据等。 - `addJavascriptInterface`可以将Java对象暴露给JavaScript,实现两者之间的交互。 7. **性能优化**: - 使用`WebView.setLayerType(View....

    html5webview

    对于数据安全,应使用clearCache()和clearFormData()定期清理缓存和表单数据。 5. **JavaScript交互**: 通过WebView.addJavascriptInterface()方法,可以创建一个Java对象并暴露给JavaScript,这样JavaScript代码就...

    WebView详解

    &lt;uses-permission android:name="android.permission.INTERNET" /&gt; ``` #### 类结构 `WebView`继承自`View`类,并最终扩展自`ViewGroup`,其类层次结构如下所示: 1. `java.lang.Object` 2. `android.view.View` 3...

    安卓WebView图片上传

    本篇文章将详细讲解如何在安卓的WebView中实现图片的上传功能,包括调用本地接口拍照或从相册选取图片,并获取图片文件。 一、WebView的基本使用 1. 添加依赖:在`build.gradle`文件中添加WebView相关的依赖库,...

    Android中获取网页表单中的数据实现思路及代码

    总之,通过以上步骤,我们可以在Android应用中利用WebView组件获取网页表单数据,实现了Java和JavaScript之间的通信,从而实现在本地处理用户输入的信息。这在开发混合型应用或者需要与网页内容深度交互的应用时非常...

    安卓Android源码——BTAndroidWebViewSelection(webview选择文字).zip

    在Android开发中,WebView不仅用于展示静态HTML内容,还可以加载动态网页(如JavaScript),并且支持用户与网页进行交互,例如点击链接、填写表单、甚至选择和复制网页上的文本。BTAndroidWebViewSelection这个项目...

Global site tag (gtag.js) - Google Analytics