У меня проблема в «Apache HTTP клиент» в Версии до SDK23 (например: SDK 22,21,20,19,18, ...) - PullRequest
0 голосов
/ 29 января 2019

Google позволяет вам по-прежнему использовать этот API, но не как встроенный, добавив эту строку в файл gradle:

useLibrary 'org.apache.http.legacy'

Когда я попробовал, он скомпилировался нормально, но когда япопытался использовать некоторые из известных мне классов, которые являются частью старого API (например, класс "HttpClient"), я вижу, что это не позволяет мне это делать.

Я знаю, что не рекомендуется использоватьэто решение, но у нас должно быть приложение, готовое работать там хотя бы временно, пока мы не будем работать на 100% над всеми вещами, которые должны измениться для Android Marshmallow, и мы не хотим сюрпризов в виде сбоев.

Я выполнил переход на Androidx, и теперь Apache httpclinet не поддерживается до SDK версии 23 (например: SDK 22,21,20,19,18, ...).Кто-нибудь может помочь?

HttpClient httpclient=new DefaultHttpClient();
HttpPost httppost=new HttpPost("https://obfuscated/command.php");
httppost.setEntity(new UrlEncodedFormEntity(namevaluepairs, HTTP.UTF_8));
HttpResponse httpresponse=httpclient.execute(httppost);
String response= EntityUtils.toString(httpresponse.getEntity());
.
.
.
android {
    useLibrary 'org.apache.http.legacy'
    compileSdkVersion 28
    defaultConfig {
        applicationId "ir.test.com.test"
        minSdkVersion 14
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
}

и зависимости:


implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'com.google.android.material:material:1.1.0-alpha02'
    implementation 'androidx.legacy:legacy-support-core-utils:1.0.0'
    implementation 'androidx.cardview:cardview:1.0.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'androidx.recyclerview:recyclerview:1.0.0'
    implementation 'androidx.test.espresso:espresso-core:3.1.1'
    androidTestImplementation 'androidx.test:runner:1.1.1'
    androidTestUtil 'androidx.test:orchestrator:1.1.1'

    implementation "cz.msebera.android:httpclient:4.4.1.2"
    implementation 'org.apache.httpcomponents:httpcore:4.4.10'

    configurations.all { resolutionStrategy.force 'com.android.support:support-v4:28.0.0' }
    implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0'
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.nineoldandroids:library:2.4.0'
    implementation 'com.daimajia.slider:library:1.1.5@aar'
    implementation 'com.androidadvance:topsnackbar:1.1.1'
    implementation 'co.ronash.android:pushe-base:1.4.1'
    implementation 'com.google.android.gms:play-services-gcm:16.0.0'
    implementation 'com.google.android.gms:play-services-location:16.0.0'
    implementation('com.crashlytics.sdk.android:crashlytics:2.9.4@aar') {
        transitive = true;
    }

...