13

Facebook_Android SDK経由でリクエストを送信すると、バンドルが返されます。誰かがそれがどのようなデータ型で、その中のデータを抽出する方法を説明できますか? ありがとう。

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

EDIT ここで、to[i] は文字列配列です。できました。しかし、それが正しい方法だとは思いません。

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

sizeと呼ばれるバンドルのサイズはどこですかvalue

4

2 に答える 2

15

ABundleは基本的に辞書です。バンドル内の各値は、key. キーの下の値のタイプを知っている必要があります。型がわかっている場合は、値の型に関連するメソッドを呼び出して、に関連付けられている値にアクセスしkeyます (ここでも、型を知っている必要があります)。

たとえば、keyisrequestでその型が isの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 + "]");
}

バンドル オブジェクトのサイズに依存しません。

バンドル内のすべてのキーと各キーの値のタイプは、Facebook API for Android で提供する必要があります。Bundleオブジェクトに関する詳細情報が必要な場合は、こちらのリファレンスを参照してください。

于 2013-01-28T06:47:41.797 に答える