首页 文章 精选 留言 我的

精选列表

搜索[消息对话],共10000篇文章
优秀的个人博客,低调大师

Flutter与Android通信方式->MethodChannel方式(发送消息并且返回结果)

摘要:Flutter版本号:1.12.13,Kotlin版本号:1.3.72 版本号不同,实现的方式不一样,所以特此标注下。 具体的实现原理,自行查阅。这里只写代码实现过程,主要原因是网上Kotlin的实现方式实在太少,特此记录。 Flutter: import 'package:base_library/base_library.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; class ChannelDemoPage extends StatefulWidget { @override _ChannelDemoPageState createState() => _ChannelDemoPageState(); } class _ChannelDemoPageState extends State<ChannelDemoPage> { static const _channel = const MethodChannel('plugins.flutter.io/FlutterMessagePlugin'); @override void initState() { super.initState(); } @override Widget build(BuildContext context) { return new Scaffold( body: new Row( ), floatingActionButtonLocation: FloatingActionButtonLocation.endFloat, floatingActionButton: new FloatingActionButton( backgroundColor: Colors.blueAccent, onPressed: () { this.getResult(); }, child: new Icon(Icons.adb), ), ); } void getResult() async { try { Map<String, Object> map = {"shareUrl": "https://www.baidu.com"}; var result = await _channel.invokeMethod("getRealUrl", map); LogUtil.e("result->$result"); } catch (e) { LogUtil.e("e->, $e"); } } } Kotlin: import android.content.Context import android.util.Log import io.flutter.embedding.engine.plugins.FlutterPlugin import io.flutter.plugin.common.* import io.flutter.plugin.common.MethodChannel.MethodCallHandler import io.flutter.plugin.common.MethodChannel.Result class FlutterMessagePlugin : FlutterPlugin, MethodCallHandler { private var channel: MethodChannel? = null private var context: Context? = null override fun onMethodCall(call: MethodCall, result: Result) { if (call.method == "getRealUrl") { var shareUrl = call.argument<String>("shareUrl"); Log.v("shareUrl=", shareUrl) result.success("处理完成") } else { result.notImplemented() } } companion object { var channelName = "plugins.flutter.io/FlutterMessagePlugin"; fun registerWith(registry: PluginRegistry.Registrar) { var flutterPlugin = FlutterMessagePlugin(); flutterPlugin.channel = MethodChannel(registry.messenger(), channelName); flutterPlugin.context = registry.context(); flutterPlugin.channel?.setMethodCallHandler(flutterPlugin); } } override fun onAttachedToEngine(binding: FlutterPlugin.FlutterPluginBinding) { channel = MethodChannel(binding.binaryMessenger, channelName) context = binding.applicationContext channel!!.setMethodCallHandler(this) } override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) { channel?.setMethodCallHandler(null) channel = null; } } import androidx.annotation.NonNull; import io.flutter.embedding.android.FlutterActivity import io.flutter.embedding.engine.FlutterEngine import io.flutter.plugins.GeneratedPluginRegistrant class MainActivity: FlutterActivity () { override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) { flutterEngine.getPlugins().add(FlutterMessagePlugin()); GeneratedPluginRegistrant.registerWith(flutterEngine); } } 显示结果: V/shareUrl=: https://www.baidu.com I/flutter: common_utils e result->处理完成

优秀的个人博客,低调大师

高性能监控系统 WGCLOUD 更新,重构告警消息推送机制

WGCLOUD基于java语言开发,是springboot构建的监控系统,支持高并发高性能,核心模块包括:服务器集群监控,ES集群状态监控,CPU监控,内存监控,数据监控,网络流量监控,服务心跳检测,应用进程管理,磁盘IO监控,系统负载监控,监控告警信息推送。 此次更新: 重构告警信息开关组机制,可以灵活组合配置。 对每种监控资源都能开关告警信息。 #自定义配置参数 base: #登陆账号admin的密码 admindPwd: 111111 #通信token,agent端和此保持一致 wgToken: wgcloud #是否开启公众看板,yes开启,no关闭,公众看板页面无需登陆 dashView: yes #数据表监控间隔,单位毫秒,默认60分钟 dbTableTimes: 3600000 #服务接口监控间隔,单位毫秒,默认10分钟 heathTimes: 600000 #告警配置 mail: #告警邮件总开关,yes开启,no关闭 allWarnMail: yes #监控主机内存使用率%报警值,超过此值即发送邮件报警 memWarnVal: 98 #监控主机cpu使用率%报警值,超过此值即发送邮件报警 cpuWarnVal: 98 #内存告警邮件,yes开启,no关闭。总开关开启后,此处设置才会生效。以下开关均遵循此规则。 memWarnMail: yes #CPU告警邮件,yes开启,no关闭 cpuWarnMail: yes #主机下线告警邮件,yes开启,no关闭 hostDownWarnMail: yes #进程下线告警邮件,yes开启,no关闭 appDownWarnMail: yes #服务接口告警邮件,yes开启,no关闭 heathWarnMail: yes 码云源码下载:https://gitee.com/wanghouhou/wgcloud GITHUB源码下载:https://github.com/tianshiyeben/wgcloud 安装包下载:http://www.wgstart.com

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册