0

Ich habe ein Problem mit ActiveAndroid beim Speichern von Daten.Verursacht von: java.lang.SecurityException: Feldkonstruktor kann nicht zugänglich gemacht werden

Obiges ist die Mapping-Klasse für die Antwort, die durch Nachrüstung beim Abrufen von Daten aus der Web-API erhalten wird. Aber ich habe und Fehler so.

Schwerwiegende Ausnahme: main Prozess: com.bidhee.onlinepayment, PID: 3826 java.lang.IllegalArgumentException: Kann nicht Konverter für Klasse com.bidhee.onlinepayment.model.login.LoginResponse für Verfahren zu schaffen, LoginApi.getResponse bei retrofit2.ServiceMethod $ Builder.methodError (ServiceMethod.java:695) bei retrofit2.ServiceMethod $ Builder.createResponseConverter (ServiceMethod.java:681) bei retrofit2.ServiceMethod $ Builder.build (ServiceMethod.java:166) bei retrofit2.Retrofit.loadServiceM ethod (Retrofit.java:166) bei retrofit2.Retrofit $ 1.invozieren (Retrofit.java:145) bei java.lang.reflect.Proxy.invoke (Proxy.java:393) bei $ Proxy2.getResponse (unbekannte Quelle) bei com.bidhee.onlinepayment.ui.viewpresenter.login.LoginPresenterImpl.attemptLogin (LoginPresenterImpl.java:39) bei com.bidhee.onlinepayment.ui.viewpresenter.login.LoginRegisterActivity.onBtnSignInClicked (LoginRegisterActivity.java:93) bei com.bidhee.onlinepayment.ui.viewpresenter.login.LoginRegisterActivity $$ ViewBinder $ 1.doClick (LoginRegisterActivity $$ ViewBinder.java: 23) bei butterknife.internal.DebouncingOnClickListener.onClick (DebouncingOnClickListener.java:22) bei Android. view.View.performClick (View.java:5198) bei android.view.View $ PerformClick.run (View.java:21147) bei android.os.Handler.handleCallback (Handler.java:739) bei Android. os.Handler.dispatchMessage (Handler.java:95) bei android.os.Looper.loop (Looper.java:148) bei android.app.ActivityThread.main (ActivityThread.java:5417) bei java.lang. reflect.Method.invoke (Native Methode) bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616) verursacht durch: java.lang.SecurityException: Feldkonstruktor kann nicht zugänglich gemacht werden unter java.lang.reflect.Constructor.setAccessible (Constructor.java:334) unter com.google.gson.internal.ConstructorConstructor.newDefaultConstructor (ConstructorConstructor.java:101) unter com.google.gson.internal.ConstructorConstructor. erhalten (ConstructorConstructor.java:83) bei com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create (ReflectiveTypeAdapterFactory.java:95) bei com.google.gson.Gson.getAdapter (Gson.java:416) bei com.google.gson.internal.bind.MapTypeAdapterFactory.getKeyAdapter (MapTypeAdapterFactory.java:140) unter com.google.gson.internal.bind.MapTypeAdapterFactory.create (MapTypeAdapterFactory.java:125) bei com.google.gson. Gson.getAdapter (G son.java:416) unter com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getFieldAdapter (ReflectiveTypeAdapterFactory.java:135) unter com.google.gson.internal.bind.ReflectiveTypeAdapterFactory $ 1. (ReflectiveTypeAdapterFactory.java:105) bei com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField (ReflectiveTypeAdapterFactory.java:104) bei com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields (ReflectiveTypeAdapterFactory.java:160) bei com.google.gson.internal.bind.ReflectiveTypeAdapterFactory. create (ReflectiveTypeAdapterFactory.java:96) bei com.google.gson.Gson.getAdapter (Gson.java:416) bei com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getFieldAdapter (ReflectiveTypeAdapterFactory.java:135) bei com.google.gson.internal.bind.ReflectiveTypeAdapterFactory $ 1. (ReflectiveTypeAdapterFactory.java:105) unter com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField (ReflectiveTypeAdapterFactory.java:104) bei com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields (ReflectiveTypeAdapterFactory.java:160) bei com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create (ReflectiveTypeAdapterFactory.java:96) bei com.google. gson.Gson.getAdapter (Gson.java:416) bei retrofit2.converter.gson.GsonConverterFactory.responseBodyConverter (GsonConverterFactory.java:63) bei retrofit2.Retrofit.nextResponseBodyConverter (Retrofit.java:325) bei retrofit2.Retrofit. responseBodyConverter (Retrofit.java308) bei retrofit2.ServiceMethod $ Builder.createResponseConverter (ServiceMethod.java:679) bei Retrofit2.ServiceMethod $ Builder.build (ServiceMethod.java:166) bei retrofit2.Retrofit.loadServiceMethod (Retrofit.java:166) bei retrofit2.Retrofit $ 1.invoke (Retrofit.java:145) bei java.lang.reflect.Proxy.invoke (Proxy.java:393) bei $ Proxy2.getResponse (Unknown Source) bei com.bidhee.onlinepayment.ui.viewpresenter.login.LoginPresenterImpl.attemptLogin (LoginPresenterImpl.java:39) bei com.bidhee.onlinepayment.ui.viewpresenter.login.LoginRegisterActivity.onBtnSignInClicked (LoginRegisterActivity .java: 93) bei com.bidhee.onlinepayment.ui.viewpresenter.login.LoginRegisterActivity $$ ViewBinder $ 1.doClick (LoginRegisterActivity $$ ViewBinder.java: 23) bei butterknife.internal.DebouncingOnClickListener.onClick (Deb ouncingOnClickListener.java:22) bei android.view.View.performClick (View.java:5198) bei android.view.View $ PerformClick.run (View.java:21147) bei android.os.Handler.handleCallback (Handler.java:739) bei android.os.Handler.dispatchMessage (Handler.java:95) bei android.os.Looper.loop (Looper.java:148) bei android.app.ActivityThread.main (ActivityThread. java: 5417) bei java.lang.reflect.Method.invoke (Mutter Methode) bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) bei com.android.internal.os .ZygoteInit.main (ZygoteInit.java:616)

Es funktionierte gut vor ActiveAndroid Aber wenn ich versuche, Active Android zu verwenden, habe ich die oben genannten Fehler. ich kann gleich das manuell erstellte objekt verschiedener klasse und speichere es aber beim nachrüsten und aktivem android kann ich nicht.

Ich bin mit Retrofit mit den Abhängigkeiten

Kompilierung 'com.squareup.retrofit2: Nachrüstung: 2.0.2'

Kompilierung ‚com.squareup.retrofit2: Wandler-Gson: 2,0.2'

Dies ist, wie ich bin den Aufbau des Nachrüst Client

okhttpClientBuilder = new OkHttpClient.Builder(); 
     retrofitBuilder = new Retrofit.Builder(); 

     client = okhttpClientBuilder 
       .addInterceptor(new ApiInterceptor()) 
       .build(); 

     retrofit = retrofitBuilder 
       .baseUrl(BuildConfig.BASE_URL) 
       .addConverterFactory(GsonConverterFactory.create()) 
       .client(client) 
       .build(); 

So wie ich die api nenne wird

Retrofit retrofit = OnlinePaymentApplication.getRetrofit(); 
     APIs.LoginApi api = retrofit.create(APIs.LoginApi.class); 
     Call<LoginResponse> call = api.getResponse(grantType, clientId, clientSecret, userName, userPassword); 
     call.enqueue(new Callback<LoginResponse>() { 
      @Override 
      public void onResponse(Call<LoginResponse> call, Response<LoginResponse> response) { 
       loginView.hideProgress(); 

       if (response.isSuccessful()) { 
        loginView.onLoginDataReceived(response.body()); 
       } else { 
        ErrorResponse error = ErrorUtils.parseError(response); 
        loginView.onErrorMessageReceived(error.getMessage()); 
       } 
      } 

      @Override 
      public void onFailure(Call<LoginResponse> call, Throwable t) { 
       loginView.hideProgress(); 

       if (t instanceof IOException) { 
        loginView.onErrorMessageReceived(MetaData.NETWORK_ERROR); 
       } else { 
        loginView.onErrorMessageReceived(t.getLocalizedMessage()); 
       } 

      } 
     }); 
+0

hinzufügen, wo Sie es nennen –

+0

Ich habe meine Frage aktualisiert –

Antwort

0

müssen Sie angeben, dass Sie einen Gson Konverter will mit Version 2.0.0 wie folgt:

Retrofit retrofit = new Retrofit.Builder() 
    .baseUrl(URL) 
    .addConverterFactory(GsonConverterFactory.create()) 
    .build(); 
Verwandte Themen