android - অ্যান্ড্রয়েড স্টুডিওতে এইচটিটিপিগেট, এইচটিপিপিলেট, এইচটিটিপি রিসপোনস প্রতীকটি সমাধান করা যায় না



android-studio android-support-library (8)

অনুগ্রহ করে HTTP- র সমস্ত jar ফাইলগুলি 'libs' ফোল্ডার থেকে সরান এবং গ্রেড ফাইলটিতে নির্ভরতা নীচে যুক্ত করুন:

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

অথবা

useLibrary 'org.apache.http.legacy'

https://ffff65535.com

আমি কেবল এইচটিটিপি-র সমস্ত জার ফাইলগুলি অনুলিপি করেছি তবে Android Studio এই সমস্ত জার ফাইলগুলি আমদানি Cannot resolve symbol HttpGet,HttpClient,HttpResponse t এটি একটি ত্রুটি দেয়: Cannot resolve symbol HttpGet,HttpClient,HttpResponse

আমার Activity ফাইল এখানে: -

public class MainActivity extends AppCompatActivity {

ArrayList<Product>  productslist;
ProductAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    productslist = new ArrayList<Product>();
    new JSONAsyncTask().execute("http://opencart.codeniques.com/myshop/?route=feed/web_api/products&id=60&key=test123");

    ListView listView = (ListView)findViewById(R.id.list);
    adapter = new ProductAdapter(getApplicationContext(),R.layout.row,productslist);

    listView.setAdapter(adapter);

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Toast.makeText(getApplicationContext(),productslist.get(position).getName(),Toast.LENGTH_LONG).show();
        }
    });
}

class JSONAsyncTask extends AsyncTask<String,Void,Boolean>{

    ProgressDialog dialog;

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        dialog = new ProgressDialog(MainActivity.this);
        dialog.setMessage("Loading, please wait");
        dialog.setTitle("Connecting server");
        dialog.show();
        dialog.setCancelable(false);
    }

    @Override
    protected Boolean doInBackground(String... params) {
        try{
            HttpGet httppost = new HttpGet(params[0]);
            HttpClient httpclient = new DefaultHttpClient();
            HttpResponse response = httpclient.execute(httppost);

            int status = response.getStatusLine().getStatusCode();

            if(status == 200){
                HttpEntity entity = response.getEntity();
                String data = EntityUtils.toString(entity);

                JSONObject jsono = new JSONObject(data);
                JSONArray jarray = jsono.getJSONArray("products");

                for (int i = 0; i < jarray.length(); i++) {
                    JSONObject object = jarray.getJSONObject(i);

                    Product actor = new Product();

                    actor.setId(object.getString("id"));
                    actor.setName(object.getString("name"));
                    actor.setDescription(object.getString("description"));
                    actor.setHref(object.getString("href"));
                    actor.setPrice(object.getString("pirce"));
                    actor.setImage(object.getString("thumb"));
                    actor.setSpecial(object.getString("special"));
                    actor.setRating(object.getString("rating"));

                    productslist.add(actor);
            }
                return  true;
            }
        }catch (JSONException e){
            Log.e("Error :",e.getMessage());
        }catch (ParseException e){
            Log.e("Error :",e.getMessage());
        }catch (IOException e){
            Log.e("Error :",e.getMessage());
        }catch (Exception e){
            Log.e("Error :",e.getMessage());
        }
        return  false;
    }
    @Override
    protected void onPostExecute(Boolean aBoolean) {
        dialog.cancel();
        adapter.notifyDataSetChanged();
        if(aBoolean == false){
            Toast.makeText(getApplicationContext(), "Unable to fetch data from server", Toast.LENGTH_LONG).show();
        }
    }
}}

এবং এখানে আমার gradle এখানে: -

apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "22.0.1"

defaultConfig {
    applicationId "android.catalyst.com.newjsonarray"
    minSdkVersion 16
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }}}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])

testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:design:23.0.1'}

আপনার নির্ভরতা মধ্যে এটি যোগ করুন

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

পরিশেষে

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])    
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:design:23.0.1'
compile 'org.apache.httpcomponents:httpcore:4.4.1'
compile 'org.apache.httpcomponents:httpclient:4.5'
}

এবং এই কোডটি যুক্ত করুন:

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

অবগতির জন্য

অ্যাপাচি এইচটিটিপি লিগ্যাসি লাইব্রেরির জন্য প্রয়োজনীয়তা উল্লেখ করুন যদি আপনার অ্যাপ্লিকেশনটি API স্তর 28 (অ্যান্ড্রয়েড 9.0) বা তত্সহ উপরে লক্ষ্য করে চলেছে তবে আপনাকে অবশ্যই AndroidManLive.xML এর উপাদানগুলির মধ্যে নিম্নলিখিত ঘোষণাকে অন্তর্ভুক্ত করতে হবে।

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

আপনি কেবল আপনার প্রকল্পটি পুনর্নির্মাণ করেছেন

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

আমার জন্য, নীচে সাহায্য করেছে

Android/Sdk/platforms/android-23/optional, করুন, এটি আপনার নির্ভরতার সাথে যুক্ত করুন।

Source


এটি আমার জন্য কাজ করে।

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

এটি ঠিক এসডিকে ২৩-তে রয়েছে, এইচটিপিপ্লিয়েন্ট এবং অন্যদের অবচয় করা হয়েছে। আপনি নীচের মতো টার্গেট এসডিকে সংস্করণ পরিবর্তন করে এটি সংশোধন করতে পারেন:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "vahid.hoseini.com.testclient"
        minSdkVersion 10
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'),    'proguard-rules.pro'
        }
    }
}

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

দয়া করে লিবিএস ফোল্ডার থেকে এইচটিটিপির সমস্ত জার ফাইলগুলি সরিয়ে ফেলুন এবং গ্রেড ফাইলটিতে নির্ভরতা নীচে যুক্ত করুন:

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

ধন্যবাদ।


এইচটিপিপ্লেইন্টটি এপিআই লেভেল 22 এ অবমূল্যায়ন করা হয়েছিল এবং এপিআই লেভেল 23 তে সরানো হয়েছিল You আপনাকে URLConnection সংযোগ ব্যবহার করতে হবে।






android-support-library