- 博客(41)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Android ExoPlayer源码分析
文章目录关键的类和接口UI层逻辑层结构代码分析关键的类和接口UI层PlayerView源码中的注释:A high level view for Player media playbacks. It displays video, subtitles and album art during playback, and displays playback controls using a PlayerControlView.最外层的播放视图。通过自定义exo_simple_player_view.
2020-08-13 16:22:45
1710
1
原创 React 高阶组件(HOC)
高阶组件就是一个函数,且该函数接受一个组件作为参数,并返回一个新的组件。基本上,这是从 React 的组成性质派生的一种模式,我们称它们为“纯”组件, 因为它们可以接受任何动态提供的子组件,但它们不会修改或复制其输入组件的任何行为。是一个函数传入一个组件返回一个新组件。
2023-08-16 10:47:09
1339
原创 Android WebView和H5之间的通讯
之前看到的帖子都是通过js interface实现H5和原生之间的通信,但是根据官网文档,google官方并不推荐这样做,在Android 6或以上的设备上,推荐使用HTML message channels替代。 实现通讯关键的类是WebMessagePort, 截取一部分文档上对这个类的描述:The Java representation of the HTML5 message ports 
2020-10-30 16:16:02
1391
原创 Android 返回上一个页面,恢复滑动的位置
Android 从Fragment A切换到Fragment B,再返回到Fragment A,如何恢复离开A页面时的滑动位置? 我们的Fragment A中使用CoordinatorLayout协调滚动,返回A时恢复滚动状态也很简单,只需要给CoordinatorLayout的子视图设置id即可。 Root Cause在CoordinatorLayout源码on
2020-10-12 14:34:01
661
1
原创 Android hilt替换dagger遇到的context导致crash问题
最近在尝试将项目中的dagger依赖注入替换成hilt, 碰到了crash的问题,排查了一下原因记录一下。 项目中使用liteav做视频播放器,在inflate视频播放组件的时候出的InflateException, 不过这不是根本的原因,因为是在渲染视图的过程中出的异常,根本原因被catch了封装成了InflateException。根据异常堆栈的信息,只看得出来是在渲染TCControllerFullSc
2020-09-03 14:04:07
772
原创 CollapsingToolbarLayout + Toolbar结合使用minHeight不生效源码分析
使用CoordinatorLayout + AppBarLayout + CollapsingToolbarLayout可以实现折叠效果CollapsingToolbarLayout + Toolbar组合使用可以实现header固定在页面顶部,但是有时候希望给CollapsingToolbarLayout设置一个最小高度,使页面最大只能滚动到指定的一个点,但是此时给CollapsingToolbarLayout设置minHeight不生效。分析CollapsingToolbarLayout源码找到了原因
2020-08-03 17:42:51
1007
原创 需要的工具Note
1: 在线画图工具:https://www.draw.io/2: ubuntu 18.04安装mysql:https://www.cnblogs.com/clair11/articles/9467200.html3:ubuntu 18.04安装nginxhttps://www.cnblogs.com/aaronthon/p/9945993.html4:ubuntu 18.04安装r...
2019-12-03 09:46:54
205
原创 源码搭建Openfire 4.3.2 note
源码部署Openfire 4.3.2 troubleshooting: 1:war-maven-plugin 2.6一直下载不成功,配置文件改成了3.2.0 2:根据源码里documentation的source-build.html文件步骤执行 3:执行mvn test的时候抛了一个关于surefire plugin的error,需要maven 3.6以上的版本 ...
2019-12-02 13:25:13
377
原创 IDEA部署openfire 4.3.2源码
下载openfire 4.3.2源码解压后的目录如下: IDEA导入项目,等待sync完成。可能是因为网络的原因,有个plugin一直下载不下来,本地有该plugin其他版本,于是改了下pom文件,sync项目成功。 cd到项目根目录,根据documentation文件夹下的source-build.html文件构建源码。我执行mvn test的时候有个关于su...
2019-10-14 18:11:51
608
3
原创 springmvc + spring security搭建oauth2
1. pom.xml配置,引入相关依赖: <spring.version>5.1.7.RELEASE</spring.version> <spring-security.version>5.1.5.RELEASE</spring-security.version> <spring-security-oauth.ver...
2019-08-25 15:28:45
2872
5
原创 IDEA社区版运行web项目
1.在pom.xml文件添加tomcat插件:配置如下:<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.1</version>...
2019-08-25 14:48:36
5418
原创 Linux上搭建Elasticsearch
前提条件:Linux配置了java环境。环境搭建:使用putty连接服务器,cd到/usr/local 下载压缩包:wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.1-linux-x86_64.tar.gz 解压:tar -zxvf elasticsearch-7....
2019-05-29 17:40:15
329
原创 Windows下将java源项目打包成jar包
最近准备升级项目smack版本,除了有些api改变外,还需要重写部分smack源码来支持项目业务。 从github上当最新的smack源码导入到android studio中,sync项目当需要的依赖包。添加自己的改动之后编译项目生成对应的字节码文件。 打开windows cmd工具, cd到该module的build\classes\java\main下,使用jar命令...
2019-05-17 17:12:48
1428
原创 validate.js实现自定义验证
jQuery的表单验证框架添加自定义验证方式: validate.js提供了addMethod方法可使用户实现自定义验证,如下所示:其中有三个参数,methodName即为验证的方法名,在验证rules里若设置为true,则会调用function方法对表单数据进行验证。function即为验证数据函数,第三个参数为默认的提示信息。jQuery.validator.addMethod("
2017-08-09 10:49:08
2970
转载 SqlSessionTemplate MapperScannerConfigurer
mybatis SqlSessionFactoryBean SqlSessionTemplate MapperScannerConfigurer1.MyBatis简介 MyBatis是什么? MyBatis是一款一流的支持自定义SQL、存储过程和高级映射的持久化框架。MyBatis几乎消除了所有的JDBC代码,也基本不需要手工去设置参数和获取检索结果。MyBatis能够使用简单的XM
2017-08-01 14:46:32
3293
原创 表单提交设置disabled属性的input数据未提交
表单提交时,设置了disabled=“disabled”的input元素的数据并未提交到后台,如果数据需要发送到后台,需要将input元素设置为readonly=“true”
2017-07-25 10:06:35
797
原创 动态设置iframe的高度
写页面的时候。经常会动态添加元素,如果将iframe设置为固定值而又不希望有滚动条时一部分数据不能显示,于是添加以下函数,执行代码为页面动态添加元素之后,执行以下函数,可以重新为iframe设置高度。function initFrame(){ var iframe=window.frameElement; var bHeight=iframe.contentWindow.doc
2016-11-16 16:23:17
3352
原创 实现ajax提交表单,页面不跳转
表单代码 <form id="save" class="form-horizontal" role="form" method="post" action="${request.getContextPath()}/yuyue/saveBingli.do">
2016-11-09 17:37:58
2422
1
原创 js传递参数时类型错误
今天写代码添加了一下一段代码,字段值是后台传递的,格式的‘0000000XX’的字符串形式,但是触发函数时,把参数当成了整型值,传递之后结果就是XX的值,后来看了一下生成的html文档,发现在动态添加元素的时候应该参数该添加引号,于是在参数前添加了html实体&apos,也可以添加转义字符\',再运行问题就解决了。
2016-11-03 13:02:35
1650
翻译 spring学习(官网)——解决spring有多个匹配bean产生的冲突
1:使用@Primary注解微调:通过类型自动匹配可能会导致多个候选对象,在选择过程中有更多限制是必须的,一种方式是使用spring 的@Primary注解实现,当一个单值的依赖有多个候选的bean时,@Primary注解指示给予一个优先的bean。如果在所有候选的bean中只有一个是primary的,这个bean将会被匹配。@Configurationpublic class Movi
2016-09-29 11:45:30
4818
翻译 spring学习(官网)——InitializingBean 和DisposableBean
为了和容器生存周期的管理交互,你可以实现spring的InitializingBean和DisposableBean接口,容器为前者回调afterPropertiesSet()方法,后者回调destroy()方法,允许容器在初始化和销毁bean时执行合适的操作。JSR-250 @PostConstruct和@PreDestroy注解通常认为是在现代spring应用接收生存周期回调的最佳实践,使
2016-09-28 16:38:10
1169
原创 spring学习(官网)——使用工厂方法实例化对象
1:使用静态工厂方法实例化bean:在spring配置文件中注册bean,class属性是包含静态的类,factory-method指定类对应的工厂方法名<bean id="clientService" class="examples.ClientService" factory-method="createInstance"/>public class ClientSer
2016-09-27 17:50:26
407
原创 spring学习(官网)——解决版本冲突问题
在使用maven时有可能会意外的混入了不同版本的spring jar包,比如你可能会发现第三方库,或者另外一个spring project,如果你忘了明确地声明依赖,会出现各种意想不到的事情会发生。为了克服这样的问题,maven提供了 "bill of materials" (BOM) 依赖的理念,你可以在你的dependencyManagement 部分导入spring-framework
2016-09-26 21:02:32
2530
翻译 zookeeper概要
zookeeper:分布式应用的分布式协调服务zookeeper是分布式的,分布式应用的开源协调服务,他提供了一组简单的原语使分布式应用可以建立在为同步、配置维护、群组以及命名等实现更高级别的服务上。它被设计为易于编程,并且在一个相似的目录树结构的文件系统之下使用了数据模型样式,它运行在java环境中,并且为java和c都有绑。众所周知协调服务难以获得合适的,它们尤其容易失误比如竞态条件和
2016-09-26 14:17:40
242
原创 安装mysql-5.7.15-winx64
在校的时候用的是SQL Server,后来进了公司一直就是用的服务器上的MySQL,但是今天决定自己安装MySQL,也遇到了很多麻烦,来做个总结。mysql-5.7.15-winx64下载地址:链接:http://pan.baidu.com/s/1c2bssa0 密码:ext0,也可以自己去官网下,这个是免安装版本,下载后解压即可1,配置环境变量,相信学编程的应该都知道该怎么配环境变量
2016-09-19 14:52:50
3019
4
转载 MyBatis学习 之 、动态SQL语句
有些时候,sql语句where条件中,需要一些安全判断,例如按某一条件查询时如果传入的参数是空,此时查询出的结果很可能是空的,也许我们需要参数为空时,是查出全部的信息。使用Oracle的序列、mysql的函数生成Id。这时我们可以使用动态sql。 下文均采用mysql语法和函数(例如字符串链接函数CONCAT)。 3.1 selectKey 标签 在i
2016-09-14 11:30:26
308
原创 bootstrap data-toggle
Bootstrap为这些a之类元素都绑定上了事件,而终止了链接默认行为。data-toggle指以什么事件触发,常用的如modal,popover,tooltips等,data-target指事件的目标,一起使用就是代表data-target所指的元素以data-toggle指定的形式显示
2016-09-13 11:39:50
12206
原创 springmvc不拦截静态资源
1:在web.xml配置中修改拦截路径 springMVC org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:spring/spring-mvc.xml
2016-09-12 15:33:11
808
原创 easyUI datagrid请求,使用@ResponseBody将数据转换成json
spring-mvc.xml中配置:或者 <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.Ma
2016-09-12 12:22:23
3025
原创 idea运行maven web项目
1:run→Edit configurations :2:配置tomcat,左边如果没有tomcat server的话,点击 “+”,选择tomcat server→local,在右边server选项卡中,Name我填的是ApplicationServer一样的,没试过不同会如何,ApplicationServer:点击configure,在弹出的对话框中添加你安装的tomcat路径,在最下
2016-09-09 17:33:56
15629
原创 请求获取不到静态资源
今天搭建sprintMVC+MyBatis的开发环境,加载不了静态资源文件,查了相关资料之后,发现我的web.xml配置如下,这样配置的话DispatcherServlet会拦截所有的请求(.js .css...)而在控制器中并没有对应的处理方法,所以加载不了所需的文件 SpringMVC org.springframework.web.servlet
2016-09-09 16:06:21
1762
1
原创 springMVC+MyBatis+freemarker整合
目录结构配置web.xml contextConfigLocation classpath:spring/spring-mybatis.xml org.springframework.web.context.ContextLoaderListener springMVC
2016-09-09 15:45:35
491
原创 jdk API实现日志功能
编辑properties配置文件:log.properties# don't forget FileHandler of key handlers=java.util.logging.FileHandlerjava.util.logging.FileHandler.level=INFOjava.util.logging.FileHandler.formatter=java.util.logg
2016-09-07 10:47:14
278
原创 ssh协议使用SecureCRT通过跳板机连接到第三台主机
1:已知跳板机的ip地址用户以及密码,连接到跳板机上2:链接成功后 使用 ssh -vuser@ip地址命令,user是要连接的主机的用户名,ip是要连接的主机的ip地址3:回车后,SecureCRT会提示输入密码,就OK。
2016-09-07 10:30:28
1777
原创 通过SecureCRT登录redis
1:使用SecureCRT先登录到指定服务器2:输入命令 redis-cli -p port-a passwordport:端口,默认 6379password:密码。
2016-09-07 10:29:41
1942
原创 SecureCRT进入到指定进程打开的文件目录
1:链接到指定主机2:输入命令 ps aux | grep java :列出java进程其中6168是进程号3:输入命令 cd /proc/6168进入到进程目录中。4: 输入命令ls -l,会显示以下内容:5:再输入命令 cd path就进入到了进程打开的文件目录中了,其中path是上个图片中cwd后面的内容。
2016-09-07 10:28:50
6054
原创 MySql出现too many connection
最近做公司里一个maven web项目时出现一个很熟悉的问题,MySql提示too manyconnections,在学校那会儿和同学一起做项目一般就是重启数据库,对项目没有什么影响,但是在公司部署在服务器上的数据库不能随便重启,于是尝试着到本地repository仓库中将mysql的文件删除,再到MyEclipse中update project重新下载jar包,结果可以重新连接数据库。不过经常
2016-09-07 10:26:54
510
原创 maven打包项目
对已经完成的的maven项目要打包成jar文件或者war文件发布到Linux服务上运行,但是在打包的时候maven项目所依赖的jar包没有包括,百度之后,我在pom.xml文件中添加了如下配置,再在cmd下 org.apache.maven.plugins
2016-09-07 10:24:51
236
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人