Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Qt中没有类似hashmap的aquery post_Java_Android_Qt_Blackberry 10_Aquery - Fatal编程技术网

Java Qt中没有类似hashmap的aquery post

Java Qt中没有类似hashmap的aquery post,java,android,qt,blackberry-10,aquery,Java,Android,Qt,Blackberry 10,Aquery,我正在将一个应用程序从BB10移植到android。对于http请求,我使用的是AQuery 在BB10上的Qt中,我可以简单地发布数据: QByteArray data = "test"; QNetworkRequest request; request.setUrl(new QUrl("example.com")); QNetworkAccessManager manager = new QNetworkAccessManager(this); manager->post(reque

我正在将一个应用程序从BB10移植到android。对于http请求,我使用的是AQuery

在BB10上的Qt中,我可以简单地发布数据:

QByteArray data = "test";
QNetworkRequest request;
request.setUrl(new QUrl("example.com"));
QNetworkAccessManager manager = new QNetworkAccessManager(this);

manager->post(request,data);
但在AQuery中,我只能找到一个具有键/值对的POST方法(从文档中):

stringurl=”http://search.twitter.com/search.json";
Map params=新的HashMap();
参数put(“q”、“androidquery”);
ajax(url、参数、JSONObject.class、新的AjaxCallback(){
@凌驾
公共无效回调(字符串url、JSONObject json、AjaxStatus状态){
showResult(json);
}
});

有没有一种方法可以只在AQuery中发布数据?

我已经找到了如何做到这一点

在AQuery源中,AbstractAjaxCallback类的httpEntity方法中:

HttpEntity entity = null;

Object value = params.get(AQuery.POST_ENTITY);

if(value instanceof HttpEntity){                        
     entity = (HttpEntity) value;                        
} else {
    //urlencoded POST data
}
所以我需要做的就是:

HttpEntity entity = new StringEntity(data);
cb.param(AQuery.POST_ENTITY,entity);
其中,
cb
是我的AjaxCallback对象

HttpEntity entity = new StringEntity(data);
cb.param(AQuery.POST_ENTITY,entity);