簡體   English   中英

顯示即將到來的Facebook朋友生日

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM