2016-09-23 8 views
1

ウェブビューのページをウェブ上のアンドロイドAPPにアップロードします。Java Android - ウェブビューから画像を取得

ウェブサイトには複数の画像があります。ウェブサイトのページには、3枚の画像が含まれているとしましょう:

<img src="pic_mountain.jpg"> 
<img src="random_image.php"> 
<img src="pic_mountain_second.jpg"> 

私の質問は、どのように私は、上記の各画像を得るのですが、私は私のJavaのAndroidアプリにビットマップとしてのそれぞれにアクセスすることができますか?

+0

の下に与えられていますか? –

+0

あなたは単にwebviewに画像を表示したいですか? –

+0

@SohailZahidはい、画像の完全なウェブパスはhttps://sapsnkra.moe.gov.my/randomimage.php – nerdcomp1

答えて

0

ここでは、HTMLをwebviewに読み込まれた文字列として取得する方法と、イメージURLをビットマップに変換した後でイメージURLを取得する方法を示します。あなたがイメージの完全なWebパスを持っているん

webview.setWebViewClient(new WebClientClass()); 

のようなあなたのWebViewへ

セットのWebViewクライアントは、WebViewのクライアントが

public class WebClientClass extends WebViewClient { 
     @Override 
     public void onPageFinished(WebView view, String url) { 
      super.onPageFinished(view, url); 
      if (progressDialog != null && progressDialog.isShowing()) 
       progressDialog.dismiss(); 

      wvAboutUs.evaluateJavascript(
        "(function() { return ('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>'); })();", 
        new ValueCallback<String>() { 
         @Override 
         public void onReceiveValue(String html) { 
          JsonReader reader = new JsonReader(new StringReader(html)); 
          reader.setLenient(true); 
          try { 
           if (reader.peek() != JsonToken.NULL) { 
            if (reader.peek() == JsonToken.STRING) { 
             String msg = reader.nextString(); 
             if (msg != null) { 
              Log.d("HTML", msg); 
              Pattern p = Pattern.compile("src=\"(.*?)\""); 
              Matcher m = p.matcher(msg); 
              if (m.find()) { 
               Log.d("HTML", m.group(1)); // This will print your image url 
              } 
             } 
            } 
           } 
          } catch (IOException e) { 
           Log.e("TAG", "MainActivity: IOException", e); 
          } finally { 
           try { 
            reader.close(); 
           } catch (IOException e) { 
           } 
          } 
         } 
        }); 
     } 
    } 
+1

お返事ありがとうございます。 2つの質問があります: 1. "wvAboutUs"とは何ですか? 2. は私が呼び出すたびに常にランダムなイメージを生成するので、上記のメソッドを使用して呼び出すと、結果が私のwebviewのものと異なる可能性があります。私は上記のメソッドがrandom_image.phpに別のイメージを呼び出すのを見ていたからです。 ありがとう! – nerdcomp1

関連する問題