Загрузка веб-страницы - PullRequest
       1

Загрузка веб-страницы

1 голос
/ 22 декабря 2011

Я новичок в Android и хочу загрузить веб-страницу по URL (т. Е. http://www.bhaskar.com/article/INT-sri-lanka-emergency-laws-to-end-2-years-after-war%E2%80%8E-2381626.html).

Содержит данные хинди. Я загружаю эту веб-страницу, используя метод loadUrl(url), но она загружает квадратные поля в WebView. Я должен дать шрифт хинди.

Пожалуйста, предложите мне шаги, как загрузить эту веб-страницу в мое приложение WebView. Я пробовал это в течение длительного времени, но безрезультатно. Я с нетерпением жду ваших ответов.

За любую помощь: Заранее спасибо!


Мой текущий исходный код:

public class WebviewDemo extends Activity {

    public static String URL = "http://www.bhaskar.com/article/INT-sri-lanka-emergency-laws-to-end-2-years-after-war%E2%80%8E-2381626.html";


    WebView ArticleView;
    String htmlsting=null,head=null;
     Typeface typeface;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.web);
        typeface = Typeface.createFromAsset(getBaseContext().getAssets(), "DroidHindi.ttf");
        //head="<head><style>@font-face {font-family: 'typeface';src: url('file:///android_asset/DroidHindi.ttf');}</style></head>";
        //htmlsting="<html>"+head+"<body font-family: 'typeface'></body></html>";
    //  htmlsting ="<html><head><style>@font-face {font-family:'typeface';src: url('file:///android_asset/DroidHindi.ttf');}</style></head><body 'style=font-family:typeface';></body></html>";                         
            System.out.println("***************URL is:****************"+URL);   
        ArticleView = (WebView) findViewById(R.id.Article_webview);
        WebSettings webSettings = ArticleView.getSettings();
        ArticleView.getSettings().setLoadWithOverviewMode(true);
        ArticleView.getSettings().setUseWideViewPort(true);
        webSettings.setJavaScriptEnabled(true); 

        ArticleView.getSettings().setDefaultTextEncodingName("utf-8");
        try { 

   ArticleView.loadUrl(URL);           

        } catch (Exception e) {
            e.printStackTrace();
        }               
    }   
    /*
     * 
     * Closes the WebView
     */
    public void cancelActivity(View v) {
        ArticleView.clearCache(true);
        this.finish();
    }
}

Ответы [ 3 ]

0 голосов
/ 21 марта 2013

вам нужно сделать это следующим образом

            webView = (WebView) findViewById(R.id.watchClipWebView);

            final WebSettings settings = webView.getSettings();
            settings.setDefaultTextEncodingName("utf-8");
            settings.setJavaScriptEnabled(true);
            settings.setLoadsImagesAutomatically(true);

            final Activity activity = this;
            webView.setWebChromeClient(new WebChromeClient() {
                public void onProgressChanged(WebView view, int progress) {
                    activity.setProgress(progress * 1000);
                }

            webView.setWebViewClient(new WebViewClient() {
                @Override
                public void onReceivedError(WebView view, int errorCode,
                        String description, String failingUrl) {
                    Toast.makeText(activity, failingUrl + "\n" + description,
                            Toast.LENGTH_SHORT).show();
                }

                @Override
                public void onPageFinished(WebView view, String url) {
                    handlePageLoaded();
                }


            });

            webView.loadUrl(sUrl);
}
    private void handlePageLoaded() {
        mProgressDialog.dismiss();
    }

короче говоря, вы пропустили webView.setWebViewClient + webView.setWebChromeClient

0 голосов
/ 28 ноября 2013

Проверьте следующее:

Вам не нужно добавлять шрифт - страница загружает сам шрифт (см. Chrome DevTools> Вкладка «Ресурсы»> Шрифты)

http://www.bhaskar.com/dainikbhaskar2010/font_family/Bhaskar_Web_Head_Test_exp.ttf http://www.bhaskar.com/dainikbhaskar2010/font_family/Bhaskar_WEB_Intro_Test_ship.ttf

Убедитесь, что у вас есть разрешение на доступ к Интернету в манифесте:

<manifest xlmns:android...>
 ...
 <uses-permission android:name="android.permission.INTERNET"></uses-permission>
</manifest>
0 голосов
/ 26 февраля 2013

Ваш код кажется правильным!
Убедитесь, что вы используете реальное устройство или эмулятор для приложения. Вы должны установить шрифт хинди для эмулятора / устройства, тогда вы сможете увидеть правильный шрифт хинди вместо квадратных коробок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...