View的事件体系(二)view的弹性滑动

上节主要总结了view的滑动和view的基础概念,这里就补充view的弹性滑动实现方式 弹性滑动方式 使用Scroller操作scrollTo/ScrollBy 使用动画 使用延时策略 一、Scroller的使用 1、使用步骤(固定): 1、 创建Scroller对象 Scroller mScroller = new Scroller(context); //2、 调用方法 mScroller.startScroll(getScrollX(), getScrollY(), -6
分类: 其他 发布时间: 04-23 23:52 阅读次数: 0

View的事件体系(三)view的事件分发机制

view事件的分发机制:view的核心知识、view的难点、view的另一大难点滑动冲突解决的理论基础。 一、了解下 安卓的view层级: 其实我们平时在xml中写的view都是通过activity的setContentView被一步步加载到window上的,事件的产生也是首先从activity按照层级往下传递,一直到我们CustomView的最内层布局view,中间传递过程有着事件分发处理。 ps:图片来源网络 二、 事件的传递规则 1、MotionEvent MotionEvent这个类中
分类: 其他 发布时间: 04-23 23:52 阅读次数: 0

观察者设计模式(Observer)

敲了一些代码,观察者设计模式我们也会经常会碰到,比如rxjava就使用到了观察者设计模式。其实java也为我们封装了相关的api,方便我们实现观察者。本文就总结下java原装的观察者设计模式来说明下观察者的流程。 一、什么是观察者 1、Observer模式是行为模式之一。 2、一个对象的状态发生变化时,能够自动通知其他关联对象,自动刷新。(是不是想到了接口的回调) 二、观察者模式的角色和职责 Subject(汉语意思订阅。有时也使用Observable)被观察者 被观察的对象。当需要被观察的状
分类: 其他 发布时间: 04-23 23:52 阅读次数: 0

View的事件体系(四)view滑动冲突

事件的分发机制和滑动冲突是view事件体系的难点,上篇总结了分发机制,这里开始着手滑动冲突。滑动冲突如何产生的呢?其实在界面中只要有内外两层可以同时滑动的控件时。便会产生滑动冲突。如何解决滑动冲突呢?本节便解开这个神秘的面纱。 一、常见的滑动冲突 1、滑动冲突场景 场景1:外部滑动方向和内部滑动方向不一致。 场景2:外部滑动方向和内部滑动方向一致。 场景3:上面两种情况的嵌套。 2、滑动冲突场景图 3、场景分析 场景一: 主要是viewpager和fragment配合使用所组成的页面滑动效果。
分类: 其他 发布时间: 04-23 23:52 阅读次数: 0

View的工作原理(一)初认识ViewRoot、DecorView,理解MeasureSpec

要点 一、初识RootView、DecorView 为了更好的熟悉view的三大流程(测量、摆放、绘制)我们就先普及下RootView、DecorView基本概念。 1、ViewRoot 1、ViewRoot 对应ViewRootImlp 类,它其实是连接 WindowManger 和 DecorView 的桥梁。View 的三大流程都是通过 ViewRoot 来完成的。 2、在 ActivityThread 中,当 Activity 对象被创建完毕后,会将 DecorView 添加到 Win
分类: 其他 发布时间: 04-23 23:51 阅读次数: 0

View的工作原理(二)Measure过程

view的工作流程主要是指measure、layout、draw这三大流程,即测量,布局、绘制。measure决定view测量的宽高,layout决定view的最终宽高和摆放位置,draw将view绘制到屏幕上。 一、 Measure过程 measure 过程要分两种情况: 1、 View。如果是 View 的话,那么只通过 measure 方法就完成其测量过程 2、 ViewGroup。但是如果是 ViewGroup 的话,不仅需要完成自己的测量过程,还需要完成它所有子 View 的测量过程
分类: 其他 发布时间: 04-23 23:51 阅读次数: 0

sql视频学习关键笔记(自用记单词与学习用)

sql字段类型 numeric(18,3)-18位整数加3位小数点(货币计量最好选这类型) sql关键字 insert、 update、 delete alter grant 授权、 revoke 回收 create table、drop table 其它关键字:into values set where from order by desc like between 1 and 20、identity(1,1)自增、primary key主键、 foreign key references
分类: 其他 发布时间: 04-23 23:51 阅读次数: 0

OO第二单元多线程电梯总结

OO第二单元多线程电梯总结 第一次作业 设计思路 Input为输入线程,负责不断读取请求并将读到的请求放入调度器中。 Dispatcher为调度器,是Input线程和Elevator线程的共享对象,采用单例模式。Dispatcher中list为请求队列,over为输入线程结束的标志,当输入线程读到null时,将over设为true。 Elevator为电梯线程,采用傻瓜调度(FAFS)。 代码分析 SOLID原则分析 Input线程负责输入,elevator线程负责取指令执行的单一负责线程比较
分类: 其他 发布时间: 04-23 23:51 阅读次数: 0

selenium 自动化基础知识(各种定位)

元素的定位 webdriver 提供了一很多对象定位方法 例如: [ id ] , name , class name , link text , partial link text , tag name, xpath , css selector 例如:下图 # -*- coding: utf-8 -*- # 通过id方式定位 browser.find_element_by_id("kw").send_keys("selenium") # 通过name方式定位 browser.find_
分类: 其他 发布时间: 04-23 23:51 阅读次数: 0

发布者订阅者模式之JAVA实现

1.发布者接口 package com.shoshana.publishsubscribe; public interface IPublisher<M> { public void publish(SubscribePublish subscribePublish, M message, boolean isInstantMsg); }    2.订阅者接口 package com.shoshana.publishsubscribe; public interface ISubcri
分类: 其他 发布时间: 04-23 23:51 阅读次数: 0

ShoppingCart

数据库设计 表结构 [dbo].[AdminInfo] AdminID, AdminName, AdminPassword, RoleID [dbo].[BK_Car] ID, CarID, ISBN, BookName, Price, Num [dbo].[BookInfo] ISBN, BookName, Author, Price, InCount, OutCount, Intro, Sort, ImageAds [dbo].[Indent] IndentID
分类: 其他 发布时间: 04-23 23:51 阅读次数: 0

python学习第三天 -----2019年4月23日

第三周-第03章节-Python3.5-集合及其运算 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集、差集、并集等关系
分类: 其他 发布时间: 04-23 23:51 阅读次数: 0

Spring-MVC学习笔记

工作流程 控制器 public class MyController implements Controller { @Override public ModelAndView handleRequest(javax.servlet.http.HttpServletRequest httpServletRequest, javax.servlet.http.HttpServletResponse httpServletResponse) throws Exception {
分类: 其他 发布时间: 04-23 23:51 阅读次数: 0

Bugku-CTF之flag.php(点了login咋没反应)

Day20 flag.php 地址:http://123.206.87.240:8002/flagphp/ 点了login咋没反应 提示:hint 本题要点:代码审计、反序列化、cookie 打开链接发现: 查看源码什么也没有 注意,题目说明中 提示是hint,试试get一个hint参数,得到源码 代码审计: (参考了很多大佬们的题解,相关链接见本文参考资料) 我们可以看到 代码逻辑是传入的cookie参数的值反序列化后等于KEY就输出Flag,一开始以为$KEY的值是最下面的ISecer:w
分类: 其他 发布时间: 04-23 23:51 阅读次数: 0

《Exception团队》第二次作业:团队项目选题报告

一、项目基本介绍 项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 Exception 作业学习目标 深入了解软件思想,强化编程技术 二、项目细则 1.团队初选项目可行性自评总结; (1)技术可行性 由系统开发、运行环境介绍可以看出开发本系统只需熟悉idea和 mysql 数据库就可以,所以在技术上是完全可行的。其组员本身就对电脑设备和操作有一定的认识,该系统简单,不用过多培训。硬件方面我们相信我们开发的系统在现在主流的计算机上都可以运行。
分类: 其他 发布时间: 04-23 23:51 阅读次数: 0

Kafka(二)设计原理

1、持久性 kafka使用文件存储消息,这就直接决定kafka在性能上严重依赖文件系统的本身特性。且无论任何OS下,对文件系统本身的优化几乎没有可能。因为kafka是对日志进行append操作,因此磁盘检索的开支是较小的;同时为了减少磁盘写入的次数,broker会将消息暂时buffer起来,当消息的个数(或尺寸)达到一定阈值再flush到磁盘,这样减少了磁盘IO调用的次数。 2、性能 需要考虑的影响性能点很多,除磁盘IO之外,我们还需要考虑网络IO,这直接关系到kafka的吞吐量问题,kafk
分类: 其他 发布时间: 04-23 23:51 阅读次数: 0

常用断点记录

以上记录来自加密与解密书籍,如有侵权,请联系本人进行删除。
分类: 其他 发布时间: 04-23 23:51 阅读次数: 0

博客园怎么引入看板娘

参考1:https://www.hellojava.com/a/75281.html 参考2:https://www.cnblogs.com/yjlaugus/p/8724881.html#4238689 参考3:https://www.cnblogs.com/kousak/p/9726514.html <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Cont
分类: 其他 发布时间: 04-23 23:51 阅读次数: 0

ToNumber

true becomes 1 and false becomes 0. undefined becomes NaN, but (curiously) null becomes 0 Objects (and arrays) will first be converted to their primitive value equivalent, and the resulting value (if a primitive but not already a number) is coerced
分类: 其他 发布时间: 04-23 23:51 阅读次数: 0

Oracle 用脚本安装第二个数据库

安装第二个数据库: 登录oracle用户进入家目录,添加配置环境变量: vi .bash_profier ORACLE_SID=prod2    临时环境变量: $export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 $export ORACLE_SID=prod2    创建第二个数据库文件目录: $mkdir -p /u01/app/oracle/oradata/prod2    创建sys用户密码文件: $cd /
分类: 其他 发布时间: 04-23 23:51 阅读次数: 0