我试图从我的本地文件中实现我的Web应用程序/页面,IVE遵循正式文档,并在XML中制作了一个WebView按钮,并声明了:
<uses-permission android:name="android.permission.INTERNET" />
在清单文件中。我的Java活动代码如下:
package samples.opencv.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends AppCompatActivity {
private WebView webview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webview =(WebView)findViewById(R.id.webview);
webview.setWebViewClient(new WebViewClient());
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setDomStorageEnabled(true);
webview.setOverScrollMode(WebView.OVER_SCROLL_NEVER);
webview.loadUrl("file:///C:/Users/olive/OneDrive/Documents/ComputerScience/Project/Atom/index.html");
}
}
,但我在模拟器上遇到了错误,说网页找不到文件,因为找不到文件。
这是我的HTML文件这是JS文件
通常在<project>/src/main/assets
下,将您的Web资源放入资产文件夹中,因为模拟器无法在计算机root ".../C:/Users/olive/OneDrive/Documents/ComputerScience/..."
然后致电:
webView.loadUrl("file:///android_asset/index.html");
请记住,在Android应用程序中,可以从三种类型的位置读取文件:
- 内部存储:每个应用都有自己的,文件名相对于这个位置。URL采用表单file:///myfolder/myfile.html
- 外部存储:需要权限,可能并不总是可用。通过调用来获取根文件夹Environment.getExternalStorageDirectory((。因此,构建URL使用:字符串url =" file:///" Environmen.getExternalStorageDirectory((。toString(( file.separator " myFolder/myfile.html"
- 资产:存储在APK中。只读访问。URL形成file:///android_asset/myfolder/myfile.html(另请参见加载Android资源到WebView(
希望它有帮助。