相关疑难解决方法(0)

如何为排球库制作单独的类并从另一个活动中调用所有排球方法并获得响应?

如何创建一个单独的类,其中定义所有关于齐射和另一个活动,我们直接传递URL,CONTEXT和获取响应...

android android-volley

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

Retrofit 2无法上传带有两个额外字符串参数的文件

在问题的底部阅读编辑以寻找可能的替代解决方案,直到找到解决方案.

这是一个成功的帖子文件,其中包含两个使用POSTMan的参数.我试图通过改造来做同样的事但收到BadRequest.

邮差设置:

在此输入图像描述

Chrome网络帖子详情: 在此输入图像描述

现在我在Android中如何做到这一点但失败了:

改造服务接口:

@Multipart
@POST("jobDocuments/upload")
Call<ResponseBody> upload(@Part("file") MultipartBody.Part file,@Part("folder") MultipartBody.Part folder,@Part("name") MultipartBody.Part name);
Run Code Online (Sandbox Code Playgroud)

这是我的@Background方法,用于生成上述服务来运行网络请求

CustDataClient service =
            ServiceGenerator.createService(CustDataClient.class);
    File file = new File(fileUri.getPath());
    // create RequestBody instance from file
    RequestBody requestFile =
            RequestBody.create(MediaType.parse("multipart/form-data"), file);

    MultipartBody.Part fileData =
            MultipartBody.Part.createFormData("file", fileName, requestFile);
    MultipartBody.Part folder =
            MultipartBody.Part.createFormData("folder", "LeadDocuments");
    MultipartBody.Part name =
            MultipartBody.Part.createFormData("name", fileName);
    // finally, execute the request
    Call<ResponseBody> call = service.upload(fileData,folder,name);
    try {
        Response<ResponseBody> rr = call.execute();
        ResponseBody empJobDocsResult = rr.body();//Bad Request here :(
        Log.v("Upload", "success");
    } catch …
Run Code Online (Sandbox Code Playgroud)

android file-upload android-networking retrofit retrofit2

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

如何为跨类Volley方法调用创建一个合适的Volley Listener

我的目标是从另一个班级调用Volley,这是一种非常简洁,模块化的方式,即:

            VolleyListener newListener = new VolleyListener();
            VolleySingleton.getsInstance().somePostRequestReturningString(getApplicationContext(), newListener);
            JSONObject data = newListener.getResponse();
Run Code Online (Sandbox Code Playgroud)

但是在让侦听器部分工作以便能够从诸如的方法访问结果数据方面遇到了麻烦

newListener.getResponse();
Run Code Online (Sandbox Code Playgroud)

本网站上有一些问题,通常概述了如何设置来自另一个类的凌空调用,例如:Android Volley - 如何隔离另一个类中的请求.我已经成功地让方法调用工作,但是现在将这些数据放入当前类中以便使用已经造成了麻烦.

我在VolleySingleton班上的行动如下:

public void somePostRequestReturningString(final Context context,final VolleyListener<String> listener) {

        final String URL = "http://httpbin.org/ip";

        JsonObjectRequest set = new JsonObjectRequest(Request.Method.GET, URL, ((String) null),
                new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject response) {

                        listener.outPut = response.toString();
                        //Toast.makeText(context, response.toString(), Toast.LENGTH_LONG).show();
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        Log.d("Error.Response", error.toString());
                    }
                }
        );

        mRequestQueue.add(set);
}
Run Code Online (Sandbox Code Playgroud)

并且在监听器类中:

public class …
Run Code Online (Sandbox Code Playgroud)

java android callback listener android-volley

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