13

通过Facebook_Android SDK发送请求时,我得到一个包作为回报。有人可以解释它是什么数据类型以及如何提取其中的数据吗?谢谢。

01-28 11:58:07.548: I/Values(16661): Bundle[{to[0]=100005099741441, to[1]=100005089509891, request=134129756751737}]

编辑 这里, to[i] 是一个字符串数组。我能够做到。但我认为这不是正确的做法。

for(int i=0;i< size-1;i++){
System.out.println(values.getString("to["+i+"]"));
}

Bundle的大小在哪里size调用value

4

2 回答 2

15

ABundle基本上是一本字典。Bundle 中的每个值都存储在key. 您必须知道键下的值的类型。当您知道类型时,您可以key通过调用与值的类型相关的方法来访问与 关联的值(同样,您必须知道类型)。

例如,如果keyisrequest和它的类型是String你会调用:

String value = bundle.getString("request");

如果类型是long,您将调用:

long value = bundle.getLong("request");

to如果值是类型,则要遍历数组,String您可以这样做:

for (int i = 0; bundle.containsKey("to[" + i + "]"); i++) {
    String toElement = bundle.getString("to[" + i + "]");
}

它不依赖于捆绑对象的大小。

捆绑包中的所有键和每个键的值类型应在 Android 版 Facebook API 中提供。如果您需要有关该Bundle对象的更多信息,请查看此处的参考资料

于 2013-01-28T06:47:41.797 回答
3
Bundle bundle = intent.getBundle();
bundle.getString("ITEM_NAME");
于 2013-01-28T06:42:59.033 回答