小编Use*_*689的帖子

我应该使用OkHttp和Volley库吗?

我在我的Android应用程序中使用Volley库.它工作正常,但我看到OkHttp也提供了一些更多的改进.我使用以下方法将OkHttp与Volley集成:

Volley.newRequestQueue(mCtx.getApplicationContext(), new OkHttpStack());
Run Code Online (Sandbox Code Playgroud)

我的OkHttpStack类是:

public class OkHttpStack extends HurlStack {
    private final OkUrlFactory mFactory;

    public OkHttpStack() {
        this(new OkHttpClient());
    }

    public OkHttpStack(OkHttpClient client) {
        if (client == null) {
            throw new NullPointerException("Client must not be null.");
        }
        mFactory = new OkUrlFactory(client);
    }

    @Override protected HttpURLConnection createConnection(URL url) throws IOException {
        return mFactory.open(url);
    }
}
Run Code Online (Sandbox Code Playgroud)

1)值得吗?我没有注意到任何明显的改进,但这可能是因为我还没有在我的服务器上实现SPDY支持.

2)OkHttp的增强功能是响应缓存.但是,凌空也是如此.我是否会遇到类似的问题:https://github.com/square/okhttp/issues/680

3)另外,我在Volley中使用两个RequestQueues - 一个用于图像,另一个用于JSON.我应该在两个队列中使用OkHttp吗?

android android-volley okhttp

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

params.getBehaviour() 返回空值

我在玩新的 Android 设计库。CollapsingToolbarLayout 完美运行。但是,我无法将工具栏的默认状态设置为折叠。

我正在尝试实施此处此处显示的解决方案

我在活动的 onResume 中调用以下代码:

   CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) appBarLayout.getLayoutParams();
    AppBarLayout.Behavior behavior = (AppBarLayout.Behavior) params.getBehavior();
    if(behavior!=null)
    {
        Log.d("DEBUG", "Behaviour is Not Null ");
        int[] consumed = new int[2];
        behavior.onNestedPreScroll(coordinator, appBarLayout, null, 0, 1000,consumed);
//      behavior.onNestedFling(coordinator, appBarLayout, null, 0, 10000, true);
     }
     else
          Log.d("DEBUG", "Behaviour is Null " );
Run Code Online (Sandbox Code Playgroud)

但是,params 返回的行为为空。我的 xml 代码与此处相同,除了我不使用抽屉并且 CordinatorLayout 是我的根布局。

编辑:我之前尝试将 AppBarLayout.Behavior 切换为 AppBarLayout.ScrollingViewBehavior 并将 AppBarLayout 的 layout_behavior 设置为 @string/appbar_scrolling_view_behavior,但它导致了奇怪的布局。

罗宾的回答效果很好。为了补充这一点,还可以使用 AppBarLayout 中的以下标记在 xml 中设置行为:

app:layout_behavior="android.support.design.widget.AppBarLayout$Behavior"
Run Code Online (Sandbox Code Playgroud)

android toolbar android-design-library

5
推荐指数
1
解决办法
2191
查看次数