![](/img/trans.png)
[英]How to get Facebook Friends Upcoming Birthdays using Hackbook Example
[英]Show Upcoming Facebook Friends Birthdays
我仍然以1到12月的形式按升序获取Facebook朋友列表,请参见下图:
但是现在我想以即将到来的生日的形式显示Facebook朋友列表,例如:
最近的热门
我正在使用以下查询来获取好友列表:
Log.d(LOG_TAG, "requestFriends(" + ")");
Date date = new Date();
String current_date = null;
SimpleDateFormat dateFormatter = new SimpleDateFormat("MM-dd-yyyy");
current_date = dateFormatter.format(date);
System.out.println("Current Date is:- " + current_date);
String query = "select name, birthday, uid, pic_square from user where uid in (select uid2 from friend where uid1=me()) and birthday_date>= "
+ current_date + " order by birthday_date";
请告诉我我应该使用什么查询来获取即将到来的B'days形式的列表
该查询将获取已登录用户帐户中所有朋友的列表:
SELECT uid, name, birthday_date FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=me()) ORDER BY birthday_date ASC
这样做的陷阱是,您需要检查用户是否在其Facebook帐户中输入了他/她的生日。
更好的查询是(至少我认为更好):
SELECT uid, name, birthday_date FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=me()) AND birthday_date >= '02/01' AND birthday_date <= '07/01' ORDER BY birthday_date ASC
该用户仅获得在其Facebook帐户中填写了生日的用户列表。 使用ORDER BY birthday_date
,它们将始终与即将到来的生日一起出现,一直到结果集中的最后一个生日。
这是一个陷阱,可以随时进行测试 ,我从未使用第二个查询获得过整年的生日。 因此,在我的应用程序中,我一次要输入6个月的数据。 这一直都是精确的,而且差不多。
我怀疑,考虑到您需要在列表顶部显示即将到来的生日,第二个查询将适合您的目的。 为确保始终始终获得精确结果的当前日期和月份,请使用以下示例(简单的Google搜索或SO搜索将为您提供更多信息)以获取当前日期和月份:
http://www.asbhtechsolutions.com/android-tutorials/android-get-current-date-and-time
然后,连接一个String
并将该实例作为查询传递。
注意:查询中使用的月份和日期必须始终为两位数 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.