【多空资金指标源码空心柱源码】【宾馆 源码】【摇钱树 源码】webview 显示源码_webview源码分析

时间:2024-11-28 19:49:32 来源:thenewz游戏源码 分类:知识

1.webview ?示源?ʾԴ??
2.请问开了webview有什么用
3.WebView的使用
4.最简最全,一文搞定Android WebView编译+AOSP集成
5.Android 在WebView中通过javascript获取网页源码,源码并在TextView或者在EditText中显示问题

webview 显示源码_webview源码分析

webview ?分析?ʾԴ??

       实现网页文字聊天相对简单,但要实现视频聊天则较为复杂。示源本文将介绍一个纯网页版的源码视频聊天和桌面分享的Demo,可直接在浏览器中运行,分析多空资金指标源码空心柱源码无需安装插件。示源

       一. 主要功能及支持平台

       1. 本Demo的源码主要功能包括:

       (1)一对一语音视频聊天。

       (2)远程桌面观看。分析

       (3)当客户端掉线时,示源会自动重连,源码网络恢复后重连成功。分析

       2. 支持的示源平台包括:

       (1)支持的操作系统有:Windows、信创国产Linux(银河麒麟、源码统信UOS)、分析宾馆 源码Android、iOS、Mac、鸿蒙OS。

       (2)支持的CPU架构有:X/X、ARM、MIPS、Loongarch。

       (3)支持几乎所有主流浏览器:Chrome、Edge、Firefox、Safari、浏览器、QQ浏览器等。摇钱树 源码

       (4)此外,使用APP套壳,在WebView控件中加载Demo页面,也能正常进行视频聊天。这可以在C/S架构的客户端或手机APP中嵌入WebView控件来引入视频聊天或桌面分享功能。

       二. 开发环境

       1. 服务端:

       服务端开发环境是Visual Studio ,开发语言是C#。

       2. Web端:

       PC版Web开发环境是VS Code 1.,使用vue 3。

       手机版Web开发环境是HBuilder 3.8.,uni-app(导出H5)。

       三. 运行效果

       此Demo的源码分为三个部分:服务端、PC端Web(横版)和手机端Web(竖版)。首先来看移动端Web的ctp 源码运行效果。

       (1)登录界面有三个输入框:服务器IP、用户账号和用户密码,用户账号和用户密码均可随便填写。

       (2)首页界面有一个已连接的提示框,表示目前与服务端是连接状态,因网络或其他原因断开时,会提示已断开连接。

       (3)发起视频聊天:输入对方的账号,点击请求视频会话按钮即可向对方发起视频聊天请求,对方接受请求后即可聊天。

       (4)手机端不支持分享自己的桌面,但可以观看PC端桌面。

       (5)PC端运行效果:登录后主页界面,左上角是zend 源码关于自己的一些信息,右边窗口显示连接对方的摄像头或桌面。

       (6)输入对方的账号,点击请求远程桌面,对方同意后即可观看别人的屏幕。

       四. 服务端源码说明

       注意,由于浏览器限制,将Web端部署到公网需要使用HTTPS协议,否则无法访问摄像头。

       服务端也需要使用WSS协议,因此需要准备SSL证书用于部署。若仅在本地运行,则无需准备。

       若不部署,则将服务端初始化代码中的第六行注释掉,并将第七行中的MultimediaServerFactory.CreateMultimediaServer方法中的wssOption用null替换掉。

       若部署在服务器上,则需要将第五行XCertificate2中的两个参数分别修改为证书路径和密码。

       五. Web端源码说明

       本Demo中的Web端包含两套代码,移动端Web采用uni-app开发,PC端Web采用Vue框架开发。关键点如下:

       1. 消息定义:定义了个消息类型,用于Web端之间进行通信,定义放在Vuex或src目录下的omcs目录下。

       2. 自定义消息处理器:在登录成功后,通过调用多媒体管理器上的SetCustomMessageReceivedCallback方法,向multimediaManager注册回调函数,接收消息类型和发起者用户名数据,根据消息类型完成业务操作。

       3. 一对一语音视频:实现逻辑为用户A向用户B发送VideoRequest消息,用户B收到消息后选择同意与否,并将携带用户B意愿数据的VideoResult消息发送给用户A。

       4. 桌面分享:实现逻辑与语音视频类似,请求消息类型为DesktopRequest,响应消息类型为DesktopResult。

       5. 断网重连:网络断开时,每5秒进行与服务器的重新连接,注入ConnectionInterrupted和ConnectionRebuildSucceed回调,在断开和重新连接成功时进行操作。

       六. 如何在本地部署运行Web端

       Web端包含两套代码,移动端Web目录是H5MediaDemo_WebH5,PC端Web目录是H5MediaDemo_WebPC。

       1. 移动端web:通过HBuilder X运行,打开运行→运行到浏览器,选择浏览器即可运行。

       2. PC端web:需要NodeJS环境,安装成功后,在命令行窗口输入node -v和npm -v检查是否安装成功。

       在项目根目录下输入npm run dev运行项目。

       七. 源码下载

       (1)PC版源码

       (2)手机版源码

       此外,已部署测试服务器方便测试。

       (1)PC Web测试网址

       (2)手机 Web测试网址

       网页版视频聊天Demo实现介绍到此结束,感谢!

请问开了webview有什么用

       开了webview的作用如下:

        1、有效增大App的运存,减少由webview引起的内存泄露对主进程内存的占用。

        2、避免WebView的Crash影响App主进程的运行。

        3、拥有对WebView独立进程操控权。

        Android内置webkit内核的高性能浏览器,而WebView则是在这个基础上进行封装后的一个控件,WebView直译网页视图,可以简单的看作一个可以嵌套到界面上的一个浏览器控件。Android是由Google公司和开放手机联盟领导并开发的一种基于Linux的自由且开放源代码的操作系统,主要使用于移动设备。其最初由AndyRubin开发,后被Google于年8月收购。之后Google与家硬件制造商、软件开发商及电信营运商组建开放手机联盟,共同研发改良Android系统,完成开发后,Google以Apache开源许可证的授权方式,发布了Android的源代码。

        更多关于开了webview有什么用,进入:"

       });

       function sendInfoToJava(){

       window.AndroidWebView.showInfoFromJs(share);

       }

       <!--在android代码中调用此方法-->

       function showInfoFromJava(msg){

       alert("showInfoFromJava:"+msg);

       }    </script></head><body la><div id='b'>    <input onclick="sendInfoToJava()" type="button" value="sendInfoToJava"/></div></body></html>

       布局代码:

       <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"    xmlns:tools="/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="com.example.chenjifang.webview.MainActivity">    <Button        android:id="@+id/test_btn"        android:text="代码中调用web js代码传递参数"        android:layout_width="match_parent"        android:layout_height="wrap_content" />    <EditText        android:id="@+id/test_edt"        android:layout_width="match_parent"        android:layout_height="wrap_content" /><WebView    android:id="@+id/test_webview"    android:layout_width="match_parent"    android:layout_height="dp"></WebView></LinearLayout>

       java代码:

       public class MainActivity extends AppCompatActivity { private WebView mWebView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);         mWebView = (WebView) findViewById(R.id.test_webview);        //设置WebView支持JavaScript        mWebView.getSettings().setJavaScriptEnabled(true);        mWebView.loadUrl("file:///android_asset/index.html");        mWebView.addJavascriptInterface(new JsInterface(this), "AndroidWebView");        //添加客户端支持        mWebView.setWebChromeClient(new WebChromeClient());        findViewById(R.id.test_btn).setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {

       sendInfoToJs();            }

       });    }    private class JsInterface {        private Context mContext;        public JsInterface(Context context) {            this.mContext = context;        }        //在js中调用window.AndroidWebView.showInfoFromJs(name),便会触发此方法。        @JavascriptInterface        public void showInfoFromJs(String share) {

       Toast.makeText(mContext, share, Toast.LENGTH_SHORT).show();        }

       }    //在java中调用js代码    public void sendInfoToJs() {

       String msg = ((EditText)findViewById(R.id.test_edt)).getText().toString();        //调用js中的函数:showInfoFromJava(msg)        mWebView.loadUrl("javascript:showInfoFromJava('" + msg + "')");    }

       总结下,java代码中要设置webview对javascript的支持,addJavascriptInterface(new JsInterface(this), "AndroidWebView");//这句代码中的第二个参数是在js访问方法的地址。

       window.AndroidWebView.showInfoFromJs(share);