新建自己的Android工程,工程文件目录结构如下图
熟悉并从官网http://www.sencha.com/products/sdk-tools/下载Sencha SDK 及基本使用的工具包。如下图
原理解释:Android APK成功打包之后是不能再去动态的修改里面的数据的,也更新不了局部模块。Sencha(Sencha是基于HTML5,而HTML5中又可以写JS,包括现在主流框架JQuery等,可以在JS中调用异步网络请求、调用JAVA代码,实现JQuery经典功能:动态异步刷新界面等)支持模块化更新,我们把要更新的每个模块当成是一个基于Sencha 、HTML5、EXT的单独的工程,Android APK不能动态 添加模块,但APK里面的类,也就是我们的四大组件之一Activity中我们是可以通过网络访问去服务器下载我们所要使用的数据的。下面举个例子讲解这个原理。
第一:完成局部模块更新的前提是在服务端先备好我们的子模块(子模块一、子模块二、子模块三……..)第二:完成本地可打包APK的Android工程XiaoMaSencha.apk(包含从服务端下载数据包功能)
第三:在工程中嵌入PhoneGap来支持在安卓工程中以:super.loadUrl(“file:///android_asset/sencha/init.html”);形式来加载基于HTML5、JS、JQuery等技术实现的子模块,此处嵌入PhoneGap的原因是PhoneGap支持以loadUrl来加载Sencha(HTML5、JQuery、EXT技术实现)存储于本地SD卡上的工程,只要文件完整并且路径正确就可正常使用Sencha实现的子模块。
以以上XiaoMaSencha.apk(此apk包为以纯JAVA代码实现的Android工程,包含从服务器下载工具类,为下载子模块使用)为例,下载好基本Sencha框架实现的子模块数据包后,可借助PhoneGap优势(以loadUrl形式载入HTML5、JQuery、EXT技术实现模块)来加载子模块,如从服务器下载后的子模块包存储于SD卡根目录 下时,可使用PhoneGap以下形式来加载下载的数据包,如下:
加载的init.html的内容是基于HTML5、JS、JQuery、EXT等技术结合实现的一个网页来充当手机中使用的子模块,具体内容如下:随便写点东西进去,可以用HTML5实现复杂功能,然后存储于服务器供Android工程下载到本地,借助PhoneGap来加载使用: