为什么我可以在一个应用中看到我的网站而在另一个应用中看不到?

时间:2017-04-10 07:52:03

标签: java android webview

我想构建一个简单的Android应用程序,它只包含一个WebView来显示我的网站。我用offical android tutoiral这样做了。

对于我的第一个应用,我使用了全屏模板。添加WebView后,我的xml - 文件如下所示:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#0099cc"
    tools:context="com.example.janwagner.webviewdemo.FullscreenActivity">

    <!-- The primary full-screen view. This can be replaced with whatever view
         is needed to present your content, e.g. VideoView, SurfaceView,
         TextureView, etc. -->
    <TextView
        android:id="@+id/fullscreen_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:keepScreenOn="true"
        android:text="@string/dummy_content"
        android:textColor="#33b5e5"
        android:textSize="50sp"
        android:textStyle="bold" />

    <!-- This FrameLayout insets its children based on system windows using
         android:fitsSystemWindows. -->
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true">

        <WebView
            android:id="@+id/webView"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

        <LinearLayout
            android:id="@+id/fullscreen_content_controls"
            style="?metaButtonBarStyle"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom|center_horizontal"
            android:background="@color/black_overlay"
            android:orientation="horizontal"
            tools:ignore="UselessParent">

            <Button
                android:id="@+id/dummy_button"
                style="?metaButtonBarButtonStyle"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="@string/dummy_button" />

        </LinearLayout>
    </FrameLayout>

</FrameLayout>

我将此代码添加到hte java - file:

WebView myWebView = (WebView) findViewById(R.id.webView);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.loadUrl("http://192.168.100.166:8080");

我将清单的互联网权限添加为<manifest>的直接子项 - 阻止:

<uses-permission android:name="android.permission.INTERNET" />

这很好用。但由于我对结果应用程序并不完全满意,因此我基于“空活动”模板创建了一个新项目。这导致了这个更短的xml - 文件:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.janwagner.trainerapp.MainActivity">

    <WebView  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"/>

</android.support.constraint.ConstraintLayout>

我复制粘贴java - 文件中的相同代码:

WebView myWebView = (WebView) findViewById(R.id.webView);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.loadUrl(this._url);

我再次添加了互联网许可:

<uses-permission android:name="android.permission.INTERNET" />

此应用不起作用。但是用

加载数据
myWebView.loadData("<h1>Test</h1>", "text/html; charset=UTF-8", null);

显示测试

有人可以告诉我为什么第一个版本有效而​​不是第二个?

1 个答案:

答案 0 :(得分:1)

请确保您在myWebView.loadUrl("YOUR URL");

中使用了正确的网址