【发布时间】:2018-04-08 19:27:51
【问题描述】:
我试图在注册过程中从服务器获取响应,但应用程序在尝试获取服务器消息时不断崩溃。下面是向AppControlla.java 发出请求的代码部分,而AppControlla.java 又将请求传递给服务器。
@Override
public void onResponse(String response) {
Log.d(TAG, "Register Response: " + response.toString());
hideDialog();
这是AppControlla.java
import android.app.Application;
import android.text.TextUtils;
import com.app.myapp.JsonRequestActivity;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.Volley;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.POST;
import static android.R.attr.tag;
public class AppController extends Application {
public static final String TAG = AppController.class.getSimpleName();
private RequestQueue mRequestQueue;
private static AppController mInstance;
@Override
public void onCreate() {
super.onCreate();
mInstance = this;
}
public static synchronized AppController getInstance() {
return mInstance;
}
public RequestQueue getRequestQueue() {
if (mRequestQueue == null) {
mRequestQueue = Volley.newRequestQueue(getApplicationContext());
}
return mRequestQueue;
}
public <T> void addToRequestQueue(Request<T> req, String tag) {
req.setTag(TextUtils.isEmpty(tag) ? TAG : tag);//crash occurs here
getRequestQueue().add(req);
}
public <T> void addToRequestQueue(Request<T> req ) {
req.setTag(TAG);
getRequestQueue().add(req);
}
public void cancelPendingRequests(Object tag) {
if (mRequestQueue != null) {
mRequestQueue.cancelAll(tag);
}
}
}
下面是logcat消息
java.lang.NoSuchMethodError: No virtual method setTag(Ljava/lang/Object;)Lcom/android/volley/Request; in class Lcom/android/volley/Request; or its super classes (declaration of 'com.android.volley.Request' appears in /data/app/com.fastchat-2/split_lib_dependencies_apk.apk:classes27.dex) at com.fastchat.AppController.addToRequestQueue(AppController.java:45)
【问题讨论】:
-
提供错误日志信息。
-
addToRequestQueue从未在您的问题中使用。请edit 和minimal reproducible example -
@cricket_007 你想让我添加完整的
registerProcess吗? -
你能给我们你的凌空依赖吗?例如,如果您导入两个内部具有相同 Class 的包,则可能会产生歧义,并且 java 无法解析方法或类。
标签: java android web-services android-volley