オンラインマガジンアプリを開発しています。サーバーから 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;
}
}
だから質問は
- HTML の読み込み速度を改善する方法。
- 現在のページに前のページと次のページの HTML をロードできますか
- ギャラリーを使わずにこれを行うより良い方法はありますか