我正在编写一个应用程序,其中我正在使用Hackbook示例代码获取Facebook好友列表但现在我想在当前月份获取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";
但我没有得到任何记录,我在哪里失踪?
解决方法:
您可以做的是使用您正在使用的语言计算以下值并在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)+1public 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();}
总结 以上是内存溢出为你收集整理的Android当前Facebook朋友生日全部内容,希望文章能够帮你解决Android当前Facebook朋友生日所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)