为了账号安全,请及时绑定邮箱和手机立即绑定

Android中的本月Facebook朋友生日

/ 猿问

Android中的本月Facebook朋友生日

元芳怎么了 2020-02-02 15:07:22

我写这封信,我正在获取的列表中的应用程序Facebook上的朋友使用Hackbook示例代码,但现在我想获取的名单Facebook上的朋友当月的生日,让我使用这个代码的所有好友列表:


 public static void requestFriends(FacebookRequest facebookRequest) {

    Log.d(LOG_TAG, "requestFriends(" + ")");

    String query = "select name, birthday, uid, pic_square from user where uid in (select uid2 from friend where uid1=me()) order by birthday_date";

    Bundle params = new Bundle();

    params.putString("method", "fql.query");

    params.putString("query", query);

    FacebookUtility.asyncRunner.request(null, params, new FacebookRequestListener(FacebookRequestListener.FRIENDS, facebookRequest));

}

我仍然使用下面的代码来获取当月生日的朋友列表:


 Calendar c = Calendar.getInstance(); 

    int month = c.get(Calendar.MONTH)+ 1;


    String query = "select name, birthday, uid, pic_square from user where uid in " +

    "(select uid2 from friend where uid1=me())AND birthday_date >= '" + month + "/01' AND birthday_date <= '" + month + "/31' ORDER BY birthday_date ASC";

但是我没有任何记录,我在哪里失踪?


查看完整描述

3 回答

?
慕少森

您可以使用您使用的语言计算以下值,然后在FQL中使用它们:


1st's day of the current month (17),

Today's month of the year (01)

End date day of the current month (31)

确保分别使用dd和MM格式化日期和月份(如果是一位数字,则用零填充)。然后,您的FQL将如下所示:


SELECT name, birthday_date

  FROM user 

  WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())

  AND strlen(birthday_date) != 0

  AND (

       substr(birthday_date, 0, 2) = '01'

       AND substr(birthday_date, 3, 5) >= '01'

       AND substr(birthday_date, 3, 5) < '31'

  ) 

  ORDER BY birthday_date

然后将返回生日在1月1日至1月31日之间的朋友。


更新: 计算当月和当月的最后日期:


Calendar cal=Calendar.getInstance();

int currentmonth=cal.get(Calendar.MONTH)+1


public static Date getLastDateOfMonth(int year, int month) {

   Calendar calendar = new GregorianCalendar(year, month, Calendar.DAY_OF_MONTH);

   calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));

   return calendar.getTime();

}


查看完整回答
反对 回复 2020-02-02
?
春华秋衣

使用此查询以升序获取当前月份的Facebook朋友。

SELECT name, birthday, uid, pic_square FROM user WHERE uid in (SELECT  uid2 FROM friend WHERE uid1=me())AND birthday_date >= '01/01/2013' AND birthday_date <= '31/01/2013' ORDER BY birthday_date


查看完整回答
反对 回复 2020-02-02
?
慕圣8478803

我同意您仅获得一月的生日,我可以使用以下查询字符串:String ModifyQuery =“ SELECT uid,name,pic_square,birthday_date来自用户WHERE uid IN(SELECT uid2来自好友WHERE uid1 = me())AND Birthday_date> = '01 / 01'AND Birthday_date <= '01 / 31'ORDER BY Birthday_date ASC“,但我想让它更具动感..

查看完整回答
反对 回复 2020-02-02

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信