Android安卓webview,网页端生成安卓项目(极速生成)教程

2023-11-15

Android安卓webview,网页端生成安卓项目(极速生成)教程

一,前言

当自己做了一个PC端的页面,也就是前端的页面,或者已经上服的页面,但也想生成一个安卓端供用户使用,本教程详细讲解如何把前端html页面或者链接生成安卓端项目。

本教程仅限至于已经上服务器的项目(若项目没有上服,看文末提供上服)。

二,步骤(代码中已有详细的注释)

1.创建一个空安卓项目

image-20230828145645159

2.修改MainActivity.java文件

注意修改webView.loadUrl(“http:自己的项目地址”);中的地址

package com.example.myapplication;

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends Activity {

    private WebView webView;

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

    private void init() {
        // 从布局文件中获取 WebView 控件
        webView = (WebView) findViewById(R.id.webView);

        // 获取 WebView 的 WebSettings(Web 设置)对象
        WebSettings ws = webView.getSettings();

        // 设置布局算法为 NORMAL,会引起 WebView 的重新布局
        ws.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);

        // 自动加载图片资源
        ws.setLoadsImagesAutomatically(true);

        // 允许 JavaScript 打开新的窗口
        ws.setJavaScriptCanOpenWindowsAutomatically(true);

        // 允许执行 JavaScript 脚本
        ws.setJavaScriptEnabled(true);

        // 支持 HTML 的 "viewport" 标签或者使用 wide viewport
        ws.setUseWideViewPort(true);

        // 缩小内容以适应屏幕宽度
        ws.setLoadWithOverviewMode(true);

        // 启用定位功能
        ws.setGeolocationEnabled(true);

        // 启用应用缓存
        ws.setAppCacheEnabled(true);

        // 启用 DOM 存储 API
        ws.setDomStorageEnabled(true);

        // 请求焦点,用于处理用户输入事件
        webView.requestFocus();

        // 检查是否可以前进或后退到不同的页面
        webView.canGoForward();
        webView.canGoBack();

        // 加载指定的 URL
        webView.loadUrl("http:自己的项目地址");

        // 覆盖 WebView 默认行为,使网页在 WebView 中打开
        webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                // 返回值为 true 时在 WebView 中打开链接,为 false 调用系统浏览器或其他浏览器
                view.loadUrl(url);
                return true;
            }
        });
    }
}

这段代码实现了以下功能:

  1. 在布局中找到 WebView 控件并获取它的 WebSettings(Web 设置)。
  2. 配置 WebView 的各种属性,例如允许 JavaScript 执行、自动加载图片、设置布局算法、启用缓存等。
  3. 请求焦点,以便 WebView 可以处理用户输入事件。
  4. 检查 WebView 是否可以前进或后退到不同的页面。
  5. 使用 loadUrl 方法加载指定的 URL。
  6. 通过设置 WebViewClient 覆盖默认行为,使得所有链接都在 WebView 中打开。

这段代码的主要目的是在 Android 应用中创建一个内置浏览器,以显示指定 URL 的网页内容。

3.修改activity_main.xml文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <WebView
        android:id="@+id/webView"
        android:layout_below="@+id/text_endLoading"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginTop="10dp" />
</LinearLayout>

4.修改AndroidManifest.xml文件

注意:我这里的android:icon="@drawable/logo"用的是自己的,需要修改app的logo地址

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.example.test">
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <application
        android:allowBackup="true"
        android:dataExtractionRules="@xml/data_extraction_rules"
        android:fullBackupContent="@xml/backup_rules"
        android:icon="@drawable/logo"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:usesCleartextTraffic="true"
        tools:targetApi="31">

        <activity
            android:name="com.example.myapplication.MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>

5.运行

之后连接手机运行即可

image-20230828144957476

三,上服

存在部分本地的项目,但是这种情况下是不能部署到安卓端的,需要把本地的项目部署到服务器,自己查

或私信作者(可以供服务器部署前端页面,仅杯奶茶钱)

(v)15135757306

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android安卓webview,网页端生成安卓项目(极速生成)教程 的相关文章

随机推荐

  • Java里的锁

    前言 锁 最初是人类为了保护自己的财产而发明的一种用钥匙才能开启的装置 防范的是外部人员 正常手段下没有钥匙是不能绕过物理锁的 而在程序世界里 锁的设计则是为了保护数据资源 但并不能防范外部攻击 只能算是内部协作的一个约束 无论内外部 只要
  • Android APK反编译技巧全讲解

    Android APK反编译技巧全讲解 导言 在我们安卓开发当中 我们不仅需要掌握基础的开发技能 也需要掌握软件的安全技能 这样才可以让我们的软件能够成为一款能够真正可以进行发布的软件 同时也可以让自己的核心技术不会被别人所盗取 首先我们应
  • ul li ol 解决去除默认点 和 空白问题 缩进问题

    前面的空白 其实这段空白叫做 缩进 明白是缩进之后 在网上能搜到一堆处理的方法 使用firebug调试了很久 这段空白明明没有对应的样式控制啊 把margin left设置成0px也没用 后来反应过来 原来是缩进 据此搜索到解决办法 直接解
  • 不同平台的C/C++标准库

    1 C C 标准 C C 所涉及到的参与者 根据角色的不同 可以分为以下3类 C C 标准起草者 主要在ISO标准组织 International Organization for Standardization 他们负责对应C C 标准相
  • 元学习MAML算法详解

    Meta learning Meta learning 基本定义 元学习 又称 学习如何学习 就像我们人类学习新知识往往从以往得经验出发而很少从头开始一样 元学习以一种系统得 数据驱动得方式从先前得经验中学习 是一个可用于描述所以基于其他先
  • 【实操案例十一】使用try-except手动捕获异常 实例代码及运行效果图!

    任务一 编写程序输入学员成绩 异常捕获忘了的同学 可以参考这个 Bug的常见类型及异常处理机制 任务一 编写程序输入学员成绩 i int input 请输入学员成绩 if 0 lt i lt 100 print i else raise E
  • 【算法】稳定匹配二(JAVA版)

    详细介绍信息请看第一篇稳定匹配C 版这里不再过多讲述 下文直接贴代码 PiPei java package com dt pipei import java util Scanner public class Pipei public st
  • go+vue——基于gin框架和gorm的web开发实战

    go vue 基于gin框架和gorm的web开发实战 gin框架 视频 资料 笔记 安装Go环境 添加环境变量 可能自动添加好 下载 Go 环境变量 goland 报错 GOROOT is not defined 创建项目 Golang中
  • Netty架构剖析

    1 Netty逻辑架构 Netty采用了典型的三层网络架构进行设计和开发 Reactor通信调度层 1 它由一系列辅助类完成 包括Reactor线程NioEventLoop及其父类 NioSocketChannel NioServerSoc
  • 关于指针的一些知识

    文章目录 1 什么是指针 2 为什么要有指针 3 为什么32平台下 内存的最大有效空间为4G 4 指针 变量 的大小 5 指针的类型 5 1 指针的意义 6 指针的运算 6 1指针加减整数 6 2指针 指针 7 指针和数组 7 1为什么数组
  • qt中使用 ui 文件进行界面设计

    目录 1 创建 Qt 应用 2 项目创建成功 3 直接点击打开 mainwindow ui 文件 4 随便从左边侧边栏拖拽一个空间到 界面设计区域 5 在右侧边栏右键点击 pushButton 控件 点击转到槽 6 根据实际需要选择对应的信
  • 如何安装nodejs、webpack

    目录 前言 第一步 安装nodejs 第二步 全局安装webpack 第三步 局部安装webpack 前言 我在b站上面学习Vue的时候需要使用webpack进行模块化 那就安装webpack 老师说由于webpack需要nodejs的支持
  • 数据清洗常见问题(新手踩坑合集)【不定期更新】

    1 CSV打开发生错误 有些时候csv用pandas的pd read csv 地址 打开某些表格 横轴上无索引的 会出现这种情况 出现这样的情况后array的转化就十分不好搞 所以要加上一个 header None f pd read cs
  • 1024徽章获取

    听说今天发文章可以领徽章来着 作为一名准程序员也是有必要领一下得
  • IDEA报错:Error running ‘xxxApplication‘: Command line is too long. Shorten command line for xxxApp...

    1 找到 idea workspace xml 2 在 idea workspace xml里面找到
  • svc错误

    add N C Users Administrator workspace First WebContent testajax jsp Attempted to lock an already locked dir svn Working
  • springboot集成redis并设置过期时间

    redis作为常用的缓存工具在日常中经常使用 首先是下载redis redis github 选择windows linux安装即可 不会自己百度 下载好后配置 redis配置文件设置访问密码为123456 开始集成 maven依赖
  • 前端性能优化

    页面的性能指标 DCL DOMContentLoaded DOM解析完毕 FP First Paint 表示渲染出第一个像素点 FP一般在HTML解析完成或者解析一部分时候触发 FCP First Contentful Paint 表示渲染
  • element-ui table分页/筛选后保留勾选项

    在使用elementui中的table时 有时会涉及到勾选完数据切换页数或者使用搜索框搜索后已勾选数据消失 而elementul有个属性可以处理这个情况 reserve selection和row key搭配使用 使用步骤 在table上加
  • Android安卓webview,网页端生成安卓项目(极速生成)教程

    Android安卓webview 网页端生成安卓项目 极速生成 教程 一 前言 当自己做了一个PC端的页面 也就是前端的页面 或者已经上服的页面 但也想生成一个安卓端供用户使用 本教程详细讲解如何把前端html页面或者链接生成安卓端项目 本