标签: android-volley

Android Volley - 如何动画图片加载?

任何想法如何在图像加载时播放动画淡入淡出?现在它只是闪烁到位.我正在使用Volley工具包中的NetworkImageView.

另外,有没有办法在不使用ImageLoader.get(..)的情况下在网络图像视图上设置加载和错误位图?

谢谢!

//编辑:好的,多亏你们所有人,但是如果我们想成为完美主义者,我们应该只在从磁盘缓存加载时动画,覆盖setImageBitmap即使从 memcache中拉出也会使动画关闭

你想要做的是shouldAnimate像这样向ImageListener.onResponse 添加一个布尔值

public static ImageListener getImageListener(final ImageView view, final int defaultImageResId,
        final int errorImageResId) {
    return new ImageListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            if (errorImageResId != 0) {
                view.setImageResource(errorImageResId);
            }
        }

        @Override
        public void onResponse(ImageContainer response, boolean isImmediate, boolean shouldAnimate) {
            if (response.getBitmap() != null) {
                if (shouldAnimate) {
                    // ADDED
                    view.setAlpha(0f);
                    view.setImageBitmap(response.getBitmap());
                    view.animate().alpha(1f).setDuration(1000);
                    // END ADDED
                } else {
                    view.setImageBitmap(response.getBitmap());
                }
            } else if (defaultImageResId != …
Run Code Online (Sandbox Code Playgroud)

android animated fadein imageview android-volley

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

Android Volley POST字符串在体内

我正在尝试使用Volley库与我的RESTful API进行通信.

当我要求持票人令牌时,我必须在正文中发布字符串.字符串应如下所示:grant_type = password&username = Alice&password = password123标题:Content-Type:application/x-www-form-urlencoded

有关WebApi个人账户的更多信息:http: //www.asp.net/web-api/overview/security/individual-accounts-in-web-api

不幸的是我无法弄清楚我该如何解决它..

我正在尝试这样的事情:

StringRequest req = new StringRequest(Request.Method.POST, URL, new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        VolleyLog.v("Response:%n %s", response);
                    }
                }, new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        VolleyLog.e("Error: ", error.getMessage());
                    }
                }){
                    @Override
                    protected Map<String, String> getParams() throws AuthFailureError {
                        Map<String, String> params = new HashMap<String, String>();
                        params.put("grant_type", "password");
                        params.put("username", "User0");
                        params.put("password", "Password0");
                        return params;
                    }

                    @Override
                    public Map<String, String> getHeaders() throws AuthFailureError …
Run Code Online (Sandbox Code Playgroud)

asp.net rest android asp.net-web-api android-volley

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

谷歌的Volley lib带有Authenticated Appengine端点?

谷歌最近发布了Volley--一个在Android上处理网络请求的框架.我的问题是可以/应该将此lib与Appengine的云端点一起使用吗?端点为您提供了处理所有网络和身份验证的库,但Volley会有更好的性能吗?例如,当与OkHttp一起使用时,SPDY可以与Volley一起使用,这将提供一些性能/电池增益.是否有人使用Volley进行Appengine Cloud端点的身份验证请求?

谷歌的任何人都希望评论所提供的Google-client-libs与Volley的表现?

google-app-engine android spdy google-cloud-endpoints android-volley

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

Volley Not Parsing 404回应

即使404响应包含基于json的错误代码,当从服务器返回404响应时,Volley也会返回错误.它不解析包含jason的404响应{code:resourceNotFound,msg:message_index}

无论如何让Volley在404消息中处理JSon?我正在集成的服务在无法找到资源时返回404.

android android-volley

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

使用Glide库渲染的图像不正确

我在我的android项目中使用滑动库来获取和显示图像.之前我使用的是2.0.5版,面临渲染问题.问题是错误的图像呈现.我已将库更新到3.3版本,它现在崩溃,出现以下异常.

14-Sep-2014 08:41:31 PM java.lang.IllegalArgumentException: 
You cannot start a load for a destroyed activity
    at com.bumptech.glide.manager.RequestManagerRetriever.get(RequestManagerRetriever.java:63)
    at com.bumptech.glide.manager.RequestManagerRetriever.get(RequestManagerRetriever.java:29)
    at com.bumptech.glide.Glide.with(Glide.java:537)
    at com.miamiheat.common.MHImageDownloadWrapper.loadImage(MHImageDownloadWrapper.java:12)
    at com.miamiheat.ui.module.MHWallpaperModule.setWallpaperViewData(MHWallpaperModule.java:234)
    at com.miamiheat.ui.module.MHWallpaperModule.taskManagerResponseCallback(MHWallpaperModule.java:257)
    at com.miamiheat.service.taskmanager.MHWallpaperTaskManager.asyncResultCallback(MHWallpaperTaskManager.java:133)
    at com.miamiheat.service.framework.MHAsyncServiceTask.onPostExecute(MHAsyncServiceTask.java:191)
    at android.os.AsyncTask.finish(AsyncTask.java:631)
    at android.os.AsyncTask.access$600(AsyncTask.java:177)
    at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:176)
    at android.app.ActivityThread.main(ActivityThread.java:5419)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:525)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
    at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

反正是否取消活动销毁的图像下载请求.

android android-volley android-glide

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

我应该使用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万
查看次数

Android M开发人员预览中的Volley:org.apache.http无法解析

我在Android M开发者预览版中测试了Volley的HurlStack.

之后,我改变compileSdkVersion来自22'android-MNC',从org.apache.http所有的类都不能编译:

import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.ProtocolVersion;
import org.apache.http.StatusLine;
import org.apache.http.entity.BasicHttpEntity;
import org.apache.http.message.BasicHeader;
import org.apache.http.message.BasicHttpResponse;
import org.apache.http.message.BasicStatusLine;
Run Code Online (Sandbox Code Playgroud)

如何修改我的代码来解决这个问题?

我知道有一些与Apache HTTP客户端相关的更改,但是当我按照添加useLibrary 'org.apache.http.legacy'gradle 的步骤操作时,它仍然无效.

参考:HurlStack.java AOSP

行为更改:Apache HTTP客户端删除

android android-volley android-mnc

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

Android Volley请求标识onErrorResponse部分

public void getTestDats(String unique_id) {
    final String tag = "testList";
    String url = Constants.BASE_URL + "test_module.php";
    Map<String, String> params = new HashMap<String, String>();
    params.put("user_id", SharedPreferenceUtil.getString(Constants.PrefKeys.PREF_USER_ID, "1"));
    params.put("unique_id", unique_id);//1,2,3,4,5
    DataRequest loginRequest = new DataRequest(Method.POST, url, params, new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            switch (response.optInt("unique_id")) {
                case 1:
                    //task 1
                    break;
                case 2:
                    //task 2
                    break;
                default:
                    //nothing
            }
        }
    }, new ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
                //I want to know which unique_id request is failed …
Run Code Online (Sandbox Code Playgroud)

api android android-volley

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

Volley要求不与Django Sessions合作

我在服务器上运行了Django脚本,为发送到服务器的每个请求创建会话变量.该脚本根据先前存储的会话变量返回特定值.

当我在浏览器上测试脚本时,Django上的会话按照要求工作.

但是,在使用Volley发送相同请求时,脚本会将每个请求视为新请求,而不考虑先前的会话变量.

    StringRequest stringRequest = new StringRequest(Request.Method.GET,Send_URL,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    Response(response);
                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
        }
    });
    requestQueue.add(stringRequest);
}
Run Code Online (Sandbox Code Playgroud)

RequestQueue defined globally and context assigned in the onCreate() method

PS我通过浏览器请求重新检查它的工作原理.所以Django End没有问题.
谢谢!

django session android android-volley

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

如何使用volley库在android中发送授权头

在此输入图像描述

如何使用android中的volley库为GET方法发送Authorization标头请帮我谢谢

JsonObjectRequest req = new JsonObjectRequest(Request.Method.GET, url,
            null, new Response.Listener<JSONObject>() {

        @Override
        public void onResponse(JSONObject response) {
            Log.d("Response", response.toString());
            pd.dismiss();

            Toast.makeText(MainActivity.this, "" + response.toString(), Toast.LENGTH_SHORT).show();
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            VolleyLog.d("Error", "Error: " + error.getMessage());
            Toast.makeText(MainActivity.this, "" + error.getMessage(), Toast.LENGTH_SHORT).show();
            pd.dismiss();

        }
    }) {
        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            HashMap<String, String> headers = new HashMap<String, String>();
            headers.put("Authorization", "2e96e0a4ff05ba86dc8f778ac49a8dc0");
            return headers;
        }
    };
Run Code Online (Sandbox Code Playgroud)

这是我的代码请帮帮我提前谢谢

android android-volley

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