我找不到任何关于将所有图像都放到html网页的代码

问题描述 投票:0回答:2

我尝试了很多方法,但我没有得到成功,我知道使用First();方法,我的意思是不能创建循环关于它,无论如何,在这里抱怨网页:http://www.planecrashinfo.com/recent.htm谢谢已经我的新代码以下我不知道我怎么同步他说的方式

private class FetchImageLogo extends AsyncTask<Void, Void, Void> {

        Bitmap bitmap;

        @Override
        protected void onPreExecute() {
            super.onPreExecute();

            progressDialog = new ProgressDialog(MainActivity.this);
            progressDialog.setTitle("LOGO");
            progressDialog.setMessage("Logo Çekiliyor...");
            progressDialog.setIndeterminate(false);
            progressDialog.show();
        }

        @Override
        protected Void doInBackground(Void... params) {

            try{
                getAllImages(yemekURL);

                for (int i = 0; i < imagesURLs.size(); i++) {
                    Glide.with(activity_main)
                            .load(imagesURLs.get(i))
                            .diskCacheStrategy(DiskCacheStrategy.NONE)
                            .skipMemoryCache(true)
                            .into(resimler);
                }
                /*
                Document doc  = Jsoup.connect(yemekURL).get();
                Element link = doc.select("img").first();
                String absHref = link.attr("abs:src"); // "http://jsoup.org/"
                InputStream input = new java.net.URL(absHref).openStream();
                bitmap = BitmapFactory.decodeStream(input);*/




            }catch (Exception e){

                e.printStackTrace();
            }


            return null;
        }
        ArrayList<String> getAllImages(String url) {




            try {
                doc = Jsoup.connect(url).get();
            } catch (IOException e) {
                // ToDo "Can not connect the URL, Make sure that the URL starts with [http://...]"
                return null;
            }

            Elements media = doc.select("[src]");
            Element link = doc.select("img").first();
            for (Element src : media) {
                if (src.tagName().equals("img")) {
                    // Add images url to the list
                    imagesURLs.add(link.attr("abs:src"));
                }
            }

            return imagesURLs;
        }
        @Override
        protected void onPostExecute(Void aVoid) {

            logo_layout = (LinearLayout)findViewById(R.id.logo_layout);
            ImageView img_logo = (ImageView)findViewById(R.id.img_logo);
            logo_layout.setVisibility(View.VISIBLE);
            img_logo.setImageBitmap(bitmap);
            progressDialog.dismiss();
        }

我不知道我在scopus qazxsw poi之间写了这个代码

java android jsoup
2个回答
0
投票
  1. 您需要在Glide.with(***activity_main***)to访问Internet中的应用程序标记之外添加它。 AndroidManifest.xml
  2. <uses-permission android:name="android.permission.INTERNET" />Glide库添加到您的项目中。
  3. Jsoup activity_main.xml
  4. <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="First Image" android:gravity="center" android:textSize="18sp"/> <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" /> MainActivity.java

0
投票

您可以尝试此代码

private ProgressDialog progressDialog;
private ImageView imageView;
private ArrayList<String> imagesURLs = new ArrayList<>();
private String firstImgURL = "";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_download_images);

    imageView = findViewById(R.id.imageView);

    new FetchImageLogo().execute();
}

private class FetchImageLogo extends AsyncTask<Void, Void, Void> {
    //Bitmap bitmap;

    @Override
    protected void onPreExecute() {
        super.onPreExecute();

        progressDialog = new ProgressDialog(MainActivity.this);
        progressDialog.setTitle("LOGO");
        progressDialog.setMessage("Logo Çekiliyor...");
        progressDialog.setIndeterminate(false);
        progressDialog.show();
    }

    @Override
    protected Void doInBackground(Void... params) {
        String yemekURL = "http://www.planecrashinfo.com/recent.htm";

        try {
            imagesURLs = getAllImages(yemekURL);

            // Can not get images URLs
            if (imagesURLs == null) return null;
        } catch (Exception e) {
            e.printStackTrace();
        }

        // Display the first image...
        // you have to put your code in runOnUiThread() to reach UI components
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Glide.with(MainActivity.this)
                        .load(firstImgURL)
                        .diskCacheStrategy(DiskCacheStrategy.NONE)
                        .skipMemoryCache(true)
                        .into(imageView);
            }
        });


        final StringBuilder stringBuilder = new StringBuilder();
        for (int i = 0; i < imagesURLs.size(); i++) {
            // ToDo: you need to create [RecyclerView] to display all images
            /*runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    Glide.with(MainActivity.this)
                            .load(imagesURLs.get(i))
                            .diskCacheStrategy(DiskCacheStrategy.NONE)
                            .skipMemoryCache(true)
                            .into(imageView);
                }
            });*/

            stringBuilder.append("img").append(String.valueOf(i + 1)).append(": ")
                    .append(imagesURLs.get(i)).append("\n");
        }

        // See -> Logcat
        Log.d("Debug_Images", stringBuilder.toString());

        return null;
    }

    ArrayList<String> getAllImages(String url) {
        Document doc;

        try {
            doc = Jsoup.connect(url).get();
        } catch (IOException e) {
            // ToDo "Can not connect the URL, Make sure that the URL starts with [http://...]"
            return null;
        }

        // Get the first image URL
        Element link = doc.select("img").first();
        firstImgURL = link.attr("abs:src");

        // Get all images URLs
        Elements media = doc.select("[src]");
        for (Element img : media) {
            if (img.tagName().equals("img")) {
                // Add images url to the list
                imagesURLs.add(img.attr("abs:src"));
            }
        }

        return imagesURLs;
    }

    @Override
    protected void onPostExecute(Void aVoid) {
        /*logo_layout = (LinearLayout) findViewById(R.id.logo_layout);
        ImageView img_logo = (ImageView) findViewById(R.id.img_logo);
        logo_layout.setVisibility(View.VISIBLE);
        img_logo.setImageBitmap(bitmap);*/
        progressDialog.dismiss();
    }
}

然后您可以使用ArrayList<String> getAllImages(String url) { ArrayList<String> imagesURLs = new ArrayList<>(); try { doc = Jsoup.connect(url).get(); } catch (IOException e) { // ToDo "Can not connect the URL, Make sure that the URL starts with [http://...]" return null; } Elements media = doc.select("[src]"); for (Element src : media) { if (src.tagName().equals("img")) { // Add images url to the list imagesURLs.add(image.attr("abs:src")); } } return imagesURLs; } 库下载,兑现并使用其URL显示图像:

Glide
© www.soinside.com 2019 - 2024. All rights reserved.