如何创建一个单独的类,其中定义所有关于齐射和另一个活动,我们直接传递URL,CONTEXT和获取响应...
在问题的底部阅读编辑以寻找可能的替代解决方案,直到找到解决方案.
这是一个成功的帖子文件,其中包含两个使用POSTMan的参数.我试图通过改造来做同样的事但收到BadRequest.
邮差设置:
现在我在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) 我的目标是从另一个班级调用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)