在Android系统中,WebKit模块的Java层一共由41个文件组成,其中主要的类的具体说明如下。
(1)WebView
类WebView是WebKit模块Java层的视图类,所有需要使用Web浏览功能的Android应用程序都要创建该视图对象以显示和处理请求的网络资源。目前,WebKit模块支持HTTP、HTTPS、FTP以及JavaScript请求。WebView作为应用程序的UI接口,为用户提供了一系列的网页浏览、用户交互接口,客户程序通过这些接口访问WebKit核心代码。
(2)WebViewDatabase
类WebViewDatabase是WebKit模块中针对SQLiteDatabase对象的封装,用于存储和获取浏览器运行时保存的缓冲数据、历史访问数据、浏览器配置数据等。该对象是一个单实例对象,通过getInstance方法获取WebViewDatabase的实例。WebViewDatabase是WebKit模块中的内部对象,仅供WebKit框架内部使用。
(3)WebViewCore
类WebViewCore是Java层与C层WebKit核心库的交互类,客户程序调用WebView的网页浏览相关操作转发给BrowserFrame对象。当WebKit核心库完成实际的数据分析和处理后会回调WebViweCore中定义的一系列JNI接口,这些接口会通过类CallbackProxy(代理类)将相关事件通知相应的UI对象。
(4)CallbackProxy
类CallbackProxy是一个代理类,用于实现UI线程和WebCore线程之间的交互。类CallbackProxy定义了一系列与用户相关的通知方法,当WebCore完成相应的数据处理后会调用CallbackProxy类中对应的方法,这些方法通过消息的方式间接调用相应的处理对象的方法。
(5)BrowserFrame
类BrowserFrame负责URL资源的载入、访问历史的维护、数据缓存等操作,该类会通过JNI接口直接与WebKit的C层库进行交互。
(6)JWebCoreJavaBridge
类JWebCoreJavaBridge的功能是,为Java层WebKit代码提供了与C层WebKit核心部分的Timer(计时模块)和Cookies(Cookies身份验证模块)操作相关的方法。
(7)DownloadManagerCore(www.xing528.com)
类DownloadManagerCore是一个下载管理核心类,主要负责网络资源的下载管理,所有的Web下载操作均由该类统一管理。该类实例运行在WebKit线程当中,与UI线程的交互是通过调用CallbackProxy对象中相应的方法完成。
(8)WebSettings
类WebSettings描述了Web浏览器访问相关用户的配置信息。
(9)DownloadListener
类DownloadListener负责实现侦听下载操作事件的接口,如果客户代码实现该接口,则在下载开始、失败、挂起、完成等情况下,DownloadManagerCore对象会调用客户代码中实现的DwonloadListener方法。
(10)WebBackForwardList
类WebBackForwarList负责维护用户访问的历史记录,该类为客户程序提供操作访问浏览器历史数据的相关方法。
(11)WebViewClient
在类WebViewClient中定义了一系列事件方法,如果Android应用程序设置了WebViewClient派生对象,则在页面载入、资源载入、页面访问错误等情况发生时,该派生对象的相应方法会被调用。
(12)WebBackForwardListClient
类WebBackForwardListClient定义了对访问历史操作时可能产生的事件接口,当用户实现了该接口,则在操作访问历史时(访问历史移除、访问历史清空等)用户会得到通知。
(13)WebChromeClient
类WebChromeClient定义了与浏览窗口修饰相关的事件。例如接收到Title、接收到ICON、进度变化时,WebChromeClient的相应方法会被调用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。