Android WebView与Cookie交互实现网页信息保存

4星 · 超过85%的资源 需积分: 9 34 下载量 43 浏览量 更新于2024-07-28 收藏 150KB DOC 举报
"该资源主要探讨了在Android应用中使用WebView组件加载网页以及与网页交互的相关技术,特别是如何利用Cookie保存和传递用户信息。" 在Android开发中,`WebView`是一个非常重要的组件,它允许开发者在应用内部展示网页内容,甚至与网页进行交互。这个资源主要涵盖了以下几个关键知识点: 1. WebView加载INTERNET网页:在Android应用中,可以通过`WebView`加载互联网上的任何网页。首先,需要在AndroidManifest.xml文件中为应用添加INTERNET权限: ```xml <uses-permission android:name="android.permission.INTERNET" /> ``` 然后,在Activity中实例化`WebView`对象,并调用`loadUrl()`方法加载网页: ```java WebView webView = findViewById(R.id.web_view); webView.loadUrl("http://example.com"); ``` 2. Android Activity与网页间的参数传递:`WebView`支持JavaScript与原生Android代码的交互,可以通过`addJavascriptInterface()`方法创建一个Java对象,并暴露给JavaScript调用。同时,也可以通过`WebView`的`postMessage()`和`WebViewClient`的`shouldOverrideUrlLoading()`方法来实现双向通信。 3. Jsp存储数据到本地计算机的Cookie:在网页(如JSP)中,可以使用`document.cookie`来设置和读取Cookie。Cookie是客户端存储的小型文本数据,用于持久化用户信息或会话状态。在Android的`WebView`中,这些Cookie会被自动发送到服务器,使得用户登录状态等信息得以保留。 代码分析部分展示了`PropertyActivity`类的实现,这个Activity使用`WebView`显示网页并处理一些交互逻辑: 1. PropertyActivity.java:这个Activity继承自`Activity`,并包含了`WebView`的初始化、参数获取以及事件处理。`WebViewClient`的子类被用来拦截网页的加载事件,例如重定向和错误处理。 ```java webView.setWebViewClient(new WebViewClient() { // ... 实现shouldOverrideUrlLoading()等方法 }); ``` 2. `intent`和`bundle`变量用于接收启动Activity时的额外参数,例如从其他Activity传递过来的坐标信息(`xStr`和`yStr`)和数据类型(`dataType`和`selectType`)。 3. `Handler`对象用于在主线程中执行耗时操作,确保UI更新的同步性。 4. `onCreate()`方法中,`setContentView()`设置了布局,`intent.getExtras()`则用于获取启动Intent中的附加数据。 这个资源详细介绍了如何在Android应用中利用`WebView`加载网页,传递参数,并通过Cookie实现用户信息的保存,对于开发涉及网页展示和交互的Android应用具有较高的参考价值。