Tôi đang truy vấn bảng sự kiện trong android để nhận sự kiện.Cách truy vấn các sự kiện lịch trên Android cho phạm vi ngày cụ thể?
String[] projection = new String[] { "calendar_id", "title", "description",
"dtstart", "dtend", "eventLocation" };
Cursor cursor = cr.query(Uri.parse("content://com.android.calendar/events"),
projection,
null,
null,
null);
Điều này trả về tất cả các sự kiện. Nhưng bây giờ tôi muốn các sự kiện chỉ trong khoảng thời gian cụ thể nói từ 4/03/2013 đến 7/03/2013. Làm cách nào để sử dụng selection
và selectionArgs[]
? Tôi đã thử điều này
String selection = "((dtstart <= ?) AND (dtend >= ?))";
String[] selectionArgs = new String[] {startString, endString};
Nhưng không trả lại bất kỳ thứ gì. Sự nghi ngờ của tôi là 1. Điều khoản sẽ hoạt động ở đâu? Bởi vì, startDate và endDate đầu tiên được chuyển đổi thành dài (mili giây) và sau đó thành String và sau đó được lưu trữ trong bảng. Vậy làm thế nào các chuỗi có thể được so sánh với các giá trị dài của chúng. Không có hàm toNumber()
trong sqlite. 2. Nếu tôi đi qua selectionArgs
thì startString
và endString
phải ở định dạng nào?
kiểm tra: http://stackoverflow.com/questions/26844770/how-to- get-access-to-the-calendars-on-a-android-phone –