0

私は元々、Android Studio の libs ディレクトリにcompile files('libs/ion-1.3.8.jar')、build.gradle ファイルに含まれていたion-1.3.8.jar を持っていました。また、libsフォルダーにandroidasync-1.3.8.jarがあり、build.gradleにそのエントリがありました。

イオン jar を取り除き、代わりに依存関係を使用したいのですが、jar を削除compile 'com.koushikdutta.ion:ion:2.+して build.gradle ファイルに入れると、エラー ("cannot resolve method get(String...))" が表示されます。私のクラスの1つにある次のコード行: result.getHeaders().get("USER-TOKEN");.

おそらく、そのコード行は本来あるべきものではなかったと思いますが、Ion 1.3.8 では機能しました。何に変更すればいいのかわからず、試行錯誤すればわかると思いますが、コミュニティやKoushに聞いてみたいです。

また、Android Studio は、「バージョン番号に + を使用しないでください。予測不能で再現性のないビルドにつながる可能性があります」と警告しています。これについて何か考えはありますか?

これが私のコードです:

Ion.with(activity)
            .load(url)
            .setJsonObjectBody(loginObject)
            .asJsonObject()
            .withResponse()
            .setCallback(new FutureCallback<Response<JsonObject>>() {
                @Override
                public void onCompleted(Exception e, com.koushikdutta.ion.Response<JsonObject> result) {
                    String errorText = activity.getString(R.string.unable_to_login);
                    if (e != null) {
                        String errorMessage = e.getLocalizedMessage();
                        Log.e(TAG, errorMessage);
                        if (errorMessage.contains(activity.getString(R.string.unable_resolve_host))) {
                            errorText = activity.getString(R.string.no_internet);
                        }
                    }
                    else if (result != null) {
                        JsonElement reply = result.getResult().get(activity.getString(R.string.user));
                        if (reply != null) {
                            errorText = NO_ERROR;
                            SessionManager.setProfile(result.getResult());
                            String userToken = result.getHeaders().get(activity.getString(R.string.user_token));
                            SessionManager.createLoginSession(userToken);
                            if (SessionManager.isProfileComplete()) {
                                activity.startActivity(new Intent(activity, NavigationDrawerActivity.class));
                            }
                            else {
                                activity.startActivity(new Intent(activity, ProfileActivity.class));
                            }
                        }
                        else if (result.getResult().getAsJsonArray(activity.getString(R.string.errors)) != null) {
                            errorText = activity.getString(R.string.login_error);
                        }
                    }
                    else { // There was some other problem logging in
                        Log.e(TAG, "Unknown login problem");
                    }
                    requestCompleted.onRequestCompleted(errorText);
                }
            });
4

2 に答える 2