我试图完成一些非常简单的事情,但我没有找到关于此的好文档.我有一个webView,我需要加载一个需要POST数据的页面.看起来像一个简单的过程,但我找不到在webView中显示结果的方法.
这个过程应该很简单:
查询(使用POST数据) - > webserver - > HTML response - > WebView.
我可以使用DefaultHttpClient提交数据,但这不能在WebView中显示.
有什么建议?
非常感谢
解
private static final String URL_STRING = "http://www.yoursite.com/postreceiver";
public void postData() throws IOException, ClientProtocolException {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("foo", "12345"));
nameValuePairs.add(new BasicNameValuePair("bar", "23456"));
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(URL_STRING);
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
String data = new BasicResponseHandler().handleResponse(response);
mWebView.loadData(data, "text/html", "utf-8");
}
Run Code Online (Sandbox Code Playgroud) 我需要我的应用程序的一部分,以获得由大约10栋建筑组成的正方形区域的交互式地图.您必须能够点击建筑物并获得有关它的一些信息.我知道有几种方法可以解决这个问题,但我希望有一些背景知识的人可以给我一些提示.
以下是我可以考虑实现这一目标的一些方法.
我已经实现了Google Maps API,但效果很好,但实际上并没有我想要的效果.Google地图需要互联网连接,您可以访问整个地图.我需要把它锁在一个区域.
这似乎是一个很好的选择.我确信我可以提供一个简单的图像映射,当您单击某个建筑物时,它会为您提供更多信息.唯一的问题是你还需要一个互联网连接.
我从来没有真正研究过这个问题,但我听说实施起来很困难而且很痛苦.它可以在本地运行,但值得吗?
有没有其他方法可以开发交互式地图?需要记住的是,我有一天也想把它移植到iOS上(如果有人也有这方面的经验)
我从Webview发布到https服务器,如下面的URL所示,BASE64为charset.
我的postdata字符串是Base64编码的字符串,其中包含"+".
当我按上述URL中所示的方式发布时,服务器日志显示缺少"+"的postdata字符串
我应该能够从Webview发布任何数据字符串,因为我将发布一个我无法控制的Base64编码字符串.
请帮我解决这个问题.
更新:我甚至尝试过这样的
String postData = "fileContents=" + fileCon;
mWebView.postUrl(url,postData.getBytes());
Run Code Online (Sandbox Code Playgroud)
但发布时仍然会从postData中删除"+".如果postData中没有"+",则会正确发布.