android - quitar - programa para recordar cumpleaños
Mes actual Facebook Friends Cumpleaños en Android (2)
Lo que puede hacer es calcular los siguientes valores usando el lenguaje que está usando y usarlos en su FQL:
1st''s day of the current month (17),
Today''s month of the year (01)
End date day of the current month (31)
Asegúrese de que los días y meses estén formateados con dd y MM respectivamente (rellenado con cero en caso de dígitos únicos). Entonces su FQL se vería así:
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
Esto luego devolverá a los amigos cuyo cumpleaños cae entre el 1 de enero y el 31 de enero.
Actualización: calcula el mes actual y la última fecha del mes actual:
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();
}
Estoy escribiendo una aplicación en la que estoy buscando una lista de amigos de Facebook usando el código de ejemplo de hackbook pero ahora quiero buscar la lista de amigos de Facebook en el mes actual , para obtener una lista de todos los amigos que estoy usando este código:
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));
}
Todavía estoy usando el código a continuación para obtener la lista de amigos de esos cumpleaños en el mes actual :
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";
pero no obtengo ningún registro, ¿dónde me pierdo?
Utilice esta consulta para obtener el amigo actual de Facebook en orden ascendente.
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