我看到有一个新版本的Facebook SDK(3.0)弃用了旧的Facebook类,并引入了一种使用Session类登录的新方法.
我使用新的登录API快速编写了一个简单的应用程序:
public class MainActivity extends Activity {
private Session mFacebookSession;
private StatusCallback fbStatusCallback = new StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
Log.v("dbg", "state: " + state);
Log.v("dbg", "session: " + session);
}
};
public void bc(View view)
{
mFacebookSession = Session.openActiveSession(this, true, fbStatusCallback);
}
//etc..
}
Run Code Online (Sandbox Code Playgroud)
回调应该被调用两次,首先是用于销毁实际的会话令牌,第二次用于获取新的访问令牌.当然,我的app id被设置为我的清单文件中的元数据等.
当我执行代码时,会出现Facebook登录对话框,我输入我的用户名和密码然后关闭.
但是,在我的日志中我只看到这个:
01-17 03:28:01.587: V/dbg(7002): state: OPENING
01-17 03:28:01.587: V/dbg(7002): session: {Session state:OPENING, token:{AccessToken token:ACCESS_TOKEN_REMOVED permissions:[]}, appId:xxxxxxxxxxxxxxx}
Run Code Online (Sandbox Code Playgroud)
因此,如果我尝试调用mFacebookSession.getAccessToken(),我会得到一个空字符串(非null). …
是否有一些 Java 库可以帮助我解析 XML 文件,更改某些内容,然后将输出写入新的 XML 文件,该文件在缩进、空格方面基本上与第一个文件完全相同?
我尝试过 Jdom,但它似乎是 XMLOutputter 类更改了我原始 xml 的缩进。
基本上,如果我的输入 xml 文件如下所示:
<root><node>A</node></root>
Run Code Online (Sandbox Code Playgroud)
我想将 A 更改为 B,输出应如下所示:
<root><node>B</node></root>
Run Code Online (Sandbox Code Playgroud)
不喜欢
<root>
<node>B</node>
</root>
Run Code Online (Sandbox Code Playgroud)
就像 Jdom 输出它一样。
这只是一个例子,但我的观点是:是否有一些 xml 解析库考虑了初始 xml 文件的格式?
我最近偶然发现了一个我不理解的有趣的编译器代码.请使用以下代码:
unsigned char x;
...
x |= 127;
x |= 128;
Run Code Online (Sandbox Code Playgroud)
对于第一个语句,编译器生成:
or eax, 0x7f.
Run Code Online (Sandbox Code Playgroud)
但是,对于第二个陈述,它变为:
or eax, 0xffffff80
Run Code Online (Sandbox Code Playgroud)
似乎对于小于127的值,使用一个字节值,而在128个dword之后是优选的.
有没有人知道为什么会这样?我转载了这个gcc 6.2(我认为是最新的).
我试图在gcc邮件列表(gcc-bugs@gcc.gnu.org或gcc-help@gcc.gnu.org)上发帖,但我只是发送失败.
我正在关注的objc教程使用以下初始化:
NSString* p = [[NSString alloc] initWithString:@"something"];
Run Code Online (Sandbox Code Playgroud)
但是,前一章中所述的相同教程可以将这些类型的结构分解为:
NSString* p = [NSString alloc];
[p initWithString: @"something"];
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试使用NSLog 显示p的值,则会发生异常:
main: Uncaught exception NSInternalInconsistencyException, reason: attempt to use uninitialised string
Run Code Online (Sandbox Code Playgroud)
这可能很容易,但我似乎无法找到答案.
android ×1
assembly ×1
c ×1
facebook ×1
gcc ×1
indentation ×1
java ×1
nsstring ×1
objective-c ×1
xml ×1
xml-parsing ×1