fbgetfriendsstatusrequest.java
来自「Sony Ericsson手机上的Facebook客户端全套代码」· Java 代码 · 共 73 行
JAVA
73 行
// 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: FbGetFriendsStatusRequest.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.FbItemDataFactory;
import com.sonyericsson.fb.api.data.FbStatusItemData;
import java.util.Hashtable;
import se.southend.drops.xml.XMLNode;
// Referenced classes of package com.sonyericsson.fb.api.request:
// FbAPIRequest, IFbAPIRequestListener
public class FbGetFriendsStatusRequest extends FbAPIRequest
{
public FbGetFriendsStatusRequest(IFbAPIRequestListener listener, int limit)
{
_statusTable = new Hashtable();
_listener = listener;
_limit = limit;
}
public void runRequest()
{
String uid = "";
try
{
uid = FbSessionHandler.getInstance().getUid();
}
catch(InvalidStateException e)
{
_statusCode = 2003;
}
if(uid.length() > 0)
{
String subQuery = "SELECT uid FROM user WHERE uid IN (SELECT uid1 FROM friend WHERE uid2 IN (" + uid + "))";
String query = "SELECT uid,status FROM user WHERE uid IN (" + subQuery + ") AND strlen(status.message) > 0 ORDER BY status.time DESC LIMIT " + Math.min(30, _limit);
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"))
{
for(int i = 0; i < root.getNumberOfChildren(); i++)
{
XMLNode child = root.getChild(i);
FbStatusItemData status = (FbStatusItemData)FbItemDataFactory.getInstance().createItem(0, child);
if(status != null)
_statusTable.put(status.getUid(), status);
}
}
}
if(_listener != null)
_listener.requestCompleted(this);
}
public Hashtable getStatusTable()
{
return _statusTable;
}
public static final int FB_STATUS_REQUEST_MAX_LIMIT = 30;
private Hashtable _statusTable;
private int _limit;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?