⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fbgetfriendslistrequest.java

📁 Sony Ericsson手机上的Facebook客户端全套代码
💻 JAVA
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) 
// Source File Name:   FbGetFriendsListRequest.java

package com.sonyericsson.fb.api.request;

import com.sonyericsson.fb.api.FbSessionHandler;
import com.sonyericsson.fb.api.InvalidStateException;
import com.sonyericsson.fb.api.data.FbFriendItemData;
import com.sonyericsson.fb.api.data.FbItemDataFactory;
import java.util.Hashtable;
import se.southend.drops.xml.XMLNode;

// Referenced classes of package com.sonyericsson.fb.api.request:
//            FbAPIRequest, IFbAPIRequestListener

public class FbGetFriendsListRequest extends FbAPIRequest
{

    public FbGetFriendsListRequest(IFbAPIRequestListener listener)
    {
        _friends = new Hashtable();
        _listener = listener;
    }

    public void runRequest()
    {
        String uid = "";
        try
        {
            uid = FbSessionHandler.getInstance().getUid();
        }
        catch(InvalidStateException e)
        {
            _statusCode = 2003;
        }
        if(uid.length() > 0)
        {
            String query = "SELECT last_name,pic_square,status,profile_update_time,name,uid,pic FROM user WHERE uid IN (SELECT uid1 FROM friend WHERE uid2 IN (" + uid + "))";
            Hashtable arguments = new Hashtable();
            arguments.put("method", "facebook.fql.query");
            arguments.put("query", query);
            XMLNode root = new XMLNode();
            _statusCode = callMethod(arguments, root);
            if(_statusCode == 0 && root != null && root.getName().equalsIgnoreCase("fql_query_response"))
            {
                String userIdList = "";
                for(int i = 0; i < root.getNumberOfChildren(); i++)
                {
                    XMLNode child = root.getChild(i);
                    FbFriendItemData friend = (FbFriendItemData)FbItemDataFactory.getInstance().createItem(1, child);
                    if(friend == null)
                        continue;
                    String fid = friend.getUid();
                    _friends.put(fid, friend);
                    userIdList = userIdList + fid;
                    if(i < root.getNumberOfChildren() - 1)
                        userIdList = userIdList + ",";
                }

                arguments.clear();
                arguments.put("method", "facebook.users.getContactInfo");
                arguments.put("uids", userIdList);
                arguments.put("friends", "0");
                root = new XMLNode();
                _statusCode = callMethod(arguments, root);
                if(_statusCode == 0 && root != null && root.getName().equalsIgnoreCase("users_getContactInfo_response"))
                {
                    for(int i = 0; i < root.getNumberOfChildren(); i++)
                    {
                        XMLNode child = root.getChild(i);
                        FbFriendItemData contact = (FbFriendItemData)FbItemDataFactory.getInstance().createItem(1, child);
                        if(contact != null)
                        {
                            FbFriendItemData friend = (FbFriendItemData)FbItemDataFactory.getInstance().updateItem((FbFriendItemData)_friends.get(contact.getUid()), contact);
                            _friends.put(contact.getUid(), friend);
                        }
                    }

                }
            }
        }
        if(_listener != null)
            _listener.requestCompleted(this);
    }

    public Hashtable getFriends()
    {
        return _friends;
    }

    private Hashtable _friends;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -