Файл пакета не существует

Вот мой код под именем моего класса VideoList.java. Я изменил версия API - даже версия Android - но все еще есть проблема:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.util.ArrayList;

import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.HttpConnectionParams;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;

import com.android.volley.RequestQueue;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.Volley;
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.InterstitialAd;

import com.youtubekids.cartoons.pojo.VideoPojo;

public class VideoList extends ActionBarActivity {
    RequestQueue mRequestQueue;
    ImageLoader mImageLoader;
    LruBitmapCache mLruBitmapCache;
    ImageLoader imageLoader;
    ListView lvvideos;
    String CHANNEL_ID;
    String YOUTUBE_URL = "", YOUTUBEAPIKEY = DataManager.YOUTUBE_API_KEY;
    String NEXT_PAGE_TOKEN = "";
    ProgressDialog progress;
    int total = 0;
    ArrayList<VideoPojo> videolist = new ArrayList<VideoPojo>();
    Custom_Adapter adapter;
    boolean loadmore = false;
    TextView txtfooter;
    private AdView adView;
    private static final String AD_UNIT_ID = DataManager.ADMOB_BANNER;
    private InterstitialAd interstitial;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_video_list);
        lvvideos = (ListView) findViewById(R.id.lvvideos);
        CHANNEL_ID = DataManager.selectedchannelid;


        adView = new AdView(this);

        adView.setAdSize(AdSize.BANNER);
        adView.setAdUnitId(AD_UNIT_ID);
        AdRequest adRequest = new AdRequest.Builder().build();

        adView.loadAd(adRequest);
        LinearLayout ll = (LinearLayout) findViewById(R.id.ad);
        ll.addView(adView);

           txtfooter = (TextView) findViewById(R.id.txtfooter);
            txtfooter.setVisibility(View.GONE);
        new loadvideos().execute();



        lvvideos.setOnScrollListener(new AbsListView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {
                if (scrollState == SCROLL_STATE_IDLE) {
                    if (lvvideos.getLastVisiblePosition() >= lvvideos.getCount() - 1) {

                        if (loadmore) {
                            new loadvideos().execute();
                            txtfooter.setText(" Loading more videos...");
                            txtfooter.setVisibility(View.VISIBLE);
                        } else {
                            txtfooter.setText("No More Videos");
                            txtfooter.setVisibility(View.GONE);
                        }
                    }
                }


            }

            @Override
            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {


            }
        });

        lvvideos.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                                    int position, long id) {
                // TODO Auto-generated method stub
                DataManager.selectedvideoid = videolist.get(position).getVideoid();
                Intent i = new Intent(VideoList.this, YouTubePlayerActivity.class);
                startActivity(i);
                overridePendingTransition(0, 0);
            }
        });
        getSupportActionBar().setTitle(DataManager.channelname);

        // Begin loading your interstitial.
        AdRequest adRequest1 = new AdRequest.Builder().build();
        interstitial = new InterstitialAd(this);
        interstitial.setAdUnitId(DataManager.ADMOB_INTERSTIAL);

        interstitial.loadAd(adRequest1);
        AdListener adListener = new AdListener() {

            @Override
            public void onAdLoaded() {
                super.onAdLoaded();

            }

            @Override
            public void onAdClosed() {
                super.onAdClosed();


            }
        };

        interstitial.setAdListener(adListener);
    }

    public void nointernet()
    {
        new AlertDialog.Builder(this)
                .setTitle("Connection Error")
                .setMessage("Try Again")
                .setNegativeButton(android.R.string.no, null)
                .setPositiveButton(android.R.string.yes,
                        new DialogInterface.OnClickListener() {

                            public void onClick(DialogInterface arg0, int arg1) {

                                    new loadvideos().execute();

                            }
                        }).create().show();

    }
    public void displayInterstitial() {
        if (interstitial.isLoaded()) {
            interstitial.show();
        }
    }

    @Override
    public void onBackPressed() {

        Intent i = new Intent(VideoList.this, MainActivity.class);
        finish();
        startActivity(i);
        overridePendingTransition(0,0);

    }




    private class loadvideos extends AsyncTask<Void, Void, Void> {
        boolean isconnect = false;

        @Override
        protected void onPreExecute() {
            // Showing progress dialog before sending http request.
        if (!loadmore)
        {
            progress = GoogleProgress.Progressshow(VideoList.this);
            progress.show();
        }
        }

        protected Void doInBackground(Void... unused) {

            try {

                HttpClient client = new DefaultHttpClient();
                HttpConnectionParams.setConnectionTimeout(client.getParams(),
                        15000);
                HttpConnectionParams.setSoTimeout(client.getParams(), 15000);

                if (!loadmore) {
                    YOUTUBE_URL = "https://www.googleapis.com/youtube/v3/search?part=snippet&channelId = "
                            + CHANNEL_ID
                            + "&maxResults = "
                            + DataManager.maxResults + "&key = " + YOUTUBEAPIKEY+"&order=date";
                } else {
                    YOUTUBE_URL = "https://www.googleapis.com/youtube/v3/search?part=snippet&pageToken = "
                            + NEXT_PAGE_TOKEN
                            + "&channelId = "
                            + CHANNEL_ID
                            + "&maxResults = "
                            + DataManager.maxResults
                            + "&key = "
                            + YOUTUBEAPIKEY+"&order=date";
                }

                HttpUriRequest request = new HttpGet(YOUTUBE_URL);

                HttpResponse response = client.execute(request);

                InputStream atomInputStream = response.getEntity().getContent();

                BufferedReader in = new BufferedReader(new InputStreamReader(
                        atomInputStream));

                String line;
                String str = "";
                while ((line = in.readLine()) != null) {
                    str += line;
                }

                System.out.println("url---" + str);

                JSONObject json = new JSONObject(str);
                JSONArray items = json.getJSONArray("items");

                total = json.getJSONObject("pageInfo").getInt("totalResults");
                if (total > 20) {
                    loadmore = true;
                    NEXT_PAGE_TOKEN = json.getString("nextPageToken");
                }

                for (int i = 0; i < items.length(); i++) {

                    VideoPojo video = new VideoPojo();
                    JSONObject youtubeObject = items.getJSONObject(i)
                            .getJSONObject("snippet");

                    video.setVideoid(items.getJSONObject(i).getJSONObject("id")
                            .getString("videoId"));
                    video.setTitle(youtubeObject.getString("title"));
                    video.setThumbnail(youtubeObject
                            .getJSONObject("thumbnails").getJSONObject("high")
                            .getString("url"));

                    videolist.add(video);
                }

                isconnect = true;
            } catch (MalformedURLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                isconnect = false;
                System.out.println("1exception---" + e.toString());
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                isconnect = false;
                System.out.println("2exception---" + e.toString());
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                System.out.println("3exception---" + e.getMessage());
                e.printStackTrace();
            }

            return (null);
        }

        protected void onPostExecute(Void unused) {
            // Closing progress dialog.
            progress.dismiss();
            if (isconnect) {
                if (videolist.size() > 0) {


                      displayInterstitial();
                    adapter = new Custom_Adapter(getApplicationContext());
                    lvvideos.setAdapter(adapter);

                      if (loadmore)
                            lvvideos.setSelection(((videolist.size() - DataManager.maxResults)-1));
                        else
                            lvvideos.setSelection(0);


                    if (total > videolist.size()) {
                        loadmore = true;
                    }else
                    {
                        loadmore = false;
                    }
                }
            } else {
                nointernet();

            }
        }
    }

    public class Custom_Adapter extends BaseAdapter {

        private LayoutInflater mInflater;

        public Custom_Adapter(Context c) {
            mInflater = LayoutInflater.from(c);
            imageLoader = getImageLoader(c);
        }

        @Override
        public int getCount() {
            return videolist.size();
        }

        @Override
        public Object getItem(int position) {
            return null;
        }

        @Override
        public long getItemId(int position) {
            return 0;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            ViewHolder holder;
            if (convertView == null) {

                convertView = mInflater.inflate(R.layout.row_video_list, null);

                holder = new ViewHolder();

                holder.txttitle = (TextView) convertView
                        .findViewById(R.id.txttitle);

                holder.img = (FeedImageView) convertView.findViewById(R.id.img);

                convertView.setTag(holder);

            } else {
                holder = (ViewHolder) convertView.getTag();
            }

            holder.txttitle.setText("" + videolist.get(position).getTitle());

            holder.img.setImageUrl(videolist.get(position).getThumbnail(),
                    imageLoader);

            return convertView;
        }

        class ViewHolder {
            TextView txttitle;
            FeedImageView img;

        }

    }

    public RequestQueue getRequestQueue(Context context) {
        if (mRequestQueue == null) {
            mRequestQueue = Volley.newRequestQueue(context);
        }

        return mRequestQueue;
    }

    public ImageLoader getImageLoader(Context context) {
        getRequestQueue(context);
        if (mImageLoader == null) {
            getLruBitmapCache();
            mImageLoader = new ImageLoader(mRequestQueue, mLruBitmapCache);
        }

        return this.mImageLoader;
    }

    public LruBitmapCache getLruBitmapCache() {
        if (mLruBitmapCache == null)
            mLruBitmapCache = new LruBitmapCache();
        return this.mLruBitmapCache;
    }
}

Итак, это мой код. И когда я пытаюсь собрать свой apk или отладить проект, я вижу следующую ошибку:

build failed 1m 1s 703ms Run build 59s 306ms Load build 4s 974ms Run
init scripts 4s 952ms Apply script sync.local.repo293.gradle 4s 951ms
Evaluate settings 6ms Configure build 13s 725ms Calculate task
graph 25s 469ms Run tasks 15s 117ms null
/Users/ismailtaibi/Downloads/fortinvideoappyt-3.1/codecanyon-11481105-fortin-video-channel-app-youtube-api-v3/FortinYoutubeChannelV3AndroidSource app/src/main/java com/youtubekids/cartoons/VideoList.java error: package org.apache.http does not exist error: package
org.apache.http.client.methods does not exist error: package
org.apache.http.impl.client does not exist error: cannot find symbol
class DefaultHttpClient error: cannot find symbol class HttpGet

Ваш образец кода не минимальный, как в минимальный воспроизводимый пример.

zx485 01.05.2018 20:52
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
1
108
1

Ответы 1

Вам нужно добавить HttpClient в качестве зависимости проекта. Здесь у вас будет подробная информация о зависимости Grade / Maven, которую вам нужно будет добавить в свой файл .build или .pom.

https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient/4.5

Другие вопросы по теме