<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[laxian2009的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/laxian2009</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; laxian2009]]></copyright><item><title><![CDATA[优酷网页视频地址提取]]></title><link>https://blog.youkuaiyun.com/laxian2009/article/details/85258741</link><guid>https://blog.youkuaiyun.com/laxian2009/article/details/85258741</guid><author>laxian2009</author><pubDate>Wed, 26 Dec 2018 11:00:41 +0800</pubDate><description><![CDATA[
开发中，有时候需要一个在线视频地址，视频网站的视频地址都藏得比较深。于是我就研究了一下优酷的接口。


打开youku.com并播放一个视频
打开开发者模式
选中network选项卡
filter里输入get/1.1
如果规则还没有变，网络请求列表就只剩一个了，拿到response 里的json数据

把json格式化待查。
视频地址在json中的路径：
object►data►data►str...]]></description><category></category></item><item><title><![CDATA[告别手写，自动生成Flutter/Dart实体类]]></title><link>https://blog.youkuaiyun.com/laxian2009/article/details/83594253</link><guid>https://blog.youkuaiyun.com/laxian2009/article/details/83594253</guid><author>laxian2009</author><pubDate>Thu, 01 Nov 2018 00:57:14 +0800</pubDate><description><![CDATA[给Dart和flutter的GsonFormat
Github
English
本周入坑flutter，发现竟然Dart语言竟没有json转实体类的工具，就手动写了个简陋的。能用，慢慢改善。
功能

输入json 字符串，Model名和json定义在input.json，输出实体类。类似Java的GsonFormat
支持json_serializable
执行成功后，执行:
flutter pa...]]></description><category></category></item><item><title><![CDATA[BackHandler 在非远程调试条件下不能用]]></title><link>https://blog.youkuaiyun.com/laxian2009/article/details/81167728</link><guid>https://blog.youkuaiyun.com/laxian2009/article/details/81167728</guid><author>laxian2009</author><pubDate>Mon, 23 Jul 2018 14:56:15 +0800</pubDate><description><![CDATA[BackHandler 在非远程调试条件下不能用


  问题描述： 
  react-native version: 0.54.4 
  返回键监听BackHandler.addEventListener 在远程调试条件下执行，在非远程调试下，不执行。 
  原因及hack方法，就在这个页面中。



为何远程调试正常，离线包不正常？ 
在这个页面有讨论：https://github.com/f...]]></description><category></category></item><item><title><![CDATA[Android开发中的Proguard]]></title><link>https://blog.youkuaiyun.com/laxian2009/article/details/80510373</link><guid>https://blog.youkuaiyun.com/laxian2009/article/details/80510373</guid><author>laxian2009</author><pubDate>Wed, 30 May 2018 15:10:24 +0800</pubDate><description><![CDATA[转自：https://blog.youkuaiyun.com/ccpat/article/details/52059344Proguard是Android开发时经常会用到的一个工具，在Android SDK中已经集成了一个免费的Proguard版本，位于&amp;lt;sdk&amp;gt;/tools/proguard目录中。在Android项目中，通过修改module下面的build.gradle文件来开启使用Progu...]]></description><category></category></item><item><title><![CDATA[Jenkins 打包出现You have not accepted the license agreements of the following SDK components: 错误的解决办法]]></title><link>https://blog.youkuaiyun.com/laxian2009/article/details/78584272</link><guid>https://blog.youkuaiyun.com/laxian2009/article/details/78584272</guid><author>laxian2009</author><pubDate>Mon, 20 Nov 2017 17:22:02 +0800</pubDate><description><![CDATA[打包报错了，如下：* What went wrong:
A problem occurred configuring project ':app'.
> You have not accepted the license agreements of the following SDK components:
  [ConstraintLayout for Android 1.0.2, Solver]]></description><category></category></item><item><title><![CDATA[Windows文件在Ubuntu上文件名和内容乱码的问题]]></title><link>https://blog.youkuaiyun.com/laxian2009/article/details/78490790</link><guid>https://blog.youkuaiyun.com/laxian2009/article/details/78490790</guid><author>laxian2009</author><pubDate>Thu, 09 Nov 2017 16:05:16 +0800</pubDate><description><![CDATA[产品同学发来的需求压缩包，解压后，总是一对乱码。那是因为在Windows默认编码是GBK，而Ubuntu默认编码是UTF-8。由于经常碰到，处理方法贴一下：
处理文件名：sudo apt-get install convmv
convmv -r -f cp936 -t utf8 --notest --nosmart *转换文件内容由GBK到UTF8：iconv -f gbk -t utf8 $i >]]></description><category></category></item><item><title><![CDATA[开启Charles情况下requests 请求https遇到证书验证错误的解决方法]]></title><link>https://blog.youkuaiyun.com/laxian2009/article/details/78017592</link><guid>https://blog.youkuaiyun.com/laxian2009/article/details/78017592</guid><author>laxian2009</author><pubDate>Mon, 18 Sep 2017 11:51:37 +0800</pubDate><description><![CDATA[requests请求https，报错了： 
Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)'),)方法一：关闭抓包软件搜索一番，发现Charles或者Fiddler等代理会有影响，关掉Charles，重试发现已经能正常请求了。方法二：veri]]></description><category></category></item><item><title><![CDATA[全排列的非递归实现]]></title><link>https://blog.youkuaiyun.com/laxian2009/article/details/75228615</link><guid>https://blog.youkuaiyun.com/laxian2009/article/details/75228615</guid><author>laxian2009</author><pubDate>Mon, 17 Jul 2017 14:19:03 +0800</pubDate><description><![CDATA[以前写过全排列的递归算法，思路和实现都比较简单。上周练习python，遇到了全排列的问题，就想着用非递归实现实现以下。没想到从中午想到了半夜，草稿用了好几张，也没想到好的idea。第二天早上在地铁上，在手机拨号页面演示了一会，竟然有了思路。
假定：从小打大排序，称为正序，反之称为逆序，我的思路是：以数字序列 312为例，排序后123，排列有 [123，132，213，231，312，321]，第一项]]></description><category></category></item><item><title><![CDATA[vysor1.7.7 pro for Mac]]></title><link>https://blog.youkuaiyun.com/laxian2009/article/details/73019260</link><guid>https://blog.youkuaiyun.com/laxian2009/article/details/73019260</guid><author>laxian2009</author><pubDate>Sun, 11 Jun 2017 11:40:56 +0800</pubDate><description><![CDATA[仅限个人研究学习使用，侵删1，进入扩展对应目录。cd ~/Library/Application Support/Google/Chrome/Default/Extensions/*vysor_extension_id*/1.7.7_02，找到uglify.js，找到下面的代码：”e=!1,t=!1“3，去掉两个”!”字符，保存退出，reload 。完成。csdn传图真是麻烦]]></description><category></category></item><item><title><![CDATA[Android官方文档翻译：支持不同的屏幕]]></title><link>https://blog.youkuaiyun.com/laxian2009/article/details/72837244</link><guid>https://blog.youkuaiyun.com/laxian2009/article/details/72837244</guid><author>laxian2009</author><pubDate>Thu, 01 Jun 2017 23:26:42 +0800</pubDate><description><![CDATA[Android官方文档翻译：支持不同的屏幕原文地址：https://developer.android.com/training/basics/supporting-devices/screens.html#create-bitmapsAndroid使用两种常规属性对设备屏幕进行分类：尺寸和密度。你一定期望你的app能被安装在各种尺寸以及分辨率的设备上。 
这样呢，你应该包含一些可选资源来优化你的a]]></description><category></category></item><item><title><![CDATA[给Grid方式排列的RecyclerView添加间距]]></title><link>https://blog.youkuaiyun.com/laxian2009/article/details/72824594</link><guid>https://blog.youkuaiyun.com/laxian2009/article/details/72824594</guid><author>laxian2009</author><pubDate>Wed, 31 May 2017 22:17:55 +0800</pubDate><description><![CDATA[给Grid方式排列的RecyclerView添加间距    现在需要排列一些小卡片，每行4个，从上往下排。卡片之间水平竖直间距30px。
    毫无疑问，用的RecyclerView加GridLayoutManager。RecyclerView功能强大好用，怎么就是没有自带divider功能呢。
查找了一些资料，发现都是通过RecyclerView.addItemDecoration(Recycl]]></description><category></category></item><item><title><![CDATA[关于Fragment的几个问题]]></title><link>https://blog.youkuaiyun.com/laxian2009/article/details/54144359</link><guid>https://blog.youkuaiyun.com/laxian2009/article/details/54144359</guid><author>laxian2009</author><pubDate>Fri, 06 Jan 2017 23:58:18 +0800</pubDate><description><![CDATA[关于Fragment的几个问题这几天，在Fragment上出了些问题，简单地总结一下：1、Fragment+ViewPager导致的onResume错位。 
        由于ViewPager的预加载，导致一些错乱。比如，我有A/B/C/D/E 五个Fragment在ViewPager里，从A切到B时，会执行C的onResume。也就是下一个Fragment的onResume方法。这不是我们预期]]></description><category></category></item><item><title><![CDATA[【Ubuntu使用技巧】在Ubuntu下制作ISO镜像的方法]]></title><link>https://blog.youkuaiyun.com/laxian2009/article/details/53158056</link><guid>https://blog.youkuaiyun.com/laxian2009/article/details/53158056</guid><author>laxian2009</author><pubDate>Mon, 14 Nov 2016 13:28:53 +0800</pubDate><description><![CDATA[作者：gnuhpc 
出处：http://www.cnblogs.com/gnuhpc/
1 如果你是直接从cd 压制iso 文件的，执行
sudo umount /dev/cdrom
dd if=/dev/cdrom of=file.iso bs=1024
2 如果你要把某个文件或者目录压到iso 文件中，需要使用mkisofs 这个工具。这个工具非常强大，还可以压缩DVD 格式的is]]></description><category></category></item><item><title><![CDATA[【位运算经典应用】 标志位与掩码]]></title><link>https://blog.youkuaiyun.com/laxian2009/article/details/53097103</link><guid>https://blog.youkuaiyun.com/laxian2009/article/details/53097103</guid><author>laxian2009</author><pubDate>Wed, 09 Nov 2016 10:44:52 +0800</pubDate><description><![CDATA[原文地址：http://www.cnblogs.com/zichi/p/4792589.html?utm_source=tuicool&utm_medium=referral

前面我们已经了解了六大位操作符（& | ~ ^  >>)的用法（javascript
 位运算），也整理了一些常用的位运算操作（常用位运算整理），本文我们继续深入位运算，来了解下二进制的经典应用-标志位与掩码。]]></description><category></category></item><item><title><![CDATA[Android增量更新研究]]></title><link>https://blog.youkuaiyun.com/laxian2009/article/details/52851880</link><guid>https://blog.youkuaiyun.com/laxian2009/article/details/52851880</guid><author>laxian2009</author><pubDate>Tue, 18 Oct 2016 19:41:11 +0800</pubDate><description><![CDATA[Android增量更新研究


很多线上的android

apk都有增量更新功能，他能使你更新app的时候，无需完全下载一个新的安装包，而只需下载一个新旧版本之间的一个补丁（patch），然后在本地合成新的安装包。

环境：ubuntu16.04/android

studio2.1

工具：bsdiff/bspatch

说明：http://www.daemonolo]]></description><category></category></item><item><title><![CDATA[Android 后台优化]]></title><link>https://blog.youkuaiyun.com/laxian2009/article/details/52816207</link><guid>https://blog.youkuaiyun.com/laxian2009/article/details/52816207</guid><author>laxian2009</author><pubDate>Fri, 14 Oct 2016 15:21:18 +0800</pubDate><description><![CDATA[英文原文地址：https://developer.android.com/topic/performance/background-optimization.html后台优化后台进程一般对内存和电量消耗比较大。例如，一个隐式的广播，可能启动许多注册监听该广播的后台进程，即使这些进程并什么也不做。这就会对设备性能和用户体验造成明显的影响。为了改善这个问题，Android 7.0(API level 2]]></description><category></category></item><item><title><![CDATA[关于华为EMUI4.0忽略电池优化失败的问题]]></title><link>https://blog.youkuaiyun.com/laxian2009/article/details/52474214</link><guid>https://blog.youkuaiyun.com/laxian2009/article/details/52474214</guid><author>laxian2009</author><pubDate>Thu, 08 Sep 2016 19:05:02 +0800</pubDate><description><![CDATA[android6.0引入了doze机制。忽略电池优化就相当于将应用加入了doze白名单。 
通过下面的代码，调用系统的dialog，让用户做出选择。Intent intent = new Intent();
intent.setAction(android.provider.Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
intent.s]]></description><category></category></item><item><title><![CDATA[Android 屏幕截屏]]></title><link>https://blog.youkuaiyun.com/laxian2009/article/details/51637220</link><guid>https://blog.youkuaiyun.com/laxian2009/article/details/51637220</guid><author>laxian2009</author><pubDate>Sat, 11 Jun 2016 17:23:36 +0800</pubDate><description><![CDATA[利用反射截屏，需要root查了不少资料，发现截屏这个理所当然的常见功能，想实现还是很费劲的，这应该谷歌是出于安全的考虑做出的限制吧。 
这里列举了一些方法： 
http://www.cnblogs.com/android100/p/Android-cut-screen.html 
别的我没试，我只试了试反射的方法。环境： 
 
下面是代码：    public void screenshot() {]]></description><category></category></item><item><title><![CDATA[ListView的Item里的TextView设置ClickableSpan和LinkMovementMethod导致ListView无法响应点击事件]]></title><link>https://blog.youkuaiyun.com/laxian2009/article/details/51628150</link><guid>https://blog.youkuaiyun.com/laxian2009/article/details/51628150</guid><author>laxian2009</author><pubDate>Fri, 10 Jun 2016 18:13:09 +0800</pubDate><description><![CDATA[ListView的Item里的TextView设置ClickableSpan和LinkMovementMethod导致ListView无法响应点击事件说说我的案例：类似朋友圈，一个列表，是用户发表动态，动态可以有评论，评论可以有二级评论。还有赞。点击评论或二级评论，可以回复评论者。长按动态或评论，弹出dialog。用户名颜色和文字内容不一样，点击用户名可以进入用户个人页面。这些和朋友圈都一样。
因为]]></description><category></category></item><item><title><![CDATA[获得activity的类名]]></title><link>https://blog.youkuaiyun.com/laxian2009/article/details/50725323</link><guid>https://blog.youkuaiyun.com/laxian2009/article/details/50725323</guid><author>laxian2009</author><pubDate>Tue, 23 Feb 2016 18:30:33 +0800</pubDate><description><![CDATA[刚接手的项目，页面非常的多，又不熟悉，打开一个activity，只能顺着代码配合IDE依次查找。相当费劲。这时，可以借助DDMS快速定位。


利用DDMS 可以快速找到当前的activity类名：
adb shell dumpsys activity | find "mFoc"

然后，双击shift，直接搜索类名就找到页面了。]]></description><category></category></item></channel></rss>