Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在我的android应用程序源代码的特定页面上获取webview(加载url)?_Android_Android Studio_Android Layout_Android Fragments - Fatal编程技术网

如何在我的android应用程序源代码的特定页面上获取webview(加载url)?

如何在我的android应用程序源代码的特定页面上获取webview(加载url)?,android,android-studio,android-layout,android-fragments,Android,Android Studio,Android Layout,Android Fragments,我想在我的应用程序源代码的唯一页面中添加webview(加载url) 示例:fragment_comingsoon.xml 希望它加载一个url 任何人都可以告诉我该怎么做,或者给我发一个示例代码来做 我将非常感谢,并提前感谢各位**main活动** **MainActivity** import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.webki

我想在我的应用程序源代码的唯一页面中添加webview(加载url) 示例:fragment_comingsoon.xml 希望它加载一个url 任何人都可以告诉我该怎么做,或者给我发一个示例代码来做 我将非常感谢,并提前感谢各位

**main活动**
**MainActivity**  
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebSettings;
import android.webkit.WebView;

public class MainActivity extends Activity {

    private WebView webView = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        this.webView = (WebView) findViewById(R.id.webview);

        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);

        WebViewClientImpl webViewClient = new WebViewClientImpl(this);
        webView.setWebViewClient(webViewClient);

        webView.loadUrl("https://www.journaldev.com");
    }


    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && this.webView.canGoBack()) {
            this.webView.goBack();
            return true;
        }

        return super.onKeyDown(keyCode, event);
    }

}

**Setting the WebViewClient:**
private class MyWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView webView, String url) {
        return false;
    }
}
**WebViewClientImpl:**
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.webkit.WebView;
import android.webkit.WebViewClient;


public class WebViewClientImpl extends WebViewClient {

    private Activity activity = null;

    public WebViewClientImpl(Activity activity) {
        this.activity = activity;
    }

    @Override
    public boolean shouldOverrideUrlLoading(WebView webView, String url) {
        if(url.indexOf("journaldev.com") > -1 ) return false;

        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
        activity.startActivity(intent);
        return true;
    }
}

**Adding Permissions:** 
To fetch and load the urls in the WebView we need to add permissions to access the internet from within the app else it won’t be able to load the webpages. The following
 line of code needs to be added in the AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="com.journaldev.webview" >

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

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>
导入android.app.Activity; 导入android.os.Bundle; 导入android.view.KeyEvent; 导入android.webkit.WebSettings; 导入android.webkit.WebView; 公共类MainActivity扩展了活动{ 私有WebView WebView=null; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.webView=(webView)findviewbyd(R.id.webView); WebSettings WebSettings=webView.getSettings(); setJavaScriptEnabled(true); WebViewClientImpl webViewClient=新的WebViewClientImpl(此); setWebViewClient(webViewClient); webView.loadUrl(“https://www.journaldev.com"); } @凌驾 公共布尔onKeyDown(int-keyCode,KeyEvent事件){ if((keyCode==KeyEvent.keyCode_BACK)&&this.webView.canGoBack()){ this.webView.goBack(); 返回true; } 返回super.onKeyDown(keyCode,event); } } **设置WebViewClient:** 私有类MyWebViewClient扩展了WebViewClient{ @凌驾 公共布尔值shouldOverrideUrlLoading(WebView WebView,字符串url){ 返回false; } } **WebViewClientImpl:** 导入android.app.Activity; 导入android.content.Intent; 导入android.net.Uri; 导入android.webkit.WebView; 导入android.webkit.WebViewClient; 公共类WebViewClientImpl扩展WebViewClient{ 私人活动=空; 公共WebViewClientImpl(活动){ 这个。活动=活动; } @凌驾 公共布尔值shouldOverrideUrlLoading(WebView WebView,字符串url){ if(url.indexOf(“journaldev.com”)>-1)返回false; Intent Intent=newintent(Intent.ACTION_视图,Uri.parse(url)); 活动。开始触觉(意图); 返回true; } } **添加权限:** 要在WebView中获取和加载URL,我们需要在应用程序中添加访问internet的权限,否则它将无法加载网页。以下 需要在AndroidManifest.xml中添加一行代码