Android Html5混合开发解决方案
这一篇主要针对下面三个问题提供解决方案
1.JavaScript访问Android 硬件,通讯录等
2. JavaScript访问Android数据库
3.Cache管理
1.JavaScript访问Android 硬件,通讯录等
使用Cordova插件,cordova 提供的插件列表如下
参考:http://cordova.apache.org/docs/en/latest/guide/overview/
这些插件可以通过下面命令直接获取使用
cordova plugin add pluginid
2. JavaScript访问Android数据库
参照通讯录插件:cordova-plugin-contacts,为自己的数据库定义一个插件,提供数据库的增,删,改,查服务.
3.Cache管理
Android 的Webview 有自己的缓存机制,参考
http://blog.csdn.net/t12x3456/article/details/13745553
示例代码
// 得到设置属性的对象
WebSettings webSettings = webview.getSettings();
//缓存模式设置webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
//DOM 缓存设置
webSettings.setDomStorageEnabled(true);
//H5缓存设置
webSettings.setAppCacheMaxSize(1024 * 1024 * 8);// 设置缓冲大小,我设的是8M
webSettings.setAllowFileAccess(true);
String appCacheDir = this.getApplicationContext()
.getDir("cache", MODE_PRIVATE).getPath();
webSettings.setAppCachePath(appCacheDir);
webSettings.setAppCacheEnabled(true);
因此,我们并不需要自己去管理缓存,只需设置合适的缓存策略即可
建议缓存策略为,判断是否有网络,有的话,使用LOAD_DEFAULT,无网络时,使用LOAD_CACHE_ELSE_NETWORK。
另外服务器应该通过cache-control设置好,是否使用缓存,以及缓存过期的时间.
原文:http://www.cnblogs.com/kuangbiao/p/5301275.html