【发布时间】:2020-05-23 11:58:18
【问题描述】:
Webview 每次打开时都会加载,有什么方法可以在我第一次打开时将 Web 视图文件保存在本地存储中,当我再次打开时,它们不需要下载。意味着即使没有互联网它们也会打开。
这是我的 java 文件。我们有什么办法可以完成这项任务
package com.example.impwala;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.graphics.Bitmap;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
public class chemistry1 extends AppCompatActivity {
WebView chem1;
ProgressDialog pDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_chemistry1);
if (haveNetwork())
{
init();
listener();
}
else if (!haveNetwork())
{
AlertDialog.Builder builder =new AlertDialog.Builder(this);
builder.setTitle("No internet Connection");
builder.setMessage("Please turn on internet connection to continue");
builder.setNegativeButton("close", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show(); }
}
public boolean haveNetwork()
{
boolean have_WIFI=false;
boolean have_MobileData=false;
ConnectivityManager connectivityManager=(ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo[] networkInfos=connectivityManager.getAllNetworkInfo();
for (NetworkInfo info:networkInfos)
{
if (info.getTypeName().equalsIgnoreCase("WIFI"))
if(info.isConnected())
have_WIFI=true;
if (info.getTypeName().equalsIgnoreCase("MOBILE"))
if(info.isConnected())
have_MobileData=true;
}
return have_MobileData||have_WIFI;
}
private void init() {
chem1 = (WebView) findViewById(R.id.chem1);
chem1.getSettings().setJavaScriptEnabled(true);
pDialog = new ProgressDialog(chemistry1.this);
pDialog.setTitle("PDF");
pDialog.setMessage("Loading...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
chem1.loadUrl("www.example.com");
}
private void listener() {
chem1.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
pDialog.show();
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
pDialog.dismiss();
}
});
}
}
【问题讨论】:
标签: java android performance webview download