我正在处理服务器和我的应用程序之间以json格式发送和接收数据,一切都很好。但是今天我需要在WebView中加载的url站点中更改de语言。我需要发布" lang"和DeviceLanguage配对到服务器中托管的站点,以相应地显示站点。我发现你不需要使用doInBackground和其他方法来完成任务,只需这个
byte[] post = EncodingUtils.getBytes("lang="+DeviceLanguage,"BASE64");
MainActivity.myWebView.postUrl("http://myownsite.com/info.php", post);
我得到了我想要的东西。我的问题是:这样简单吗?我没有考虑到什么事情?我必须使用try和catch吗?有安全问题吗?
答案 0 :(得分:0)
好的,如果您使用Webview,则无需创建View和WebKit渲染引擎。 我认为你不应该使用这种代码来增加你的应用程序。
恕我直言,你应该使用AsyncTask。 public class SubmitAsync扩展了AsyncTask {
@Override
protected String doInBackground(Object... data) {
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, TIMEOUT_MILLISEC);
HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT_MILLISEC);
HttpClient client = new DefaultHttpClient(httpParams);
HttpPost request = new HttpPost("http://www.yourweb.com");
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(5);
nameValuePairs.add(new BasicNameValuePair("name", Double.toString((Double) data[0])));
nameValuePairs.add(new BasicNameValuePair("name1", Double.toString((Double) data[1])));
...
request.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response=client.execute(request);
...