大家好,这里有很多关于gwt离线可能性的帖子。但他们都没有完全回答我的问题。
这里只是一些摘录:
我使用的GWT,GAE和Android技术的摘录:
那么我现在的问题是什么?
我现在是因为我的webapp试图连接到www.mypage.com,并且没有得到任何回复。
我可以从我的Android设备上的本地资源启动我的页面,如果我在线的话,从我的服务器获取响应,如果我没有任何连接,可以从本地存储获得响应吗?
我尝试使用本地资源(编译的HTML,CSS和JavaScripts)实现它,但在这种情况下,它不会随时连接到谷歌应用引擎的日期。显而易见的结果是:无数据。
答案 0 :(得分:0)
是的,如果您没有连接,您可以从本地存储获得响应。绝对
在扩展com.google.gwt.core.ext.linker.AbstractLinker的链接器中,遍历工件并检查它是否是rpc代码(1)。如果是,则将其添加到清单(2)的网络部分。
然后在你的rpc回调中(由于没有网络将会失败),设置你的@Override public void onFailure(Throwable caught) { ...}
方法从本地存储中获取数据并从那里继续。
(1)示例 -
private boolean isRPRCall(EmittedArtifact artifact) {
return (artifact.getPartialPath().substring(artifact.getPartialPath().length() - 3)).equals("rpc");
}
(2)我看起来像:
CACHE MANIFEST
file.jsp
/myapp/myapp.nocache.js
[etc. etc...]
NETWORK:
/myapp/34C9362A2B2ED625B4FE3FF8E80A4A60.gwt.rpc
/myapp/586D3102158048D2D56BA386A134648D.gwt.rpc
/myapp/CCA65B31464BDB27545C23C142FEEEF8.gwt.rpc
FALLBACK: