fbgetstatusrequest.java

来自「Sony Ericsson手机上的Facebook客户端全套代码」· Java 代码 · 共 78 行

JAVA
78
字号
// 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:   FbGetStatusRequest.java

package com.sonyericsson.fb.api.request;

import com.sonyericsson.fb.api.data.FbItemDataFactory;
import com.sonyericsson.fb.api.data.FbStatusItemData;
import com.sonyericsson.fb.utils.Logger;
import java.util.Hashtable;
import java.util.Vector;
import se.southend.drops.xml.XMLNode;

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

public class FbGetStatusRequest extends FbAPIRequest
{

    public FbGetStatusRequest(IFbAPIRequestListener listener, Vector uids)
    {
        _query = new StringBuffer("SELECT uid,status FROM user WHERE uid IN (");
        _statusTable = new Hashtable();
        _listener = listener;
        for(int i = 0; i < uids.size(); i++)
        {
            String uid = (String)uids.elementAt(i);
            _query.append(uid);
            if(i < uids.size() - 1)
                _query.append(",");
        }

        _query.append(")");
    }

    public void runRequest()
    {
        if(_query.length() <= QUERY_MINIMUM_LENGTH)
        {
            _statusCode = 2000;
        } else
        {
            Hashtable arguments = new Hashtable();
            arguments.put("method", "facebook.fql.query");
            arguments.put("query", _query.toString());
            XMLNode root = new XMLNode();
            _statusCode = callMethod(arguments, root);
            if(_statusCode == 0 && root != null && root.getName().equalsIgnoreCase("fql_query_response"))
            {
                for(int i = 0; i < root.getNumberOfChildren(); i++)
                {
                    XMLNode child = root.getChild(i);
                    FbStatusItemData item = (FbStatusItemData)FbItemDataFactory.getInstance().createItem(0, child);
                    if(item != null)
                    {
                        _statusTable.put(item.getUid(), item);
                        Logger.println("Status of user: " + item.getStatusText());
                    }
                }

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

    public Hashtable getStatusTable()
    {
        return _statusTable;
    }

    private static final int QUERY_MINIMUM_LENGTH = "SELECT uid,status FROM user WHERE uid IN ()".length();
    private StringBuffer _query;
    private Hashtable _statusTable;

}

⌨️ 快捷键说明

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