HttpClient অ্যান্ড্রয়েড স্টুডিওতে আমদানি করবে না


359

আমার অ্যান্ড্রয়েড স্টুডিওতে একটি সহজ ক্লাস লেখা আছে:

package com.mysite.myapp;

import org.apache.http.client.HttpClient;

public class Whatever {
    public void headBangingAgainstTheWallExample () {
        HttpClient client = new DefaultHttpClient();
    }
}

এবং এ থেকে আমি নিম্নলিখিত সংকলন সময় ত্রুটি পেতে:

Cannot resolve symbol HttpClient

HttpClientঅ্যান্ড্রয়েড স্টুডিও এসডিকে অন্তর্ভুক্ত করা হয়নি ? তা না হলেও, আমি এটিকে আমার গ্র্যাডল বিল্ডে এভাবে যুক্ত করেছি:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'org.apache.httpcomponents:httpclient:4.5'
}

শেষ সংকলন লাইনের সাথে বা ছাড়া, ত্রুটিটি একই। আমি কী মিস করছি?


4
পারলে ব্যবহার করার চেষ্টা করুন AndroidHttpClient। এইচটিপিপি্লিয়েন্ট স্টাবগুলি প্রকৃতপক্ষে অ্যান্ড্রয়েড জারের অভ্যন্তরে রয়েছে, সুতরাং এটিকে স্পষ্টভাবে উল্লেখ করার দরকার নেই no মনে রাখবেন যে httpclient এর অ্যান্ড্রয়েড সংস্করণ সম্ভবত 4.1.1। এর উপরে একটি নতুন সংস্করণ ব্যবহার করার চেষ্টা করা সাধারণত সমস্যার জন্য জিজ্ঞাসা করে (পড়ুন: কাজ করে না, কারণ ফার্মওয়্যার শ্রেণিবদ্ধকারী সর্বদা জিতে থাকে)।
hেখ

এর প্রতিলিপি stackoverflow.com/a/32157466/1085264
straya

উত্তর:


813

HttpClientএসডিকে ২৩ এ আর সমর্থিত নয় You URLConnectionআপনাকে এসডিকে 22 ( compile 'com.android.support:appcompat-v7:22.2.0') ব্যবহার করতে বা ডাউনগ্রেড করতে হবে

আপনার যদি এসডিকে 23 প্রয়োজন হয় তবে এটি আপনার গ্রেডে যুক্ত করুন:

android {
    useLibrary 'org.apache.http.legacy'
}

আপনি সরাসরি আপনার প্রকল্পের মধ্যে এইচটিপিপি্লিয়েন্ট জারটি ডাউনলোড বা অন্তর্ভুক্ত করার চেষ্টা করতে পারেন বা পরিবর্তে OkHttp ব্যবহার করতে পারেন



20
এটি আমার ক্ষেত্রে কিছুই করে না। কিভাবে?
অ্যান্ড্রয়েড বিকাশকারী

2
আমি যুক্ত করার সাথে ব্যবহারলিবারি সমাধান করা যায় না। আমার লক্ষ্য 23, আমি কী মিস করছি?
বদর

1
android { useLibrary 'org.apache.http.legacy' } [যখন আপনি এটি যুক্ত করেন] [1] 'org.apache.http' অ্যান্ড্রয়েড-স্টুডিওতে এখনও টিপস রয়েছে: 'প্রতীকটি সমাধান করতে পারে না' [2] এটি অ্যান্ড্রয়েড-স্টুডিও তৈরি করতে পারে (এসডিকে 23 সহ) তৈরি করতে পারে। যদিও টিপস রয়েছে (প্রতীক সমাধান করতে পারে না) [3] আপনি জার যুক্ত করলে এটি কোনও টিপস দেয় না, তৈরি করতে পারে না, তবে !!! চালাতে পারে না, কারণ এতে দুটি অনুলিপি রয়েছে 'org.apache.http'
YETI

1
Volleyলাইব্রেরি ব্যবহার করে বাইরে যে কারও জন্য , নোট করুন যে এই গ্রেডলাইন সংযোজনটি আপনার অ্যাপ্লিকেশনটি নয়, গ্রন্থাগারের জন্য গ্রেড ফাইলটিতে প্রবেশ করা উচিত। পুরোপুরি কাজ করে! অসংখ্য ধন্যবাদ!
sravan953

162

এইচটিপিপ্লিনেন্টকে এপিআই লেভেল 22 এ অবমূল্যায়ন করা হয়েছিল এবং এপিআই লেভেল 23 এ অপসারণ করা হয়েছে। আপনি এখনও এটি এপিআই লেভেল 23 এ ব্যবহার করতে পারেন এবং তারপরে যদি আপনার অবশ্যই প্রয়োজন হয় তবে এইচটিটিপি হ্যান্ডল করার জন্য সমর্থিত পদ্ধতিতে সরিয়ে নেওয়া ভাল। সুতরাং, আপনি যদি 23 এর সাথে সংকলন করেন তবে এটি আপনার বিল্ড.gradle এ যুক্ত করুন:

android {
    useLibrary 'org.apache.http.legacy'
}

4
android { useLibrary 'org.apache.http.legacy' } [যখন আপনি এটি যুক্ত করেন] [1] 'org.apache.http' অ্যান্ড্রয়েড-স্টুডিওতে এখনও টিপস রয়েছে: 'প্রতীকটি সমাধান করতে পারে না' [2] এটি অ্যান্ড্রয়েড-স্টুডিও তৈরি করতে পারে (এসডিকে 23 সহ) তৈরি করতে পারে। যদিও টিপস রয়েছে (প্রতীক সমাধান করতে পারে না) [3] আপনি যদি জার যোগ করেন তবে এটি কোনও টিপস নয়, তৈরি করতে পারে না, তবে !!! চালাতে পারে না, কারণ এতে দুটি অনুলিপি রয়েছে 'org.apache.http'
YETI

1
[২.১] সুতরাং অ্যান্ড্রয়েড স্টুডিওটি বন্ধ করুন এবং এটি আবার শুরু করুন, লিগ্যাসি কোড ব্যবহার করে এমন ফাইল (গুলি) খুলবেন না এবং "টিপস" প্রয়োগ করা হবে না। আপনার যদি ফাইলটি খোলার দরকার হয় তবে এটি আপনাকে কোডটির মালিকানা দেওয়ার পরামর্শ দেয়, সুতরাং [4] আপনার নিয়ন্ত্রণ করা কোডটিতে আপনার এইচটিপিপিলেয়েন্ট ব্যবহার বন্ধ করা উচিত।
স্ট্রেয়া

ডোনট জানেন না কেন (বিল্ড-টুল এবং এসডিকে) 23 এর আচরণ এতটাই বেহাল। ইভেন্ট ডোনট সাপোর্ট ডেভলপাররা কারও মনে 'অ্যাপে HTTP' ব্যবহার করে।
YETI

1
এই আচরণটি এড়াতে আপনাকে অ্যান্ড্রয়েড স্টুডিওটি সর্বশেষ সংস্করণে আপডেট করতে হবে ...... এটি নতুন সংস্করণে ঠিক করা হয়েছে
Rawcoder064

"এইচটিটিপি হ্যান্ডেল করার জন্য সমর্থিত পদ্ধতিগুলি" কী কী?
ওয়ালডিজিস্ট

59

নীচের লিঙ্কে তেজাড্রয়েডের উত্তর আমাকে সহায়তা করেছে। অ্যান্ড্রয়েড স্টুডিওতে org.apache.http.HttpResponse আমদানি করতে পারবেন না

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:23.0.1'

    compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
    ...
}

ধন্যবাদ এটিই একমাত্র সমাধান যা নতুন ইম্পেরিমেন্টাল বিল্ডগুলির সাথে কাজ হিসাবে ব্যবহার করেছে যেমন লাইব্রেরি এতে স্বীকৃত নয়
pt123

এটি আসলে উপরের উত্তরটির চেয়ে ভাল উত্তর! এটি সংকলকের নতুন সংস্করণগুলির সাথে কাজ করে
মাতান দহন

48

এসডিকে স্তর 23 এর জন্য অ্যাপাচি এইচটিটিপি ব্যবহার করতে:

শীর্ষ স্তরের বিল্ড.gradle - / বিল্ড.gradle

buildscript {
    ...
    dependencies {
        classpath 'com.android.tools.build:gradle:1.5.0' 
        // Lowest version for useLibrary is 1.3.0
        // Android Studio will notify you about the latest stable version
        // See all versions: http://jcenter.bintray.com/com/android/tools/build/gradle/
    }
    ...
}

গ্রেড আপডেট সম্পর্কে অ্যান্ড্রয়েড স্টুডিও থেকে বিজ্ঞপ্তি:

গ্রেড আপডেট সম্পর্কে অ্যান্ড্রয়েড স্টুডিও থেকে বিজ্ঞপ্তি

মডিউল নির্দিষ্ট বিল্ড.gradle - /app/build.gradle

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
    ...
    useLibrary 'org.apache.http.legacy'
    ...
}

31

আমার জন্য এটি কাজ করে দেখুন আপনার বিল্ড.gradle ফাইলটিতে এই নির্ভরতা যুক্ত করুন

compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'

16

1- অ্যাপাচি জারের ফাইলগুলি (এই উত্তর হিসাবে) 4.5.zip ফাইল ডাউনলোড করুন:
https://hc.apache.org/downloads.cgi?Preferred=http%3A%2F%2Fapache.arvixe.com%2F

2- জিপ কপিটি জার ফাইলগুলি আপনার লিবস ফোল্ডারে খুলুন। আপনি যদি আপনার প্রকল্পের শীর্ষে যান যেখানে এটি "অ্যান্ড্রয়েড" বলে সেখানে গিয়ে আপনি এটি খুঁজে পেতে পারেন তবে আপনি এটি খুঁজে পেতে পারেন। সুতরাং,

অ্যান্ড্রয়েড -> প্রকল্প -> অ্যাপ্লিকেশন -> libs

, তারপর সেখানে বয়াম রাখা।

3- build.gradle এ (মডিউল: অ্যাপ) অ্যাড করুন

compile fileTree(dir: 'libs', include: ['*.jar'])

ভিতরে

 dependency { 
   }

4- জাভা শ্রেণিতে এই আমদানিগুলি যুক্ত করুন:

import org.apache.http.HttpResponse;

import org.apache.http.client.HttpClient;

import org.apache.http.client.methods.HttpGet;

import org.apache.http.impl.client.DefaultHttpClient;

import org.apache.http.params.CoreProtocolPNames;

14

এইচডিপিপিলেটটি এসডিকে 23-তে আর সমর্থিত নয় Android আপনি ব্যবহার করতে হবে

android {
    useLibrary 'org.apache.http.legacy'
    .
    .
    .

এবং আপনার নির্ভরতার নীচে কোড স্নিপেট যুক্ত করুন:

ওয়েব-সার্ভিসের জন্য // HTTP চূড়ান্ত সমাধান (ফাইল আপলোড সহ)

compile('org.apache.httpcomponents:httpmime:4.3.6') {
        exclude module: 'httpclient'
}
 compile 'org.apache.httpcomponents:httpclient-android:4.3.5'

আপনি ফাইল আপলোডের জন্য মাল্টিপার্টএন্টিটি ব্যবহার করার সময় এটি আপনাকে সহায়তা করবে ।


এটি আপনাকে সাহায্য করে শুনে খুশী
অ্যান্ড্রয়েড_শ

আমার এতে সমস্যা আছে ... সদৃশ এন্ট্রি: org / apache / http / HttpHeeda.class। জানেন কি সমস্যা?
ড্যানিজি

7

এপিআই 22 এ তারা অবনতিহীন হয়ে পড়ে এবং এপিআই 23 এ সেগুলি সম্পূর্ণরূপে সরিয়ে ফেলেছে, নতুন সংযোজন থেকে সমস্ত অভিনব জিনিসগুলির প্রয়োজন না হলে কেবল এপিএ 22-র আগে সংহত হওয়া অ্যাপাচি থেকে .jar ফাইলগুলি ব্যবহার করা তবে একটি সহজ কাজ but পৃথক .jar ফাইল হিসাবে:

1. http://hc.apache.org/downloads.cgi
2. download httpclient 4.5.1, the zile file
3. unzip all files
4. drag in your project httpclient-4.5.1.jar, httpcore-4.4.3.jar and httpmime-4.5.1.jar
5. project, right click, open module settings, app, dependencies, +, File dependency and add the 3 files
6. now everything should compile properly

7

আপনি যদি কিছু শ্রেণি যেমন আমদানি করতে চান তবে:

import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient; 
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;

আপনি বিল্ড.gradle (গ্রেডল নির্ভরতা) এ নিম্নলিখিত লাইনটি যুক্ত করতে পারেন

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.0'
    implementation 'com.android.support:support-v4:27.1.0'

    .
    .
    .

    implementation 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'

}

নিখুঁত উত্তর! আমার খুব পুরানো প্রকল্প আপডেট করার দরকারের পর থেকেই আমাকে মোড়ক.আর.পিচ ব্যবহার করতে হয়েছিল। ধন্যবাদ।
dianakarenms

6

আপনি কেবল এটিকে গ্রেডল নির্ভরতাতে যুক্ত করতে পারেন:

compile "org.apache.httpcomponents:httpcore:4.3.2"

2
এটি সাহায্য করে। আপনি এখনও অন্যান্য ক্লাস ব্যবহার করতে চান তবে কিন্তু এখনও পর্যাপ্ত নয় HttpGet। তার জন্য আমি ব্যবহার করেছিcompile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
আলেকজান্দ্রো

6

অ্যান্ড্রয়েড 6.0 (এপিআই স্তর 23) রিলিজ অ্যাপাচি এইচটিটিপি ক্লায়েন্টের জন্য সমর্থন সরিয়ে দেয়। তাই আপনি এই লাইব্রেরিটি সরাসরি এপিআই 23 তে ব্যবহার করতে পারবেন না But তবে এটি ব্যবহার করার একটি উপায় আছে is আপনার বিল্ড.gradle ফাইলটিতে নিচের মত ব্যবহার লাইব্রেরি 'org.apache.http.legacy' যুক্ত করুন-

android {
    useLibrary 'org.apache.http.legacy'
}

এটি যদি কাজ না করে আপনি নীচের হ্যাক প্রয়োগ করতে পারেন-

- আপনার প্ল্যাটফর্ম / অ্যান্ড্রয়েড -23 / আপনার প্ল্যাটফর্মের অ্যাপ্লিকেশন / লিবিস ফোল্ডারে আপনার অ্যান্ড্রয়েড এসডিকে ডিরেক্টরিটির pathচ্ছিক পথে থাকা org.apache.http.legacy.jar অনুলিপি করুন।

- এখন বিল্ড.gradle ফাইলের বিভাগ build depend নির্ভরতার মধ্যে সংকলিত ফাইল ('libs / org.apache.http.legacy.jar') যুক্ত করুন।


আপনার দেওয়া শেষ বিকল্পটি কাজটি ভাল করে দেয় does আমি প্রশংসা করি.
জোসেফ

5

অ্যাপাচিএইচটিপি ক্লায়েন্টটি v23 এসডিতে সরানো হয়েছে। আপনি এইচটিপিআরএল সংযোগ বা তৃতীয় পক্ষের এইচটিপি ক্লায়েন্টকে OkHttp ব্যবহার করতে পারেন।

রেফ: https://developer.android.com/preview/behavior-changes.html#behavior-apache-http-client


ব্যবহারের HttpUrlConnectionপ্রকৃতপক্ষে এইচটিপিপ্লিনেন্টের পরিবর্তে উত্সাহ দেওয়া হয়েছে
বেন পিয়ারসন


4

HdpClient sdk 23 এবং 23+ তে সমর্থিত নয়।

আপনার যদি sdk 23 ব্যবহার করতে হয়, আপনার গ্রেডের নীচে কোড যুক্ত করুন:

android {
    useLibrary 'org.apache.http.legacy'
}

এটা আমার জন্য কাজ করে। আপনার জন্য দরকারী আশা করি।


SDK সংস্করণ 24
দক্ষিণ মেহতা

4

আপনার যদি এসডিকে 23 প্রয়োজন হয় তবে এটি আপনার গ্রেডে যুক্ত করুন:

android {
    useLibrary 'org.apache.http.legacy'
}

4

আপনাকে কেবল একটি লাইন যুক্ত করতে হবে

useLibrary 'org.apache.http.legacy'

উদাহরণস্বরূপ build.gradle (মডিউল: অ্যাপ) এ

apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "25.0.0"

    useLibrary 'org.apache.http.legacy'

    defaultConfig {
        applicationId "com.avenues.lib.testotpappnew"
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:24.2.1'
    testCompile 'junit:junit:4.12'
}

3

আপনার প্রকল্পের মধ্যে কোন এপিআই টার্গেট রয়েছে? AndroidHttpClientশুধুমাত্র এপিআই লেভেল 8 <এর জন্য। এবং দয়া করে এখানে দেখুন

আপনার কোড উপভোগ করুন :)


3

যেমন পূর্বে উল্লিখিত হয়েছে, এতে org.apache.http.client.HttpClientআর সমর্থিত নয়:

এসডিকে (এপিআই স্তর) # 23।

আপনি ব্যবহার করতে হবে java.net.HttpURLConnection

আপনি আপনার কোড (এবং জীবন) সহজ যখন ব্যবহার করতে চান HttpURLConnection, এখানে হয় Wrapperএই শ্রেণীর আপনার সাথে সহজ অপারেশন করতে দেওয়া হবে যে GET, POSTএবং PUTব্যবহার JSON, উদাহরণস্বরূপ মতো করছেন HTTP PUT

HttpRequest request = new HttpRequest(API_URL + PATH).addHeader("Content-Type", "application/json");
int httpCode = request.put(new JSONObject().toString());
if (HttpURLConnection.HTTP_OK == httpCode) {
    response = request.getJSONObjectResponse();
} else {
  // log error
}
httpRequest.close()

এটি বিনামূল্যে নির্দ্বিধায়।

package com.calculistik.repository;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

/**
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 * <p>
 * Copyright © 2017, Calculistik . All rights reserved.
 * <p>
 * Oracle and Java are registered trademarks of Oracle and/or its
 * affiliates. Other names may be trademarks of their respective owners.
 * <p>
 * The contents of this file are subject to the terms of either the GNU
 * General Public License Version 2 only ("GPL") or the Common
 * Development and Distribution License("CDDL") (collectively, the
 * "License"). You may not use this file except in compliance with the
 * License. You can obtain a copy of the License at
 * https://netbeans.org/cddl-gplv2.html or
 * nbbuild/licenses/CDDL-GPL-2-CP. See the License for the specific
 * language governing permissions and limitations under the License.
 * When distributing the software, include this License Header
 * Notice in each file and include the License file at
 * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this particular file
 * as subject to the "Classpath" exception as provided by Oracle in the
 * GPL Version 2 section of the License file that accompanied this code. If
 * applicable, add the following below the License Header, with the fields
 * enclosed by brackets [] replaced by your own identifying information:
 * "Portions Copyrighted [year] [name of copyright owner]"
 * <p>
 * Contributor(s):
 * Created by alejandro tkachuk @aletkachuk
 * www.calculistik.com
 */
public class HttpRequest {

    public static enum Method {
        POST, PUT, DELETE, GET;
    }

    private URL url;
    private HttpURLConnection connection;
    private OutputStream outputStream;
    private HashMap<String, String> params = new HashMap<String, String>();

    public HttpRequest(String url) throws IOException {
        this.url = new URL(url);
        connection = (HttpURLConnection) this.url.openConnection();
    }

    public int get() throws IOException {
        return this.send();
    }

    public int post(String data) throws IOException {
        connection.setDoInput(true);
        connection.setRequestMethod(Method.POST.toString());
        connection.setDoOutput(true);
        outputStream = connection.getOutputStream();
        this.sendData(data);
        return this.send();
    }

    public int post() throws IOException {
        connection.setDoInput(true);
        connection.setRequestMethod(Method.POST.toString());
        connection.setDoOutput(true);
        outputStream = connection.getOutputStream();
        return this.send();
    }

    public int put(String data) throws IOException {
        connection.setDoInput(true);
        connection.setRequestMethod(Method.PUT.toString());
        connection.setDoOutput(true);
        outputStream = connection.getOutputStream();
        this.sendData(data);
        return this.send();
    }

    public int put() throws IOException {
        connection.setDoInput(true);
        connection.setRequestMethod(Method.PUT.toString());
        connection.setDoOutput(true);
        outputStream = connection.getOutputStream();
        return this.send();
    }

    public HttpRequest addHeader(String key, String value) {
        connection.setRequestProperty(key, value);
        return this;
    }

    public HttpRequest addParameter(String key, String value) {
        this.params.put(key, value);
        return this;
    }

    public JSONObject getJSONObjectResponse() throws JSONException, IOException {
        return new JSONObject(getStringResponse());
    }

    public JSONArray getJSONArrayResponse() throws JSONException, IOException {
        return new JSONArray(getStringResponse());
    }

    public String getStringResponse() throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        StringBuilder response = new StringBuilder();
        for (String line; (line = br.readLine()) != null; ) response.append(line + "\n");
        return response.toString();
    }

    public byte[] getBytesResponse() throws IOException {
        byte[] buffer = new byte[8192];
        InputStream is = connection.getInputStream();
        ByteArrayOutputStream output = new ByteArrayOutputStream();
        for (int bytesRead; (bytesRead = is.read(buffer)) >= 0; )
            output.write(buffer, 0, bytesRead);
        return output.toByteArray();
    }

    public void close() {
        if (null != connection)
            connection.disconnect();
    }

    private int send() throws IOException {
        int httpStatusCode = HttpURLConnection.HTTP_BAD_REQUEST;

        if (!this.params.isEmpty()) {
            this.sendData();
        }
        httpStatusCode = connection.getResponseCode();

        return httpStatusCode;
    }

    private void sendData() throws IOException {
        StringBuilder result = new StringBuilder();
        for (Map.Entry<String, String> entry : params.entrySet()) {
            result.append((result.length() > 0 ? "&" : "") + entry.getKey() + "=" + entry.getValue());//appends: key=value (for first param) OR &key=value(second and more)
        }
        sendData(result.toString());
    }

    private HttpRequest sendData(String query) throws IOException {
        BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
        writer.write(query);
        writer.close();
        return this;
    }

}

2

নির্ভরতার অধীনে এই দুটি লাইন যুক্ত করুন

compile 'org.apache.httpcomponents:httpcore:4.4.1'
compile 'org.apache.httpcomponents:httpclient:4.5'

তারপর

useLibrary 'org.apache.http.legacy'

অ্যান্ড্রয়েড অধীনে


1

আরেকটি উপায় হ'ল যদি আপনার কাছে httpclient.jar ফাইল থাকে তবে আপনি এটি করতে পারেন:

আপনার প্রকল্পের "libs ফোল্ডারে" আপনার .jar ফাইলটি আটকান। তারপরে গ্রেডে আপনার বিল্ড.gradle এ এই লাইনটি যুক্ত করুন (মডিউল: অ্যাপ)

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:23.0.0'
compile files('libs/httpcore-4.3.3.jar')
}

0

ত্রুটি: (30, 0) গ্রেডেল ডিএসএল পদ্ধতি পাওয়া যায় নি: 'শ্রেণিপথ ()' সম্ভাব্য কারণগুলি:

  • প্রকল্প 'সিআইডি' অ্যান্ড্রয়েড গ্রেডল প্লাগ-ইন এর এমন কোনও সংস্করণ ব্যবহার করছে যা পদ্ধতিটি অন্তর্ভুক্ত করে না (উদাহরণস্বরূপ, 'টেস্টকোম্পাইল' 1.1.0-এ যুক্ত হয়েছিল)। প্লাগইনটি সংস্করণ ২.৩.৩ এ আপগ্রেড করুন এবং প্রকল্প সিঙ্ক করুন
  • প্রকল্প 'সিড' পদ্ধতিতে গ্র্যাডেলের এমন একটি সংস্করণ ব্যবহার করা হতে পারে যা এতে নেই। গ্রেডল র‍্যাপার ফাইলটি খুলুন
  • বিল্ড ফাইলটিতে একটি গ্রেডল প্লাগইন অনুপস্থিত। গ্রেডল প্লাগইন প্রয়োগ করুন

  • 0

    অ্যাপ্লিকেশন ট্যাগের ভিতরে ম্যানিফেস্ট.এক্সএমএল এন্ড্রয়েড এপিআই 28 এবং এর চেয়ে বেশি জন্য

        <application
        .
        .
        .
    
        <uses-library android:name="org.apache.http.legacy" android:required="false"/>

    -1

    আমার মনে হয় আপনার কোন অ্যান্ড্রয়েড স্টুডিওর সংস্করণ রয়েছে তার উপর নির্ভর করে আপনার অ্যান্ড্রয়েড স্টুডিওটিও আপডেট করা গুরুত্বপূর্ণ, আমি প্রত্যেকের পরামর্শ অনুসরণ করে খুব হতাশ হয়ে পড়েছিলাম তবে কোনও ভাগ্য নেই, যতক্ষণ না আমার অ্যান্ড্রয়েড সংস্করণটি 1.3 থেকে 1.5 পর্যন্ত আপগ্রেড করতে হবে ততক্ষণ ত্রুটিগুলি অদৃশ্য হয়ে গেল জাদু।

    আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
    Licensed under cc by-sa 3.0 with attribution required.