标签: android-volley

Android Studio:错误:非法字符:'\ u2028'

我正在尝试执行JSONObject请求:

final String URL = "https://some/url";

// Post params to be sent to the server
HashMap<String, String> params = new HashMap<String, String>();
params.put("param1", param1);
?params.put("param2", param2);
?params.put("param3", param3);?    
params.put("param4", param4);


JsonObjectRequest req = new JsonObjectRequest(URL, new JSONObject(params), new Response.Listener<JSONObject>() {
    @Override
    public void onResponse(JSONObject response) {
        try {
            VolleyLog.v("Response:%n %s", "läuft");
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
}, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        VolleyLog.e("Error: ", error.getMessage());
    }
});

// add the request object to …
Run Code Online (Sandbox Code Playgroud)

java string android android-studio android-volley

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

使用Volley发送帖子请求并以PHP格式接收

我试图在我的项目中使用volley来处理我的所有HTTP请求,因为据我所知它是最有效的.所以我开始通过AndroidHive教程学习排球.

我的第一个GET请求是成功的.然后我转到POST请求,但我失败了.我在Stack Overflow上看到很多人在将截击请求与PHP结合起来时遇到了问题.我相信我们无法使用正常方式访问它,$_POST[""]因为齐射将JSON对象发送到我们指定的URL.

我尝试了许多解决方案,但没有成功.我想应该有一个简单而标准的方法来使用PHP的凌空.所以我想知道在我的PHP代码中接收volley发送的json对象需要做什么.

还有我如何检查凌空是否真的发送JSON对象?

我的凌空代码发送简单的帖子请求:

JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.POST,
                url, null,
                new Response.Listener<JSONObject>() {

                    @Override
                    public void onResponse(JSONObject response) {
                        Log.d(TAG, response.toString());
                        pDialog.hide();
                    }
                }, new Response.ErrorListener() {

                    @Override
                    public void onErrorResponse(VolleyError error) {
                        VolleyLog.d(TAG, "Error: " + error.getMessage());
                        pDialog.hide();
                    }
                }) {

            @Override
            protected Map<String, String> getParams() {
                Map<String, String> params = new HashMap<String, String>();
                params.put("name", "Droider");
                return params;
            }

        };

// Adding request to request queue
AppController.getInstance().addToRequestQueue(jsonObjReq, tag_json_obj);
Run Code Online (Sandbox Code Playgroud)

我的PHP代码接收json对象:(我很确定这是错误的方式,我在PHP中不是那么好)

<?php
    $jsonReceiveData …
Run Code Online (Sandbox Code Playgroud)

php android json http android-volley

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

取消所有排球请求Android

目前我正在片段中的停止方法上使用mRequestQueue.cancelAll(getActivity()),但显然当我将手机从横向移动到肖像时,它仍然返回请求中的数据但导致崩溃,因为持有者为数据剂量已经存在.任何正确的代码示例代码?

android android-volley

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

Android Volley - BasicNetwork.performRequest:意外的响应代码400

问题陈述:

我试图访问一个REST API,它将使用Volley返回各种HTTP状态代码(400,403,200等)的JSON对象.

对于200以外的任何HTTP状态,似乎"意外响应代码400"是一个问题.有没有人有办法绕过这个'错误'?

码:

protected void getLogin() {   
    final String mURL = "https://somesite.com/api/login";

    EditText username = (EditText) findViewById(R.id.username);
    EditText password = (EditText) findViewById(R.id.password);

    // Post params to be sent to the server
    HashMap<String, String> params = new HashMap<String, String>();
    params.put("username", username.getText().toString());
    params.put("password", password.getText().toString());

    JsonObjectRequest req = new JsonObjectRequest(mURL, new JSONObject(
            params), new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {

            try {
                JSONObject obj = response
                        .getJSONObject("some_json_obj");

                Log.w("myApp",
                        "status code..." + obj.getString("name"));

                // VolleyLog.v("Response:%n %s", response.toString(4));

            } catch (JSONException …
Run Code Online (Sandbox Code Playgroud)

android android-volley

22
推荐指数
4
解决办法
9万
查看次数

从API23移除Apache HTTP Client会对Volley产生影响吗?

正如我们所知,Apache HTTP Client已在API 23中删除

Apache HTTP客户端删除

但是,Volley库目前仍然使用Apache的库如

import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.StatusLine;
import org.apache.http.conn.ConnectTimeoutException;
import org.apache.http.impl.cookie.DateUtils;
Run Code Online (Sandbox Code Playgroud)

我测试了2个项目:一个用于compileSdkVersion 22,另一个用于compileSdkVersion 23获得2个截图:

compileSdkVersion 22

在此输入图像描述

compileSdkVersion 23

在此输入图像描述

我有两个问题:

  1. 当然,使用Volley的API23项目仍然可以成功运行.但是,我不明白他们如何Apache在运行时使用该库,他们是在API22或更低版本中找到的?
  2. 而且,我想知道在不久的将来,Volley会升级以便不再使用Apache图书馆吗?如果没有,当Apache我的图书馆完全删除并且不受支持时,我现在的项目是否仍会继续使用?

也许我的英语不太清楚,但希望你能理解我的问题.

任何解释将不胜感激.

更新:

从@ random的评论中,我使用谷歌的官方Volley库创建了一个新的API23项目(我的意思git clone https://android.googlesource.com/platform/frameworks/volley是谷歌建议的这里),而不是compile 'com.mcxiaoke.volley:library:1.0.17'build.gradle文件中使用.是的,在构建项目时因缺少Apache库而出错.必须按文档添加useLibrary 'org.apache.http.legacy'build.gradle文件中.


第二次更新:

我刚刚定制了谷歌的排球(作为我项目中的一个模块),删除了Apache库.请转到我的GitHub示例项目供您参考.但请注意,它尚未针对所有情况进行全面测试,并且我仅测试了02个简单案例:GET并且POST我的Web服务请求是ASP.NET Web …

apache android httpresponse android-volley android-api-levels

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

Android Volley + Loader模式?

我有点喜欢Volley框架,但我仍然对它有些怀疑.

例如,Volley如何与Loader模式对齐?由于它的请求是以异步方式处理的,因此在后台调用它并没有多大意义.另一方面,如果我们忽略Loader模式,我们将取消加载并重新加载必要的资源,这有点浪费.

Volley框架如何与Android中的Loaders一起使用?

android android-loader android-volley

21
推荐指数
2
解决办法
4665
查看次数

如何从Volley项目中创建一个.jar?

如何从Volley项目(git存储库)中创建.jar文件?

我试图按照此答案中的说明操作,但是android update project -p .在克隆volley文件夹中运行会抛出此错误:

Error: . is not a valid project (AndroidManifest.xml not found).
Run Code Online (Sandbox Code Playgroud)

android android-volley

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

null对象引用上的NullPointerException addToRequestQueue(com.android.volley.Request,java.lang.String)'

我正在使用AndroidHive寄存器登录,它在这个登录寄存器的示例项目中工作正常.

但经过多次尝试使用CardViews和其他小部件尝试后,此错误出现在LogCat:

java.lang.NullPointerException: Attempt to invoke virtual method 'void client.myproject.app.AppController.addToRequestQueue(com.android.volley.Request, java.lang.String)' on a null object reference
            at client.myproject.RegisterActivity.registerUser(RegisterActivity.java:185)
            at client.myproject.RegisterActivity.access$300(RegisterActivity.java:35)
            at client.myproject.RegisterActivity$1.onClick(RegisterActivity.java:81)
            at android.view.View.performClick(View.java:4780)
            at android.view.View$PerformClick.run(View.java:19866)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5254)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Run Code Online (Sandbox Code Playgroud)

虽然这些代码在单个应用程序中正常工作(只需注册登录).

我正在使用Volley库.

android android-volley

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

Rxjava和Volley请求

我的问题应该听起来像傻瓜,但我只是从Asynktask跳到RxJava.所以:

可以使用RxJava Observable和Volley Requests吗?这意味着,使用未来的请求.

我问这个问题,因为像改造这样的另一个httpClient 使用RxJava非常好,但是个人喜欢Volley,所以它可能吗?

编辑

基于第一个答案,我知道这是可能的.

你能分享一些展示如何做到这一点的样本吗?

android android-volley rx-java

21
推荐指数
2
解决办法
9815
查看次数

用凌空上传多个图像?

我在SO和其他内容中也经历了很多帖子.但我无法获得任何最新的官方或其他帖子,其中不包含任何弃用的代码,用于使用volley上传多个图像.我开始了解Apache HTTP Client删除和相关的新的Android M和首选使用下面的代替.

android {
    useLibrary 'org.apache.http.legacy'
}  
Run Code Online (Sandbox Code Playgroud)

那么,任何人都可以通过新的更新已弃用的减少排球类来帮助我进行多个图像上传吗?

java android multipart android-volley

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