event

android EventBus 的使用

一笑奈何 提交于 2019-12-27 03:42:19
今天简单的介绍 一下啊 android EventBus 的使用 EventBus 在官方介绍中是订阅......什么的 一大堆 , 在我android 菜鸟眼里 就是用来代替android 广播的 简单粗暴 效率高; 其实用法挺简单 的 就 三步 注册(官方叫订阅) 接收 取消(取消订阅). 算了 不多说直接上代码 ; 如果你用的是 android studio 直接在build.gradle 里添加 : compile files('libs/EventBus2.4.jar') 这个基础的就不做 过多解释了 网上 jar 类库什么的一大堆下面是使用:首先是发送数据 EventBus.getDefault().post(event);//这个在项目哪里都可以发的 event 参数等下讲接收: EventBus.getDefault().register(this);//接收之前是要先注册的 否则不会触发 onEventMainThread 也就是收不到发的event 你可以写在onCreate()等初始化方法里 public void onEventMainThread(Event event) {//接收方法(这是低版本固定格式后面介绍高版本使用)//event 可以是任意类型 只能一个参数 建议封装一下扩展性强一点 下//就把这里当做广播接收的地方用吧 更新ui 获取数据..

Windows Waiting for Multiple Objects

烂漫一生 提交于 2019-12-27 00:02:21
The following example uses the CreateEvent function to create two event objects and the CreateThread function to create a thread. It then uses the WaitForMultipleObjects function to wait for the thread to set the state of one of the objects to signaled using the SetEvent function. For an example that waits for a single object, see Using Mutex Objects . #include <windows.h> #include <stdio.h> HANDLE ghEvents[2]; DWORD WINAPI ThreadProc( LPVOID ); int main( void ) { HANDLE hThread; DWORD i, dwEvent, dwThreadID; // Create two event objects for (i = 0; i < 2; i++) { ghEvents[i] = CreateEvent( NULL

Android 之触屏事件

泄露秘密 提交于 2019-12-26 23:53:59
1.activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:layout_width="match_parent" android:layout_height="300dp" android:background="#D8BFD8" android:id="@+id/te" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/show" android:textSize="20dp" /> </LinearLayout> MainActivity.java package demo.com.chuping; import android.support.v7.app

JQuery速成大法

我与影子孤独终老i 提交于 2019-12-26 16:40:32
什么是 JQuery 呢,很多都是只闻其名。 jQuery是一个快速、简洁的JavaScript框架,是一个优秀的JavaScript代码库。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。 要用JQuery,首先要有一定的JS基础,否则根本看不懂这是个嘛玩意。有了JS基础后,就会发现,哇,JS好复杂,JQuery好简单粗暴 下面就让我们来看一下如何来用JQuery 【Jquery语法】 1.通过jQuery("选择器").action();通过选择器调用事件函数。 但JQuery中jQuery可以用$符代替,$("选择器").action(); ①选择器可以直接使用CSS选择器,选中元素 ②action表示对元素执行的操作 ps:各种选择器的用法可以自己去查帮助文档 2.文档就绪函数:防止了文档在完全加载(就绪)之前运行JQuery代码 $(document).ready(function(){ JQuery代码 }); $(function(){})//这是文档就绪函数简写方式PS 看到文档就绪函数,不免就会想到JS中的window.onload。这里我们来说一下它们俩的区别 ①

3.v-on

安稳与你 提交于 2019-12-26 01:39:32
1.v-on参数传递问题: 方法不需要额外参数,那么方法后的小括号可以添加也可以省略 方法中有一个参数,如果不传递就会将原生事件event参数传递进去 同时传入其他参数和event时,通过$event传入事件 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <div id="vue"> 9 <!--1.没有参数,加小括号和不加小括号是一样的--> 10 <button @click="btn1Click()">按钮1</button> 11 <button @click="btn2Click">按钮2</button> 12 13 <!--2.方法中有一个参数--> 14 <!--(1)带小括号和参数则正常显示--> 15 <button @click="btn3Click('btn3')">按钮3</button> 16 <!--(2)带小括号不带参数,参数传入undefined--> 17 <button @click="btn4Click()">按钮4</button> 18 <!--(3)不带小括号且不带参数,参数传入浏览器生成的MouseEvent对象传入参数中--> 19 <button

EventBus使用详解(二)——EventBus使用进阶

旧街凉风 提交于 2019-12-25 18:27:16
前言:这段时间感觉自己也有点懒了,真是内心有点自责呢,除了工作,也没做点什么,EventBus也是一周前总结出来的,只能以写博客为名来弥补内心的罪恶感了,集合同事们做的项目,虽然上周开动了,但总感觉大家积极性不高,如何才能做一个合格的管理者,还真是一个考验。follow your heart!! just do it! 相关文章: 1、 《EventBus使用详解(一)——初步使用EventBus》 2、 《EventBus使用详解(二)——EventBus使用进阶》 一、概述 前一篇给大家装简单演示了EventBus的onEventMainThread()函数的接收,其实EventBus还有另外有个不同的函数,他们分别是: 1、onEvent 2、onEventMainThread 3、onEventBackgroundThread 4、onEventAsync 这四种订阅函数都是使用onEvent开头的,它们的功能稍有不同,在介绍不同之前先介绍两个概念: 告知观察者事件发生时通过EventBus.post函数实现,这个过程叫做事件的发布,观察者被告知事件发生叫做事件的接收,是通过下面的订阅函数实现的。 onEvent: 如果使用onEvent作为订阅函数,那么该事件在哪个线程发布出来的,onEvent就会在这个线程中运行,也就是说发布事件和接收事件线程在同一个线程

微服务实践(五):微服务的事件驱动数据管理

浪子不回头ぞ 提交于 2019-12-24 14:09:08
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 本系列七篇文章列表如下: 微服务实战(一):微服务架构的优势与不足 微服务实战(二):使用API Gateway 微服务实战(三):深入微服务架构的进程间通信 微服务实战(四):服务发现的可行方案以及实践案例 微服务实践(五):微服务的事件驱动数据管理 微服务实践(六):选择微服务部署策略 微服务实践(七):从单体式架构迁移到微服务架构 【编者的话】本文是使用微服务创建应用系列的第五篇文章。第一篇文章介绍了微服务架构模式,并且讨论了使用微服务的优缺点;第二和第三篇描述了微服务架构模块间通讯的不同方面;第四篇研究了服务发现中的问题。本篇中,我们从另外一个角度研究一下微服务架构带来的分布式数据管理问题。 1.1 微服务和分布式数据管理问题 单体式应用一般都会有一个关系型数据库,由此带来的好处是应用可以使用 ACID transactions,可以带来一些重要的操作特性: 原子性 – 任何改变都是原子性的 一致性 – 数据库状态一直是一致性的 隔离性 – 即使交易并发执行,看起来也是串行的 Durable – 一旦交易提交了就不可回滚 鉴于以上特性,应用可以简化为:开始一个交易,改变(插入,删除,更新)很多行,然后提交这些交易。 使用关系型数据库带来另外一个优势在于提供SQL(功能强大,可声明的,表转化的查询语言

转一个右键菜单,支持不同对象不同菜单,兼容IE、Firefox

牧云@^-^@ 提交于 2019-12-24 11:59:11
< html > < head > < title > ddd </ title > < style > .DreamMenu { position : absolute ; visibility : hidden ; z-index : 100 ; overflow : hidden ; width : 150px ; background-color : buttonface ; border : dimgray 1px solid !important ; border : buttonhighlight menu menu buttonhighlight 2px outset ; padding : 1px !important ; padding : 1px 1px 1px 0px ; font-size : 12px ; } .DreamMenu ul { margin : 1px ; border-bottom : buttonhighlight 1px solid ; border-top : buttonshadow 1px solid ; } .DreamMenu a { display : block ; width : 100% ; padding : 1px 2px 2px 20px ; cursor : default ; text-decoration

vue drag和drop 以及与video结合

我们两清 提交于 2019-12-23 20:48:12
<template> <div> <div > <p>拖拽存放</p> <div id="save-box" @drop="drop($event)" @dragenter="dragEnter($event)" @dragover="dragOver($event)" @dragleave="dragLeave($event)" > <p id="drag-element" draggable="true" @dragstart="dragStart($event)" @dragend="dragEnd($event)" > 可拖动元素 </p> </div> <div id="save-box" @drop="drop($event)" @dragenter="dragEnter($event)" @dragover="dragOver($event)" @dragleave="dragLeave($event)" > </div> </div> <div> <p>拖拽视频名称加载视频</p> <ul style="border:1px solid black;width:50px;margin:5px"> <li v-for="(item,key) in videoList" :key="key" draggable="true" @dragstart=

selenium常用的js总结

假装没事ソ 提交于 2019-12-23 07:58:13
1、 对input执行输入 直接设置value属性, 此方法主要应对输入框自动补全以及readonly属性的element,sendkeys不稳定 比如: //inputbox is a WebElement JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript("arguments[0].value=\"北京\"", from_inpox); 对此可以封装一个typeQuick的方法 /** * @author Young * @param locator * @param values * @throws Exception */ protected void typeQuick(Locator locator, String values) throws Exception { WebElement e = findElement(driver, locator); log.info("type value is: " + values); JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript("arguments[0].value=\""+values+"\"", e); 去掉只读属性