mysql时间戳插入的问题
简书链接:mysql时间戳插入的问题文章字数:83,阅读全文大约需要1分钟如果定义的是timestamp类型 或者是date类型,插入的时候应该插入格式化好的日期,而不是直接插入时间戳类似下面,插入之后 1497的这个插入结果是”0000-00-00 00:00:00” 1234insert into qssq (updatedAt)values('2017-09-12 13:40:33');insert into qssq (updatedAt)values('1497016062');select * from qssq;
thinkphp风骚访问入口
简书链接:thinkphp风骚访问入口文章字数:305,阅读全文大约需要1分钟根据官方文档的方法进行安装实际上真实访问的应该是 123http://localhost/tp5/public/index.php/index/index/index//最后一个idnex 是指index控制器里面的方法index ,可以尝试新建一个index2方法访问http://localhost/tp5/public/index.php/index/index/index2 验证 模块存放路径http://localhost/tp5/public/index.php/adminhttp://localhost/tp5/public/index.php/admin/index/index对应的真实文件是tp5/application/admin/controller/index.php模块名 /控制器名称/ 方法名 模板位置/application/admin/view放入 index文件夹...
Detectedproblemwithappnativelibraries问题
简书链接:Detectedproblemwithappnativelibraries问题文章字数:26,阅读全文大约需要1分钟On previous versions of Android, if your app requested the system to load a shared library with text relocations, the system displayed a warning but still allowed the library to be loaded. Beginning in this release, the system rejects this library if yourapp’s target SDK version is 23 or higher. To help you detect if a library failed to load, yourapp should log the dlopen(3) failure, and include the problem description text that...
ffmpeg学习心得之一键处理视频图片合成加图片水印文字水印裁剪
简书链接:ffmpeg学习心得之一键处理视频图片合成加图片水印文字水印裁剪文章字数:1406,阅读全文大约需要5分钟 学了一个晚上,下面是我写的批处理 window命令行批处理直接拖文件夹或者拖动视频或者拖动音频可一键生成mp4.或者批量生成图片,或者生成gif https://download.csdn.net/download/u010042660/10282760 123456789101112131415161718192018/03/12 20:27 369 去掉音频.bat2018/03/12 20:35 653 去掉音频姿势1 - 副本.bat2018/03/12 20:35 653 去掉音频姿势1.bat2018/03/12 20:58 306 命令提示.bat2018/03/12 21:50 407 将文件夹image-5位数.jpeg图片转换为视频.bat2018/03/12 21:56 ...
RxJavaAndroid初探和常用实战代码
简书链接:RxJavaAndroid初探和常用实战代码文章字数:308,阅读全文大约需要1分钟 下面的代码是基于RX1.0 1234567891011121314151617181920212223242526272829303132333435//创建被观察者 也就是事件发布者 Subscriber 因此 SubscriberOn实际上是控制call回调应该所处线程Observable<Integer> observable = Observable.create(new Observable.OnSubscribe<Integer>() { @Override public void call(Subscriber<? super Integer> observer) { //我的回调在哪个线程由 .subscribeOn(AndroidSchedulers.mainThread() 发布者在哪个线程方法控制的 Log.w(TAG, "onCall" +...
ErrorConnectionrefusedconnect
简书链接:ErrorConnectionrefusedconnect文章字数:26,阅读全文大约需要1分钟1.检查开发工具是否设置代码,可打开gradle.properties2.检查是否可以上网
android动态换肤使用本地资源原理分析
简书链接:android动态换肤使用本地资源原理分析文章字数:760,阅读全文大约需要3分钟大致原理: 在application里面注册所有activity回调这样可以实现很少的改动侵入性2. 给LayoutFactory设置自己的factory2,工厂2 使activity在setContentView调用inflate的时候触发自己的factory的创建view方法.,为什么可以呢?因为LayoutFactory.from(this)当前activity填充的时候调用多次实际上还是同样的对象,所以可以这么简单的进行了hook 不需要进行更高级的hook from返回值类似的方法操作。 创建的时候根据属性和节点判断是否需要更换皮肤,比如#开头引用的可以忽略,对于属性 ```?``修饰或者是@引用的进行记录,在view构造方法创建完毕之后设置一次皮肤就完成了更改. 先通过原来apk的id转换为资源名称然后...
视频海报同时添加水印文字效率问题实现的几种思路(比android微商管家效率快!)
简书链接:视频海报同时添加水印文字效率问题实现的几种思路(比android微商管家效率快!)文章字数:1977,阅读全文大约需要7分钟第一种方法视频转换为图片 然后缩放到指定大小并裁剪然后图片每一帧与水印进行合并绘制, 文字进行合并绘制成一张新图 然后提取音频文件 然后合并处理后的每一张视频帧图并且和 音频进行合并 第二种方法 单独使用ffmpeg给视频进行缩放到指定比例 单独给图片缩放到指定比例,但是这里是视频要放到图片的下面,那么添加水印的方法 一般是水印比图片大,这里挖空透明的是 图片,如果图片转换为一个图片视频,那么应该怎么做。 第三种方法 使用 -filter_complex方法操作图层,但是目前遇到的问题是把视频放到下面就黑屏,不上去还是算正常的,另外还需要解决缩放比例换算问题。 我想说的是我目前用的是第一种,我尝试过同时添加缩放和裁剪 以及同时绘制文字和图片都不行都会报错.后面两种都需要解决缩放放大的问题,...
每日分享android获取文件目录总大小实现清除缓存
简书链接:每日分享android获取文件目录总大小实现清除缓存文章字数:232,阅读全文大约需要1分钟跟大家讲一个笑话,我维护老项目,看到有一个清除缓存功能,我看了一下怎么实现的,结果就一个Toast太逗比了 123456789101112131415161718192021222324/** * 获取指定文件夹的大小 * * @param f * @return * @throws Exception */public static long getFileSizes(File f) { long size = 0; File flist[] = f.listFiles();//文件夹目录下的所有文件 if (flist == null) {//4.2的模拟器空指针。 return 0; } if (flist != null) { for (int i = 0; i < flist.length; i++) { if...
smali语法笔记以及QQ750普通红包点击分析
简书链接:smali语法笔记以及QQ750普通红包点击分析文章字数:3286,阅读全文大约需要13分钟 1if-eqz v4, :cond_a #如果!=null 表示如果v4为true就跳转到cond_a 否则继续执行 1if-nez v4, :cond_a #如果!=null 表示如果v4不为true就跳转到cond_a 否则继续执行 1if-ltz v4, :cond_a 如果小于boolean小于0 就跳转到cond_a 1if-gez v4, :cond_a 如果大于等于0 就跳转到cond_a 更多 1234567891011121314151617181920212223“if-eq vA, vB, :cond_**” 如果vA等于vB则跳转到:cond_**“if-ne vA, vB, :cond_**” 如果vA不等于vB则跳转到:cond_**“if-lt vA, vB, :cond_**” 如果vA小于vB则跳转到:cond_**“if-ge vA, vB, :cond_**” 如果vA大于等于vB则跳转到:cond_**“if-gt vA, vB,...