繁体   English   中英

GWT / GAE离线应用程序适用于Android-高级

[英]GWT / GAE offline app for android - Advanced

大家好,这里有很多关于gwt离线可能性的文章。 但是他们都没有完全回答我的问题。

这里只是一些摘录:

我使用的GWT,GAE和Android技术节选:

  • 请求工厂
  • RPC请求
  • JDO
  • 科尔多瓦/ Phonegap
  • 本地存储
  • html5 appcache

那么,我现在的问题是什么?

  • 当我在没有互联网连接的情况下启动我的应用程序时,它不会加载任何内容。 我收到错误500,因为没有互联网连接。
  • 它不会从脱机缓存中加载HTML,CSS和JavaScript。

我现在是因为我的Web应用程序尝试连接到www.mypage.com,但未得到任何响应。

如果我在线,是否可以从我的android设备上的本地资源启动页面并从服务器获取响应,如果我没有任何连接,则可以从本地存储获取响应?

我尝试使用本地资源(编译的HTML,CSS和JavaScript)来实现它,但是在这种情况下,它在任何时候都不会连接到Google App Engine的日期。 显而易见的结果:无数据。

是的,如果没有连接,您可以从本地存储获得响应。 绝对。

在扩展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:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM