0

私のアプリでは、次の誕生日のリストを取得していますが、リストで現在の日付の誕生日を取得できないという小さな問題に直面しています。次の誕生日を取得するために私が書いたコードを参照してください。

public static void requestFriends(FacebookRequest facebookRequest) 
    {
        Log.d(LOG_TAG, "requestFriends(" + ")");
        // ----- [start]to get all upcoming birthdays using Variables -----
        Calendar cal = Calendar.getInstance();
        Date today = cal.getTime();
        SimpleDateFormat formatter = new SimpleDateFormat("MM/dd");
        String today_formatted = formatter.format(today);
        String query = "select name, birthday, uid, pic_square FROM user " +
        "WHERE uid in (SELECT uid2 FROM friend WHERE uid1 = me()) AND birthday_date != 'null' " +
        "AND birthday_date >= '" + today_formatted + "'ORDER BY birthday_date ASC";
        // ----- [end]to get all upcoming birthdays using Variables -----       

        Bundle params = new Bundle();
        params.putString("method", "fql.query");
        params.putString("query", query);
        FacebookUtility.asyncRunner.request(null, params, new FacebookRequestListener(FacebookRequestListener.FRIENDS, facebookRequest));   
    }

どこが欠けているか教えてください。今日の日付のb'daysをリストで取得する方法がわかりません....

4

1 に答える 1

0

同じ日に解決策を見つけましたが、少し忙しかったので、ロジックで今日の日付を使用する代わりに現在の日付の誕生日を取得するために、昨日の日付を使用しています。コードにいくつかの変更を加えました。以下を参照してください。

Calendar cal = Calendar.getInstance();
        Date today = cal.getTime();
        Date oneDayBefore = new Date(today.getTime() - 10);         
        SimpleDateFormat formatter = new SimpleDateFormat("MM/dd");
        String today_formatted = formatter.format(oneDayBefore);
        String query = "select name, birthday, uid, pic_square FROM user " +
        "WHERE uid in (SELECT uid2 FROM friend WHERE uid1 = me()) AND birthday_date != 'null' " +
        "AND birthday_date > '" + today_formatted + "'ORDER BY birthday_date ASC";

上記のコードを使用すると、今後のすべてのFacebookの友人の誕生日とともに現在の日付のb'daysを取得できます。または、 >= の代わりにこれを使用して、友人の過去の誕生日を取得できます。

于 2013-11-08T11:20:31.393 に答える