0

オンラインマガジンアプリを開発しています。サーバーから 50 ~ 100 個の html5 ファイルをダウンロードして sd カードに保存し、この html5 ファイルを雑誌のページとして表示します。ギャラリー ウィジェットを使用して html ページをロードしました。これは私の要件として機能します。

ただし、ギャラリーでの html の読み込みが遅いように見えたり、ページをスワイプするとページの移動が非常に遅くなるなどの問題がまだ存在します。私のコードは以下のとおりです

    public View getView(int position, View convertview, ViewGroup parent) {

    try{
    vi = convertview;
    final int loctn = position;


    if (convertview == null)
        vi = inflater.inflate(R.layout.contentsadapter, null);
        WebView webview=(WebView)vi.findViewById(R.id.webView1);


        webview.getSettings().setJavaScriptEnabled(true);

        webview.loadUrl(pages.get(loctn));

        webview.setWebViewClient(new WebViewClient() {

            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }

            @Override
            public boolean shouldOverrideKeyEvent(WebView view, KeyEvent event) {
                if ((event.getKeyCode() == KeyEvent.KEYCODE_BACK)
                        && view.canGoBack()) {
                    view.goBack();
                    return true;
                }

                return super.shouldOverrideKeyEvent(view, event);
            }

            public void onReceivedError(WebView view, int errorCode,
                    String description, String failingUrl) {

                /*Intent intent = new Intent(Femi9Activity.this,
                        SplashScreen.class);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                Femi9Activity.this.startActivity(intent);*/
            }
        });
webview.getSettings().setDomStorageEnabled(true);

    // Set cache size to 8 mb by default. should be more than enough
    webview.getSettings().setAppCacheMaxSize(1024 * 1024 * 8);

    webview.getSettings().setAllowFileAccess(true);
    webview.getSettings().setAppCacheEnabled(true);



    webview.setOnTouchListener(new OnTouchListener(){

        public boolean onTouch(View v, MotionEvent event) {
            gallery.onTouchEvent(event);
            return false;
        }

    });
        }catch(Exception e){

          }finally{

                }
    return vi;
            }

          }

だから質問は

  1. HTML の読み込み速度を改善する方法。
  2. 現在のページに前のページと次のページの HTML をロードできますか
  3. ギャラリーを使わずにこれを行うより良い方法はありますか
4

1 に答える 1

1

ViewPagerの代わりに使用できますGallery

于 2013-03-19T06:55:41.183 に答える