-3
我使用retrofit android库进行其他api调用。我实现了作为RESTClient实现一个单独的类如下改造Android使错误java.lang.NullPointerException:尝试调用接口方法
RestClient.java
public class RestClient {
private static Api REST_CLIENT;
private static String BASE_URL = "base_url";
public RestClient() {}
public static Api getInstance() {
if (REST_CLIENT != null) {
setupRestClient();
}
return REST_CLIENT;
}
private static void setupRestClient() {
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(BASE_URL)
.build();
REST_CLIENT = restAdapter.create(Api.class);
}
}
然后调用使用
Api api = RestClient.getInstance();
api.getLoginResponse(usernameText, passwordText, android_id, new Callback<LoginResponse>() {
@Override
public void success(LoginResponse loginResponse, Response response) {
Toast.makeText(getApplicationContext(), loginResponse.getToken(), Toast.LENGTH_SHORT).show();
}
@Override
public void failure(RetrofitError error) {
}
});
API,但,当我调试实例值api
总是空,并得到java.lang.NullPointerException:试图调用logcat中的接口方法错误
我相信,如果条件是在'getInstance'方法落后:'如果(REST_CLIENT!= NULL)'意味着如果'REST_CLIENT'已经初始化代码将只运行,否则,你回来正如我们所讨论的那样,REST_CLIENT'总是'null'。 –
[Retrofit android not working and has no error]可能的重复(http://stackoverflow.com/questions/32389584/retrofit-android-not-working-and-has-no-error) –