Intent 是一个消息传递对象,您可以使用它从其他应用组件请求操作。尽管 Intent 可以通过多种方式促进组件之间的通信,但其基本用例主要包括以下三个: 启动Activity:startActivity() 启动服务:bindService() 传递广播:sendBroadcast() Intent 类型 Intent 分为两种类型: 显式 Intent:按名称(完全限定类名)指定要启动的组件
具体内容在 Pocket
EventBus消息接收者注册流程 EventBus Post流程 postToSubscription()在这个方法中,实现了从发布者到调用者的调用过程。在这里有很重要的几个分支: Main:在主线程中执行。 如果当前线程(post线程)是主线程,则直接invoke; 如果当前线程(post线程)不是主线程,则将消息放入一个HandlerPosterPendingPostQueue的消息队列中,
简介 Binder使用Client-Server通信方式。Binder框架定义了四个角色:Server,Client,ServiceManager以及Binder驱动。其中Server,Client,ServiceManager运行于用户空间,驱动运行于内核空间。Binder驱动程序提供设备文件/dev/binder与用户空间交互,Client、Server和Service Manager通过op
FIS3 是以 File 对象为中心构建编译的,每一个 File 都要经历编译、打包、发布三个阶段。运行原理讲述了 FIS3 中的插件扩展点;那么本节就将说明一个插件如何开发; 如上图,编译起初,扫描项目目录下的所有文件(不包含指定排除文件),后实例化 File 对象,并对 File 内容进行编译分析; 编译阶段插件 在编译阶段,文件是单文件进行编译的,这个阶段主要是对文件内容的编译分析;这个阶段
插件需要 export 一个函数,函数会接收到两个参数,第一个是 build-scripts 提供的 pluginAPI,第二个是用户传给插件的自定义参数,如下: module.exports = (pluginAPI, options) => { const { context, log, onHook } = pluginAPI; }; pluginAPI
初始化插件 你可以通过 create-umi 直接创建一个 umi 插件的脚手架: $ yarn create umi --plugin 在 umi 中,插件实际上就是一个 JS 模块,你需要定义一个插件的初始化方法并默认导出。如下示例: export default (api, opts) => { // your plugin code here }; 需要注意的是,如果你的插件需要发
开发者功能允许以许多不同的方式扩展和增强 Chart.js。 Chart.js 支持所有支持 canvas 的浏览器。 所有现代和主流移动浏览器都支持浏览器对 canvas 元素的支持。CanIUse 感谢BrowserStack让我们的团队在数千个浏览器上进行测试。 版本 2 具有与早期版本完全不同的 API。 大多数早期的版本选项具有当前的等价物或者相同。 请使用chartjs.org 上提供
Termux 支持的开发环境很强,可以完美的运行 C、Python、Java、PHP、Ruby等开发环境,建议读者朋友们选择自己需要的开发环境折腾。 编辑器 写代码前总得折腾一下编辑器,毕竟磨刀不误砍柴工嘛。Termux 支持多种编辑器,完全可以满足日常使用需求。 Emacs 据说Emacs是神的编辑器,国光我这种小菜鸡还不会使用哎,但是 Termux 官方已经封装好了 Emacs了,我们安装起来
如果您打算使用SOP做开放平台开发,流程大致如下: cd到/SOP/sop-common目录,执行命令mvn clean deploy,把jar上传到maven私服,如果没有maven私服,可以打包到本地mvn clean install 打包sop-gateway(网关)、sop-admin(后台管理)、sop-website(文档),部署到服务器上 以上服务是固定的,启动一次即可,后续不用做改
插件开发 消费器插件 继承AbstractDataConsumer类 通过spring.factories发布: cn.vbill.middleware.porter.core.task.consumer.DataConsumer=xxx 通过配置文件生效: porter.task[index].consumer.consumerName=pluginName EventConverte
安装YApi 1.创建工程目录 mkdir yapi && cd yapi git clone https://github.com/YMFE/yapi.git vendors --depth=1 # 或者下载 zip 包解压到 vendors 目录 2.修改配置 cp vendors/config_example.json ./config.json # 复制完成后请修改相关配置 vi ./c
运行开发服务器 npm install npm install -g ykit #依赖 ykit npm run dev #启动开发服务器 加载插件 在config.json plugins配置项,加入 demo 插件, { "port": "3000", "db": { "servername": "127.0.0.1", "DATABASE": "yapi" }
一个 web 项目的前、后端开发方式有很多种,每个方式都有适应的场景,case by case,无所谓先进与否。但无论采用哪种方式,都要进行分离,可以是分层上,也可以是分工上。 全栈框架开发 前、后端都依赖于同一个全栈式框架的开发方式,是为「全栈框架开发」。 后端工程师套页面 前端工程师只需在本地编写好静态页面,将静态资源文件上传到服务器或 CDN,接着后端工程师按照规则把代码「移植」到后端视图模
1 逻辑流程 方案1: 微信消息通过中转平台转发给小能服务器 小能消息直接发送到微信服务器,小能维护Token 方案2: 微信消息通过中转平台转发给小能服务器 小能服务器消息直接发送到中转平台,中转平台维护真实Token,小能维护由平台提供给小能的Token 注(1): 此处逻辑为可选逻辑,详情参见 【小程序深度对接->上报用户信息】 2 集成步骤 2.1 添加发起会话按钮 <button ope