AndroidAsyncHttp中RequestParams add()和put()之间的差异

AndroidAsyncHttp中RequestParams add()和put()之间的差异,android,android-async-http,Android,Android Async Http,在使用android异步http库时,我偶然发现params.add() 我已经使用params.put()一段时间了,它似乎比add()好,因为它允许字符串以外的数据类型(如int、long、object、file),而add()不允许 RequestParams params=newrequestparams(); //这是怎么回事 参数添加(“参数a”、“abc”); //与此不同 参数put(“参数a”、“abc”); //我应该用哪一个? 两者之间的主要区别(除了add()仅支持字符串

在使用
android异步http
库时,我偶然发现
params.add()

我已经使用
params.put()
一段时间了,它似乎比
add()
好,因为它允许字符串以外的数据类型(如int、long、object、file),而
add()
不允许

RequestParams params=newrequestparams();
//这是怎么回事
参数添加(“参数a”、“abc”);
//与此不同
参数put(“参数a”、“abc”);
//我应该用哪一个?

两者之间的主要区别(除了
add()
仅支持字符串之外)是
put()
用现有键覆盖先前存在的
param
,而
add()
不覆盖

例如:

参数put(“etc”、“etc”); 参数put(“键”、“abc”); 参数put(“键”、“xyz”); //参数:etc=etc&key=xyz 添加时,使用相同的键创建两个
参数

params.add(“etc”、“etc”);
参数添加(“键”、“abc”);
参数添加(“键”、“xyz”);
//参数:etc=etc&key=abc&key=xyz

但这样做的重要性是什么?

在上述示例中,web服务器将仅读取
键的最后一个值,即
xyz
,而不是
abc
,但这是:

params.add(“key[]”,“a”);
参数添加(“键[]”,“b”);
参数添加(“键[]”,“c”);
//参数:键[]=a和键[]=b和键[]=c
//服务器将把它读为:“key”=>[“a”、“b”、“c”]
对数组使用
add()
,对其他所有内容使用
put()