当前位置: 首页 > article >正文

Anroid通过WebView打开见面发布App

现AI时代到来,很多基础功能都不用自己写,都由AI可以帮写代码。

好久没试用用Android原生开发一个APP,这个APP的功能很简单,只需要简单地调用网页即可

于是让AI帮我写这段代码:

AI的原文如下:

要在Android中通过WebView打开网页,你需要在你的Activity中设置WebView并加载指定的URL。以下是一个基本的实现示例:


• 在布局文件中添加WebView:

首先,在你的布局文件(例如`activity_main.xml`)中添加一个WebView组件:


```xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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/myWebView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>
```

• 在Activity中设置WebView:

在你的Activity文件(例如`MainActivity.java`)中,设置WebView并加载网页:


```java
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends AppCompatActivity {

    private WebView myWebView;

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

        myWebView = findViewById(R.id.myWebView);
        WebSettings webSettings = myWebView.getSettings();
        webSettings.setJavaScriptEnabled(true); // 启用JavaScript支持
        myWebView.setWebViewClient(new WebViewClient()); // 设置WebViewClient,防止网页在浏览器中打开
        myWebView.loadUrl("https://www.example.com"); // 加载网页
    }

    @Override
    public void onBackPressed() {
        if (myWebView.canGoBack()) {
            myWebView.goBack(); // 如果可以后退,则后退
        } else {
            super.onBackPressed(); // 否则,退出应用
        }
    }
}
```

• 启用JavaScript:通过`webSettings.setJavaScriptEnabled(true);`启用JavaScript支持,因为许多现代网页都需要JavaScript才能正常工作.

• 设置WebViewClient:通过`myWebView.setWebViewClient(new WebViewClient());`设置WebViewClient,这样网页就会在WebView中打开,而不是在外部浏览器中打开.

• 加载网页:通过`myWebView.loadUrl("https://www.example.com");`加载指定的网页.

• 处理返回键:重写`onBackPressed()`方法,使得当用户点击返回键时,WebView可以后退页面,而不是直接退出应用.

确保你已经在`AndroidManifest.xml`中添加了网络权限:


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


这样,你就可以在Android应用中通过WebView打开网页了.

================

就这样,不用一分钟就将功能写了出来。

直接复制内容进去运行,发现是可行的。

后面又遇到打不开某些特定的网页,于是我将所有的权限都开放了,就能打开 了。

webSettings.setDefaultTextEncodingName("UTF-8");
        webSettings.setUserAgentString("User-Agent:Android");
        webSettings.setJavaScriptEnabled(true);
        webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
        webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
        webSettings.setDomStorageEnabled(true);
        webSettings.setDatabaseEnabled(true);
        webSettings.setAllowFileAccess(true);
        webSettings.setSavePassword(true);
        webSettings.setSupportZoom(true);
        webSettings.setBuiltInZoomControls(true);
        webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
        webSettings.setUseWideViewPort(true);

完美地运行

当然我也将整个项目保存下来了,下载地址是:https://download.csdn.net/download/Highning0007/90238901


http://www.kler.cn/a/472801.html

相关文章:

  • VSCode Live Server 插件安装和使用
  • 【线性代数】通俗理解特征向量与特征值
  • 使用 uniapp 开发微信小程序遇到的坑
  • eNSP之家——路由器--入门实例详解
  • reducer同步,dispatch异步
  • Linux下实时监测双网卡的默认网卡并重新设置默认网卡
  • 江科大STM32入门——SPI通信笔记总结
  • Internet协议原理
  • git push -f 指定分支
  • SQL刷题笔记——高级条件语句
  • Java 数据结构之-LinkedHashMap
  • uni app 写的 小游戏,文字拼图?文字拼写?不知道叫啥
  • CANopen转EtherCAT网关连接伺服驱动
  • 探秘5网口IIOT网关
  • Adobe Flash,Flash Player和RTMP之间的关系
  • 深度学习领域创新黑马!频域特征融合新突破
  • uni-app图文列表到详情页面切换
  • C++红黑树封装map和set
  • Ubuntu上安装Apache Spark
  • Kivy App开发之UX控件DropDown下拉列表
  • 【Python】OpenAI:调用深度求索(DeepSeek)API
  • 三峡国际与葡萄牙电力(EDP)联合考察团调研稳石氢能,AEM低成本制氢技术获关注。
  • js获取当前浏览器地址,ip,端口号等等
  • F#语言的软件工程
  • C#用winform窗口程序操作服务+不显示Form窗体,只显示右下角托盘图标+开机时自启动程序【附带项目地址】
  • 【Spring】Spring实现加法计算器和用户登录