标签: android-volley

Android Studio + Volley

我是Android Studio的新手,我想为我的应用程序使用Volley库,但我无法在Android Studio中将源添加为库.

我在网上搜索但找不到任何东西.据说到处都是图书馆,但我不知道怎么做.

我从git存储库获得了截击源:

https://android.googlesource.com/platform/frameworks/volley
Run Code Online (Sandbox Code Playgroud)

但我不知道如何将它作为库添加到我的项目中.

android static-libraries android-studio android-volley

45
推荐指数
3
解决办法
7万
查看次数

Volley和AsyncTask

我读了一篇关于Volley的帖子,我知道这是一个很棒的网络库.但我无法理解一件事.

所有请求都是异步任务?

当我想使用Volley发送asyncTask请求时,我是否需要在AsyncTask中输入Volley请求?或者如果它已经是AsyncTask请求,我应该调用Volley Request吗?

 private class MyClass extends AsyncTask<String, Void, String> {

        @Override
        protected String doInBackground(String... params) {
           // do Volley request
        }
}
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?

android android-networking android-volley

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

拉动刷新recyclerview android

嗨,我有一个标签式活动,在第一个标签中,我从服务器获取数据并在卡片视图中的Recyclerview中显示.要从服务器获取数据,我使用排球库.我想实现Pull to refresh来加载数据(所以每当我拉它就必须向网络发出请求).我还希望每当我在标签之间切换时禁用网络请求(因为当我在我的应用程序中更改标签焦点时它开始获取数据)我只想做一次网络请求(当用户第一次登录时)然后其他人请求仅通过拉动刷新.

这是我的片段,我在这里回收并查看数据:

public class Tab1History extends Fragment
{

private RecyclerView recyclerView;
private CespiteAdapter adapter;
UserSessionManager session;

private static final String URL_DATA = "http://mydata.php";

private List<CespiteOgg> cespiteOggList;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState)
{

    View rootView = inflater.inflate(R.layout.tab1history, container, false);

    recyclerView = (RecyclerView) rootView.findViewById(R.id.my_recycler_view);
    recyclerView.setHasFixedSize(true);//every item of the RecyclerView has a fix size
    recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));

    cespiteOggList = new ArrayList<>();

    loadRecyclerViewData();

            return rootView;
}

private void loadRecyclerViewData()
{
    // Session class instance
    session = new UserSessionManager(getActivity());
    //get …
Run Code Online (Sandbox Code Playgroud)

android android-fragments pull-to-refresh android-volley android-cardview

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

当error.networkResponse为null时,Android Volley中的Http状态代码

我在Android平台上使用Google Volley.我遇到一个问题,其中error参数in onErrorResponse返回null networkResponse 对于我正在使用的RESTful API,我需要确定Http状态代码,它经常以401(SC_UNAUTHORIZED)或500(SC_INTERNAL_SERVER_ERROR)到达,我偶尔可以检查通过:

final int httpStatusCode = error.networkResponse.statusCode;
if(networkResponse == HttpStatus.SC_UNAUTHORIZED) {
    // Http status code 401: Unauthorized.
}
Run Code Online (Sandbox Code Playgroud)

这会抛出一个NullPointerException因为networkResponsenull.

如何确定函数中的Http状态代码onErrorResponse

或者,我如何确保error.networkResponse非空onErrorResponse

android http-status-codes android-volley

43
推荐指数
3
解决办法
6万
查看次数

使用Android排球进行单元测试

我想知道如何为排球框架创建单元测试.模拟请求,响应,以便我可以创建不需要Web服务工作和网络访问的单元测试.

我用谷歌搜索了它,但我根本找不到有关该框架的更多信息

android unit-testing android-volley

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

Android凌空两次发送数据

我在我的应用程序中使用Volley Network Library.

问题是当网络连接缓慢时它会多次发送数据.

在我谷歌这个问题之后,我能找到关于这个问题的所有内容都在下面:

connection.setChunkedStreamingMode(0);
Run Code Online (Sandbox Code Playgroud)

但是我无法编辑我的排球库Hurlkstack课程.

它说:

此类文件的jar属于容器android私有库,它不允许修改其条目上的源附件.

我应该怎么做才能帮助我

我有以下代码我应该修改.

private void makeJsonObjectRequest() {
    JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.POST,
            "http://example.com/***.php", obj, new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {
                    try {
                        response.getString("success");
                        } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                }
            });

    AppController.getInstance().addToRequestQueue(jsonObjReq);
}
Run Code Online (Sandbox Code Playgroud)

android android-volley

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

排球RequestQueue超时

RequestQueue mRequestQueue = Volley.newRequestQueue(getApplicationContext());
mRequestQueue.add(new JsonObjectRequest(Method.GET, cityListUrl, null, new Listener<JSONObject>() 
{
    public void onResponse(JSONObject jsonResults) 
    {
        //Any Call
    }
}, new ErrorListener()
   {
        public void onErrorResponse(VolleyError arg0) 
        {
            //Any Error log
        }
   }
));
Run Code Online (Sandbox Code Playgroud)

这是我的请求调用,我想更改或设置请求的超时.反正有可能吗?

java android connection-timeout android-volley

38
推荐指数
3
解决办法
5万
查看次数

处理Volley错误

我想处理并显示一些消息 onErrorResponse

下面是我的代码.

String url = MainActivity.strHostUrl+"api/delete_picture"; 
jobjDeleteImage = new JsonObjectRequest(Request.Method.POST, url, jobj, new Response.Listener<JSONObject>() {

    @Override
    public void onResponse(JSONObject response) {
        Log.e("Image response", response.toString());


    }
},  new Response.ErrorListener() {

    @Override
    public void onErrorResponse(VolleyError error) {

        Log.e("Volly Error", error.toString());

        NetworkResponse networkResponse = error.networkResponse;
        if (networkResponse != null) {
            Log.e("Status code", String.valueOf(networkResponse.statusCode));
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

我想处理com.android.volley.TimeoutError和其他一些错误代码,如404,503等和Toast消息在这里.

error-handling android android-volley

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

在post post android android volley中发送form-urlencoded参数

我想用表单urlencoded参数创建一个POST JSONObjectRequest.我怎样才能做到这一点?我试过以下代码,但无济于事.

final String api = "http://api.url";
final JSONObject jobj = new JSONObject();
jobj.put("Username", "usr");
jobj.put("Password", "passwd");
jobj.put("grant_type", "password");

final JsonObjectRequest jor = new JsonObjectRequest(

    Request.Method.POST, 
    api, jobj, 
    new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            Toast.makeText(getApplicationContext(), "Login Successful!", Toast.LENGTH_LONG).show();
            //do other things with the received JSONObject
        }
    }, 
    new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Toast.makeText(getApplicationContext(), "Error!", Toast.LENGTH_LONG).show();
        }
    }) {

    @Override
    public Map<String, String> getHeaders() throws AuthFailureError {
        Map<String, String> pars = new HashMap<String, String>(); …
Run Code Online (Sandbox Code Playgroud)

android android-volley

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

如何使用带有字体的凌空发送POST请求?

我正在开发一个与我编写的RESTful Web服务进行通信的Android应用程序.使用Volleyfor GET方法非常简单,但我不能指责POST方法.

我想在POST请求String正文中发送请求,并检索Web服务的原始响应(如200 ok,500 server error).

所有我能找到的是StringRequest不允许发送数据(正文),并且它限制我接收解析的String响应.我也遇到了JsonObjectRequest接受数据(正文)但检索解析后的JSONObject响应.

我决定编写自己的实现,但是我找不到从Web服务接收原始响应的方法.我该怎么做?

rest android web-services android-volley

38
推荐指数
3
解决办法
9万
查看次数