我正在尝试使用Android的新日历API来阅读今天的所有日历活动.我无法在数据库查询中找到正确的选择以返回所有事件.似乎所有经常性和全天活动都被排除在选择之外.什么样的选择允许我从日历api获得今天的所有活动?
这是我目前的尝试:
Cursor cur = null;
String selection = "((" + CalendarContract.Events.DTSTART
+ " >= ?) AND (" + CalendarContract.Events.DTEND + " <= ?))";
Time t = new Time();
t.setToNow();
String dtStart = Long.toString(t.toMillis(false));
t.set(59, 59, 23, t.monthDay, t.month, t.year);
String dtEnd = Long.toString(t.toMillis(false));
String[] selectionArgs = new String[] { dtStart, dtEnd };
cur = c.getContentResolver().query(CalendarContract.Events.CONTENT_URI,
null, selection, selectionArgs, null);
Run Code Online (Sandbox Code Playgroud)
我不确定如何扩大选择范围或增加选择以获得重复活动和全天活动.任何帮助,将不胜感激.
我有一个NSString类class(NSString+URLEncoding.h).我遇到了未知的选择器崩溃,因为我调用类别方法的字符串已经被NSCFConstantStringiOS 优化.
-[__NSCFConstantString URLEncodedString]: unrecognized selector sent to instance 0x290174
Run Code Online (Sandbox Code Playgroud)
我学到的NSCFConstantString与NSCFStringiOS 5中的优化来自:
http://www.cocoanetics.com/2012/03/beware-of-nsstring-optimizations/
是否有人知道如何让NSString类别包含Constant字符串甚至强制var成为一个NSString/NSCFString而不是一个NSCFConstantString?
干杯,Z
-编辑-
-ObjC -all_load已经实现我正在为ShareKit 2.0添加共享服务
标题:
@interface NSString (OAURLEncodingAdditions)
- (NSString *)URLEncodedString;
Run Code Online (Sandbox Code Playgroud)
执行:
@implementation NSString (OAURLEncodingAdditions)
- (NSString *)URLEncodedString
{
NSString *result = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)self,
NULL,
CFSTR("!*'();:@&=+$,/?%#[]"),
kCFStringEncodingUTF8);
[result autorelease];
return result;
}
Run Code Online (Sandbox Code Playgroud) 从UiLifecycleHelper获取奇怪的StackOverflow错误.看起来它正在尝试加载序列化对象,但随后ObjectInputStream会进入递归循环,可能是由于数据损坏.它只发生在onCreate方法中.这是堆栈跟踪
更新
StackOverflowError实际上也发生在onSaveInstance状态,但ObjectStream中的循环写入.我们确实只有4个崩溃日志显示了这一点,在onCreate中读取了49个崩溃日志.这是正在使用的代码:
uiHelper在所有预期的方法中调用,onCreate,onResume,onPause,onSaveInstanceState,onDestroy,根本没有偏离文档.使用的所有其他Facebook代码如下所示.
//onClick facebook button
private void facebook() {
Session session = Session.getActiveSession();
if (session != null && session.isOpened()) {
Log.v("W", "Already have session");
publishog(session);
} else {
Session.openActiveSession(WWhisperActivity.this, true, callback);
}
}
private void onSessionStateChange(Session session, SessionState state,
Exception e) {
if (e != null && !e.getLocalizedMessage().contains("user denied")) {
BugSenseHandler.sendException(e);
}
if (state.equals(SessionState.OPENING)) {
Log.v("W", "Session opening state");
} else if (state.equals(SessionState.CREATED)
|| state.equals(SessionState.CREATED_TOKEN_LOADED)) {
Log.v("W", "Session created state");
}
if (state.isOpened()) {
Log.v("W", "Open session");
if …Run Code Online (Sandbox Code Playgroud) 在我们的Facebook应用开发者洞察中,我们看到方法auth.extendssoaccesstoken的每日错误一致,错误代码为10,"应用程序没有此操作的权限".我们使用最新的SDK,其中包含当前iOS集成指南的近乎精确的实现.搜索Google,SO和Facebook开发人员以查找错误和/或与扩展令牌有关的任何内容都没有提供任何结果.我应该在Facebook应用程序上启用什么?
我目前有一个在每个屏幕上都ViewFlipper保持相同的内容ImageView。问题是,我必须创建一个每个屏幕ImageView[]都有唯一的数组,以便将它们添加到 中,因为我遇到子项在使用相同的时已经有父项问题。它们都引用 中的相同资源。ImageViewViewFlipperViewFlipperImageViewR.drawable
我的问题是:ImageView数组中的每个对象是否都会创建可绘制对象的单独实例,或者它们每个都仅包含对同一可绘制对象的引用吗?另外,ImageView实例是否属于资源密集型?我担心这会遇到开销问题,因为这个ImageView数组不是唯一的。
我正在使用相同的查询以两种不同的方式获取Calendar事件.奇怪的是,它的一种工作方式,另一种方式,即使一切都几乎完全相同.使用timeMin,Google API Explorer上的timeMax会在第二种方法发送时返回错误请求.
不仅如此,Google Calendar API文档说该字段应该是start-min和start-max,而客户端和API Explorer说该字段应该是timeMin和timeMax.
以下是方法1的代码:
void setPeriod() {
Date nowDate = new Date();
startTime = new DateTime(nowDate);
Time t = new Time();
t.setToNow();
t.hour = 23;
t.minute = 59;
nowDate.setTime(t.toMillis(false));
endTime = new DateTime(nowDate);
}
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
try {
Events evlist = g.getClient().events().list(calendarIds.get(cal)).setTimeMin(startTime).setTimeMax(endTime).execute();
if (evlist.getItems() != null) {
//Parse the events
...
}.execute();
Run Code Online (Sandbox Code Playgroud)
方法2:
new AsyncTask<Void, Void, List<Event>>() {
@Override
protected List<Event> doInBackground(Void... arg0) {
Date nowDate = …Run Code Online (Sandbox Code Playgroud) 我错过了什么?
float stepSize = 0.0f;
int activeCircleRadius = 10;
int numSteps = 24;
AiLog.v("init activeCircleRadius " + activeCircleRadius + " numSteps "
+ numSteps);
stepSize = activeCircleRadius / numSteps;
AiLog.v("stepSize is " + stepSize);
Run Code Online (Sandbox Code Playgroud)
操作后,日志中的stepSize始终为零.是否将浮点数除以int?
android ×4
facebook ×2
ios ×2
android-4.0-ice-cream-sandwich ×1
ios5 ×1
java ×1
objective-c ×1