如何制作WebView Android应用?

时间:2018-08-02 16:34:48

标签: android webview android-webview

我是Android Studio的新手,我一直在尝试开发基于WordPress网站的应用程序。我设法提供了足够的代码来使其工作,但是我想知道如何改善代码。具体来说,我想知道如何设置配置(因此应用程序不会在方向更改时重置),在没有互联网连接时创建错误显示,以及在网站上的文章上传时发送通知。如果有人可以提供帮助,将不胜感激。

这是我的主要活动

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.content.res.Configuration;
import android.net.Uri;
import android.content.Intent;
import android.content.Context;
import android.net.ConnectivityManager;
import android.widget.Toast;
import android.net.NetworkInfo;
import android.view.Gravity;
import android.util.Log;

public class MainActivity extends AppCompatActivity {
    private WebView mywebView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mywebView = (WebView) findViewById(R.id.webview);
        WebSettings webSettings= mywebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        mywebView.loadUrl("https://71Republic.com/");
        mywebView.setWebViewClient(new WebViewClient());
    }
    public void onBackPressed() {
        if(mywebView.canGoBack())
        {
            mywebView.goBack();
        }

        else{
            super.onBackPressed();
        }
    }

}

这是我的清单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.a71republic.a71republicappandroid">
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
    <application
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

这是我的主要活动

<?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=".MainActivity">

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

</android.support.constraint.ConstraintLayout>

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

配置更改:
对于清单文件中的每个活动,您都必须提及将screen-orientation属性设置为portrait(或需要landscape)。

没有互联网连接时显示错误:

    ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo networkInfo = manager.getActiveNetworkInfo();
    if (networkInfo != null && networkInfo.isConnected()) {
        //your error message
    }


有关详细说明,请参见以下链接:Stackoverflow No internet connection android