小编Alf*_*sen的帖子

Android网络库的比较:OkHTTP,Retrofit和Volley

来自iOS开发人员学习Android的两部分问题,研究Android项目,该项目将发出从JSON到图像到音频和视频的流媒体下载的各种请求:

  1. 在iOS上,我广泛使用了AFNetworking项目.是否有适用于Android的等效库?

  2. 我已经阅读了OkHTTP和Square的改造,以及Volley,但还没有与他们一起开发的经验.我希望有人可以提供一些最佳使用案例的具体例子.从我所看到的,看起来OkHTTP是三者中最强大的,并且可以处理这个项目的要求(如上所述).

networking android android-networking retrofit

563
推荐指数
7
解决办法
23万
查看次数

使用UIViewControllerInteractiveTransitioning委托协议实现自定义UIViewController交互式转换的正确方法

我对如何创建NSObject实现UIViewControllerInteractiveTransitioning协议的子类的简洁示例感兴趣,以管理两个UIViewControllers 之间的自定义交互式转换.理想情况下,响应轻扫手势.类似于现在附带的iOS7默认交互式滑动UINavigationController,但这是一个自定义/手动实现示例.

我已经阅读了文档:

并在其他地方看了几个例子:

  • (我设置了它,但更多的是UIViewController containment和手动实现这些转换而不是UIViewControllerInteractiveTransitioning

文档相当清楚,但不引用示例代码.这些例子还有一些不足之处(关于各个部分如何捆绑在一起的未解答的问题).

所以我的问题是:

  1. 有人可以帮助填补关于如何将手势(例如滑动)绑定到实现UIViewControllerInteractiveTransitioning协议的对象的空白吗?
  2. 实现UIViewControllerInteractiveTransitioning协议的对象与实现UIViewControllerAnimatedTransitioning协议的对象之间有什么关系?好像你必须要同时触发交互式转换......

提前致谢...

objective-c uiviewcontroller ios ios7

44
推荐指数
2
解决办法
2万
查看次数

如何使用Square的Retrofit网络库实现异步回调

作为一名开始使用Android的iOS开发人员,我遇到了Retrofit.我理解如何实现同步请求,但是在使用成功/失败回调实现异步请求时遇到了问题.具体来说,Callback语法对我来说并不清楚,并且没有具体的例子说明如何在Retrofit 网站,Square 博客引入Retrofit或我见过的其他地方这样做.有人可以发一些示例代码吗?我在Retrofit repo中提出了一个问题,要求他们用这个信息更新README.

java networking android asynchronous retrofit

28
推荐指数
1
解决办法
3万
查看次数

如何以编程方式检测供应配置文件是用于开发还是分发

我想检测给定的配置文件是开发配置文件还是分发(a​​dhoc或app store)配置文件.我需要纯粹以编程方式执行此操作.

我已经了解了如何检测adhoc vs appstore.我特别感兴趣的是开发与分销.

我检查了每种类型的配置文件内部的plists,但找不到可辨别的差异(via security cms -D -i #{@profilePath}).我也调查了opensslapi并使用它进行一些证书操作.

这适用于自定义xcode自动构建系统.作为预构建验证的一部分,我需要确保指定的配置文件不用于开发.

这甚至可能吗?如果是这样,我如何以编程方式区分这两者?

提前感谢任何想法!

xcode openssl xcodebuild provisioning-profile

27
推荐指数
4
解决办法
1万
查看次数

有没有办法设置一个基本请求参数,以包含在使用Square的Retrofit库进行的每个请求中?

我正在使用Square的Retrofit库进行短期网络调用.我@Query在每个请求中都包含了一些数据作为参数.像这样:

@GET("/thingOne.php")
void thingOne(
        @Query("app_version") String appVersion,
        @Query("device_type") String deviceType,
        Callback<Map<String,Object>> callback
);

@GET("/thingTwo.php")
void thingTwo(
        @Query("app_version") String appVersion,
        @Query("device_type") String deviceType,
        Callback<Map<String,Object>> callback
);
Run Code Online (Sandbox Code Playgroud)

必须定义appVersiondeviceType为每个端点中概述的每个端点都很麻烦Interface.有没有办法设置每个请求应包含的基本参数集?类似于我们如何设置共同的东西Authorization Header

RestAdapter restAdapter = new RestAdapter.Builder()
    .setServer("...")
    .setRequestHeaders(new RequestHeaders() {
        @Override
        public List<Header> get() {
            List<Header> headers = new ArrayList<Header>();
                Header authHeader = new Header(
                    "Authorization", "Bearer " + token);
                headers.add(authHeader);
            }
            return headers;
        }
    })
    .build();
this.service = restAdapter.create(ClientInterface.class);
Run Code Online (Sandbox Code Playgroud)

java networking android retrofit

26
推荐指数
1
解决办法
8861
查看次数

如何在Android OKHTTPClient请求上设置(OAuth令牌)授权标头

我可以HTTPURLConnection像这样在普通请求上设置Auth Header :

URL url = new URL(source);  
HttpURLConnection connection = this.client.open(url);  
connection.setRequestMethod("GET");  
connection.setRequestProperty("Authorization", "Bearer " + token);  
Run Code Online (Sandbox Code Playgroud)

这是HttpURLConnection的标准配置.在上面的代码片段中this.client是Square的实例OkHTTPClient(这里).

我想知道是否有一种OkHTTP特定的方式来设置Auth Header?我看到了这个OkAuthenticator类,但我不清楚它是如何使用它/看起来它只处理身份验证挑战.

提前感谢任何指针.

java android oauth httpurlconnection

22
推荐指数
1
解决办法
2万
查看次数

UIPageViewController与UIViewControllerInteractiveTransitioning

简单的问题,我已经对UIViewControllers 之间的自定义导航/转换进行了大量探索,目前还不清楚以下内容:

我正在寻找类似于UIPageViewController提供的行为(基于非堆栈的导航向前和向后通过内容的"页面").但我希望能够自定义过渡,并且我希望过渡链接到自定义UIPanGestureRecognizer.

似乎UIViewControllerInteractiveTransitioning协议提供了我想要的一些东西(交互性,自定义转换).但因为跳变与单独调用presentViewController:animated:dismissViewControllerAnimated:它好像它专门建立与基于堆栈的导航(即使用UINavigationController,UITabBarController模态演示).也就是说它看起来不像是喜欢它UIPageViewController.

如果我使用UIViewController包容来构建类似于的自定义容器UIPageViewController(请参阅此处的进展演示),我可以将UIViewControllerInteractiveTransitioning协议集成到此中以驱动转换吗?或者我需要自己滚动(目前我有一个粗略的手动实现交互式转换)?

iphone objective-c uiviewcontroller ios ios7

21
推荐指数
1
解决办法
899
查看次数

使用Square的Retrofit Client,是否可以取消进行中的请求?如果是这样的话?

我正在使用Square的Retrofit Client从Android应用程序发出短暂的json请求.有办法取消请求吗?如果是这样,怎么样?

java networking android retrofit

18
推荐指数
2
解决办法
2万
查看次数

如何使用NSURLCache在离线时返回缓存的API响应(iOS App)

我希望有人可以对我正在研究的一些事情有所了解,但没有取得多大进展.

我想利用NSURLCache返回我在iOS App中进行的API调用的缓存响应.当设备在线时,我想返回缓存的响应,如果它已经足够,否则从远程获取.当设备离线时,我想立即返回缓存的响应(如果有的话),无论它的年龄如何.

我正在使用AFNetworking.我正在调用的API调用是我控制的服务器.协议是HTTPS.的Cache-Control响应报头是目前"max-age=0, public".我目前没有设置缓存相关的请求标头(我应该吗?).我将请求的缓存策略设置为NSURLRequestReturnCacheDataDontLoad脱机NSURLRequestUseProtocolCachePolicy时在线时使用默认值.我可以在默认Cache.db的磁盘上看到请求及其响应.但是,当我离线时,所有请求都会失败(没有缓存的响应(尽管看起来已被缓存)正在使用/返回.

根据http://nshipster.com/nsurlcache/我初始化一个sharedURLCachein didFinishLaunchingWithOptions并将AFNetworking setCacheResponse块设置为这样的:

NSMutableDictionary *mutableUserInfo = [[cachedResponse userInfo] mutableCopy]; 
NSMutableData *mutableData = [[cachedResponse data] mutableCopy]; 
NSURLCacheStoragePolicy storagePolicy = NSURLCacheStorageAllowed;
return [[NSCachedURLResponse alloc] initWithResponse:[cachedResponse response] data:mutableData userInfo:mutableUserInfo storagePolicy:storagePolicy];

我已经阅读了有关该主题的这些和其他帖子:

http://petersteinberger.com/blog/2012/nsurlcache-uses-a-disk-cache-as-of-ios5/ http://blackpixel.com/blog/2012/05/caching-and-nsurlconnection.html

我想知道是否有人在使用该标准之前是否成功实现了这一功能NSURLCache(也对成功案例感兴趣,SDURLCache但Peter S.说,​​因为支持iOS5磁盘缓存因此SDURLCache不再需要,即我想使用默认内置缓存).

提前致谢!

objective-c nsurlcache ios afnetworking

13
推荐指数
1
解决办法
5578
查看次数

在代码签名期间更新Xcode会产生错误"无法在磁盘上找到代码对象"

我刚刚更新到最新版本的Xcode,并在运行我们的自动构建脚本时遇到错误(他们使用xcodebuildxcrun命令).

### Codesigning '/Users/...日志语句之后立即发生错误,如下所示:

Program /usr/bin/codesign returned 1 : [/var/folders/__/63j90nkn2lg18ct1nq791_nc0000gn/T/g5hbigh1tM/Payload/CurrentTarget.app: replacing existing signature
/var/folders/__/63j90nkn2lg18ct1nq791_nc0000gn/T/g5hbigh1tM/Payload/CurrentTarget.app: cannot find code object on disk
Run Code Online (Sandbox Code Playgroud)

我在这里找到了文档,列出并简要描述了错误,但没有具体说明如何解决它.

因为我花了很长时间寻找解决方案(没有任何关于SO)我将在下面发布答案以防其他人遇到同样的问题.

xcode code-signing xcodebuild ios

10
推荐指数
2
解决办法
5263
查看次数