我昨天从http://developer.android.com/sdk/index.html安装了ADT软件包,我正在学习基本的Hello World教程.我创建了一个名为的空白活动的新Android应用程序项目MainActivity.生成的项目有一个空src文件夹和空res\layout文件夹.R.java文件gen夹中有一个文件但没有引用MainActivity.这就是SDK管理员说我安装的内容
我还尝试通过右键单击src文件夹并转到Android Activity 来手动创建活动,但是当我在创建向导上点击Finish时,没有任何反应.有没有人知道发生了什么?我是否错过了要安装的关键组件或其他什么?
当我NSURLCache直接查询时,我能够看到缓存的响应,但是当我通过NSURLSession:dataTaskWithRequest它请求相同的资源时,它总是查询服务器并且永远不会给我缓存的响应,即使禁用了互联网.
我配置NSURLCache的application:didFinishLaunchingWithOptions是这样的:
let URLCache = NSURLCache(memoryCapacity: 20 * 1024 * 1024,
diskCapacity: 80 * 1024 * 1024, diskPath: nil)
NSURLCache.setSharedURLCache(URLCache)
Run Code Online (Sandbox Code Playgroud)
然后我使用此代码检查缓存并获取响应:
print("cached response is \(NSURLCache.sharedURLCache().cachedResponseForRequest(request)?.response)")
NSURLSession.sharedSession().dataTaskWithRequest(request) { data, response, error in
print("nsurlsession response \(response)")
}.resume()
Run Code Online (Sandbox Code Playgroud)
我的调试打印结果是:
cached response is Optional(<NSHTTPURLResponse: 0x7f809d0ddfe0> { URL: https://api.test.com/stuff } { status code: 200, headers {
"Cache-Control" = "public, s-maxage=600";
Connection = "keep-alive";
"Content-Type" = "application/json";
Date = "Tue, 06 Sep 2016 23:41:24 GMT";
Etag = "\"4800a836fee27c56a3cce1f0f2bddaefa5a7785b\""; …Run Code Online (Sandbox Code Playgroud)