<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[穷_小_子的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/tuoguang</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; tuoguang]]></copyright><item><title><![CDATA[Jenkins奇技淫巧 -你想要的全在这里]]></title><link>https://blog.youkuaiyun.com/tuoguang/article/details/89846245</link><guid>https://blog.youkuaiyun.com/tuoguang/article/details/89846245</guid><author>tuoguang</author><pubDate>Sun, 05 May 2019 15:12:06 +0800</pubDate><description><![CDATA[#####Jenkins系列文章还在更新和完善中，有什么疑问欢迎留言\color{blue}{Jenkins系列文章还在更新和完善中，有什么疑问欢迎留言}Jenkins系列文章还在更新和完善中，有什么疑问欢迎留言

#####目录\color{blue}{目录}目录
Jenkins奇技淫巧 — 安装篇(mac)
Jenkins奇技淫巧 — 配置篇
Jenkins奇技淫巧 — 安全篇
Jenkins...]]></description><category></category></item><item><title><![CDATA[如何查找native方法所对应的底层文件]]></title><link>https://blog.youkuaiyun.com/tuoguang/article/details/87789280</link><guid>https://blog.youkuaiyun.com/tuoguang/article/details/87789280</guid><author>tuoguang</author><pubDate>Wed, 20 Feb 2019 12:51:50 +0800</pubDate><description><![CDATA[在看framework层代码时，经常会看到native方法，这是往往需要查看所对应的C++方法在哪个文件，对应哪个方法？下面从一个实例出发带大家如何查看Java层方法所对应的native方法位置。

实例(一)

当分析Android消息机制源码，遇到MessageQueue.java中有多个native方法，比如：


&amp;lt;code class=&quot;hljs java has-numberin...]]></description><category></category></item><item><title><![CDATA[java 字节码 指令集 汇编]]></title><link>https://blog.youkuaiyun.com/tuoguang/article/details/87789223</link><guid>https://blog.youkuaiyun.com/tuoguang/article/details/87789223</guid><author>tuoguang</author><pubDate>Wed, 20 Feb 2019 12:50:46 +0800</pubDate><description><![CDATA[网上找的没有指令码这列  自己把它加上 更方便查阅 

指令从0x00-0xc9 没有0xba


			常量入栈指令
			
		
			指令码
			
			
			操作码（助记符）
			
			
			操作数
			
			
			描述（栈指操作数栈）
			
		0x01
			
			aconst_null
			
			
			 
			
			
			null值入栈。
			
		...]]></description><category></category></item><item><title><![CDATA[Python-解析命令行参数的两中方式]]></title><link>https://blog.youkuaiyun.com/tuoguang/article/details/87739203</link><guid>https://blog.youkuaiyun.com/tuoguang/article/details/87739203</guid><author>tuoguang</author><pubDate>Wed, 20 Feb 2019 09:03:19 +0800</pubDate><description><![CDATA[第一种：getopt
# 第一种方式获取输入参数 - getopt

# opts为分析出的格式信息，是一个两元组的列表。每个元素为：(选项串,附加参数)。如果没有附加参数则为空串''。
# args为不属于格式信息的剩余的命令行参数。
# eg:python parameter.py -l 1 -c 2 --list 3 5 6
# opts=[(-l,1),(-c,2),(--list 3)]...]]></description><category></category></item><item><title><![CDATA[LeetCode - 两数之和]]></title><link>https://blog.youkuaiyun.com/tuoguang/article/details/87739113</link><guid>https://blog.youkuaiyun.com/tuoguang/article/details/87739113</guid><author>tuoguang</author><pubDate>Tue, 19 Feb 2019 22:26:22 +0800</pubDate><description><![CDATA[描述：
给定一个整数数组 nums 和一个目标值 target，请你在该数组中找出和为目标值的那 两个 整数，并返回他们的
数组下标。
你可以假设每种输入只会对应一个答案。但是，你不能重复利用这个数组中同样的元素。
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
def twoSum...]]></description><category></category></item><item><title><![CDATA[LeetCode - 两数相加]]></title><link>https://blog.youkuaiyun.com/tuoguang/article/details/87739040</link><guid>https://blog.youkuaiyun.com/tuoguang/article/details/87739040</guid><author>tuoguang</author><pubDate>Tue, 19 Feb 2019 22:25:15 +0800</pubDate><description><![CDATA[两数相加
给出两个 非空 的链表用来表示两个非负的整数。其中，它们各自的位数是按照 逆序 的方式存储的，并且它们的每个节点只能存储 一位 数字。
如果，我们将这两个数相加起来，则会返回一个新的链表来表示它们的和。
您可以假设除了数字 0 之外，这两个数都不会以 0 开头。
示例：
输入：(2 -&amp;gt; 4 -&amp;gt; 3) + (5 -&amp;gt; 6 -&amp;gt; 4)
输出：7 -&amp;gt; 0 -...]]></description><category></category></item><item><title><![CDATA[无重复字符的最长子串]]></title><link>https://blog.youkuaiyun.com/tuoguang/article/details/87739000</link><guid>https://blog.youkuaiyun.com/tuoguang/article/details/87739000</guid><author>tuoguang</author><pubDate>Tue, 19 Feb 2019 22:24:42 +0800</pubDate><description><![CDATA[描述：
给定一个字符串，请你找出其中不含有重复字符的 最长子串 的长度。
示例 1:
输入: “abcabcbb”
输出: 3
解释: 因为无重复字符的最长子串是 “abc”，所以其长度为 3。
示例 2:
输入: “bbbbb”
输出: 1
解释: 因为无重复字符的最长子串是 “b”，所以其长度为 1。
示例 3:
输入: “pwwkew”
输出: 3
解释: 因为无重复字符的最长子串是 “wk...]]></description><category></category></item><item><title><![CDATA[Android自定义View】- 表格控件]]></title><link>https://blog.youkuaiyun.com/tuoguang/article/details/87738767</link><guid>https://blog.youkuaiyun.com/tuoguang/article/details/87738767</guid><author>tuoguang</author><pubDate>Tue, 19 Feb 2019 22:21:01 +0800</pubDate><description><![CDATA[简介
记得第一次写文章是自己刚开始自学Android的时候，当时不知道怎么地，从一个学习硬件，控制转向学习java，毕业找了一份机顶盒上的Android应用开发，两年多跳了两家公司，每次简历都不知道写些啥，时隔两年多，重新开始写文章，只希望逼迫自己不断学习，分享也是快乐。
效果


功能
1. 绘制类似excel第一个单元格分类样式
2. 设定水平和垂直标题
3. 通过编码控制单元格显示图片
4....]]></description><category></category></item><item><title><![CDATA[WindowManager$BadTokenException-解决方案]]></title><link>https://blog.youkuaiyun.com/tuoguang/article/details/87738670</link><guid>https://blog.youkuaiyun.com/tuoguang/article/details/87738670</guid><author>tuoguang</author><pubDate>Tue, 19 Feb 2019 22:19:27 +0800</pubDate><description><![CDATA[简介
上一篇分析了WindowManager$BadTokenException发生的原因，带大家一起通过分析WindowManager源码，更加深入的了解了WindowManager添加window的过程，以及在使用WindowManager添加自己的window或者View的时候，怎么去避免发生异常，接下来，继续深入分析WindowManager源码，带大家一起寻找，解决平时使用WindowM...]]></description><category></category></item><item><title><![CDATA[WindowManager$BadTokenException(WindowManager源码分析)]]></title><link>https://blog.youkuaiyun.com/tuoguang/article/details/87738247</link><guid>https://blog.youkuaiyun.com/tuoguang/article/details/87738247</guid><author>tuoguang</author><pubDate>Tue, 19 Feb 2019 22:12:24 +0800</pubDate><description><![CDATA[简介：
本文主要讲解WindowManager里的addView(View view, ViewGroup.LayoutParams params),removeView(View view),removeViewImmediate(View view)三个方法的实现原理，以及通过分析系统源码，解决我们在平常开发过程中使用WindowManager遇到的各种异常崩溃问题，本文因修改项目中的Wind...]]></description><category></category></item><item><title><![CDATA[【Android自定义View】- 文本跑马灯效果]]></title><link>https://blog.youkuaiyun.com/tuoguang/article/details/87738088</link><guid>https://blog.youkuaiyun.com/tuoguang/article/details/87738088</guid><author>tuoguang</author><pubDate>Tue, 19 Feb 2019 22:09:56 +0800</pubDate><description><![CDATA[简介
有些时候，文字过长，或者有多条需要展示的文本时，我们需要将文本进行左右滚动，多条文本时，还得上下滚动以实现展示不同的文本内容。这时候就需要我们自定义view来实现文本跑马灯效果了。
效果图

Android文本参数 - FontMetrics
当我们要自己绘制文本的时候，怎么去计算文字的宽高，有些时候将本文的绘制起点设置为文本控件的中心点，却发现绘制的文本并不是居中的，下面讲解Android...]]></description><category></category></item><item><title><![CDATA[[Android自定义View] - 被忽视的细节点总结]]></title><link>https://blog.youkuaiyun.com/tuoguang/article/details/87737806</link><guid>https://blog.youkuaiyun.com/tuoguang/article/details/87737806</guid><author>tuoguang</author><pubDate>Tue, 19 Feb 2019 22:05:31 +0800</pubDate><description><![CDATA[简介
有些时候，当我们自定义View时，写好代码，总有那么一些地方会出现问题，而且有些问题可能就是一行代码的事情，但是通过百度，google却很难搜索到我们想要的答案，积累遇到的问题，再遇到时能够快速解决。
征集
如果你也有相同的经历，希望你能在评论区留言，大家互相学习，讨论，谢谢
TextView系列


继承TextView实现绘制圆角背景，边框等效果
有些时候，我们需要不同圆角背景的Text...]]></description><category></category></item><item><title><![CDATA[Android利用tcpdump和wireshark抓取网络数据包]]></title><link>https://blog.youkuaiyun.com/tuoguang/article/details/87737628</link><guid>https://blog.youkuaiyun.com/tuoguang/article/details/87737628</guid><author>tuoguang</author><pubDate>Tue, 19 Feb 2019 22:02:31 +0800</pubDate><description><![CDATA[简介
主要介绍如何利用tcpdump抓取andorid手机上网络数据请求，利用Wireshark可以清晰的查看到网络请求的各个过程包括三次握手，但相对来说使用Fiddler进行网络数据抓包和展现更方便，优点包括：
(1)无需root
(2)对Android和Iphone同样适用
(3)操作更简单方便(第一次安装配置，第二次只需设置代理即可)
(4)数据包的查看更清晰易懂
(5) 可以查看https...]]></description><category></category></item><item><title><![CDATA[AsyncTask源码分析]]></title><link>https://blog.youkuaiyun.com/tuoguang/article/details/87737458</link><guid>https://blog.youkuaiyun.com/tuoguang/article/details/87737458</guid><author>tuoguang</author><pubDate>Tue, 19 Feb 2019 21:59:43 +0800</pubDate><description><![CDATA[简介
有些时候，需要将任务放在子线程执行，执行完成后在主线程更新UI等，遇到这种情况，我们可以用线程间通信来解决，比如Thread+hander的方式，但是这种需要我自己去完成通信的逻辑，有读者立马会想起，使用Android系统的自带的AsyncTask来实现，但是你知道不同Android版本AsyncTask有什么不同，已经使用AsyncTask有什么问题，需要注意什么吗？下面我将从源码的角度给...]]></description><category></category></item><item><title><![CDATA[Android和Java好的学习网站]]></title><link>https://blog.youkuaiyun.com/tuoguang/article/details/49283407</link><guid>https://blog.youkuaiyun.com/tuoguang/article/details/49283407</guid><author>tuoguang</author><pubDate>Tue, 20 Oct 2015 21:54:40 +0800</pubDate><description><![CDATA[       有时查询资料时，偶尔会发现还不错的网站的，对一些基础知识的讲解，已经对很多书上没有的知识进行的扩展：下面记录下来，希望你我共同进步，以后我都会将自己认为好的网站更新到这篇博客，如果你们有好的请告诉我一下的，我将不胜感激。

       这个网站是关于Java的学习网站，讲得还不错的，虽然我只看了一篇文章的，而且这个网站不用注册的，网址如下：

     java学习网站 http:...]]></description><category></category></item><item><title><![CDATA[数据结构学习笔记-线性表]]></title><link>https://blog.youkuaiyun.com/tuoguang/article/details/48976581</link><guid>https://blog.youkuaiyun.com/tuoguang/article/details/48976581</guid><author>tuoguang</author><pubDate>Thu, 08 Oct 2015 23:56:37 +0800</pubDate><description><![CDATA[    今天闲来没事做，想着把之前学的数据结构回顾一番，下面简单讲解一下线性表的C/Java程序，自己写的，如果有什么地方考虑得不周到，还望指出，共同进步。

线性表是最常用且最简单的一种数据结构，简而言之就是n个数据元素的有限序列。

线性表的顺序表示和实现：

线性表的顺序指用一组地址连续的存储单元一次存储线性表的数据元素。以元素在计算机内的“物理位置相邻”来表示线性表中数据元素之间的逻辑关系...]]></description><category></category></item><item><title><![CDATA[ubuntu下Android studio布局文件无法可视化问题-Could not initialize class com.android.layoutlib.bridge.impl.Render]]></title><link>https://blog.youkuaiyun.com/tuoguang/article/details/48859989</link><guid>https://blog.youkuaiyun.com/tuoguang/article/details/48859989</guid><author>tuoguang</author><pubDate>Fri, 02 Oct 2015 15:19:32 +0800</pubDate><description><![CDATA[转载请指明出处：http://blog.youkuaiyun.com/tuoguang/article/details/48859989

 

最近Android 23的API出来了，大家都开始使用最新的API，看看里面有什么新功能，window下使用没有什么问题，但是最近我在ubuntu下安装Android Studio出现问题了。

第一：安装64位的ubuntu，但是Android的有些库文件又需要3...]]></description><category></category></item><item><title><![CDATA[ubuntu下Android studio使用问题汇总及注意到]]></title><link>https://blog.youkuaiyun.com/tuoguang/article/details/48860273</link><guid>https://blog.youkuaiyun.com/tuoguang/article/details/48860273</guid><author>tuoguang</author><pubDate>Fri, 02 Oct 2015 14:42:37 +0800</pubDate><description><![CDATA[由于那个博客名称是ubuntu下Android studio布局文件无法可视化问题-Could not initialize class com.android.layoutlib.bridge.impl.Render，但是里面见了出这个问题外的其它问题及注意点，以后关于ubuntu下的Android studio使用问题都会在这个博客或者那个博客写出。

博客地址：http://blog.csd...]]></description><category></category></item><item><title><![CDATA[ubuntu15.04下Android studio开发配置完全教程]]></title><link>https://blog.youkuaiyun.com/tuoguang/article/details/48583785</link><guid>https://blog.youkuaiyun.com/tuoguang/article/details/48583785</guid><author>tuoguang</author><pubDate>Sun, 20 Sep 2015 00:00:55 +0800</pubDate><description><![CDATA[        不积跬步,无以至千里;不积小流,无以成江海，现在是菜鸟，相信慢慢会成长成大神

        首先列出我用到的开发软件：

虚拟机：vmware10，开始用的vmware8，在进行Android studio环境配置时，始终不能很好地识别U盘，手机等usb设备。加上我安装的是32位的ubuntu15.04，启动Android虚拟机时，始终报错，说是没有安装硬件加速，也就是SDK ...]]></description><category></category></item><item><title><![CDATA[android studio下的NDK开发详解(一)]]></title><link>https://blog.youkuaiyun.com/tuoguang/article/details/48141251</link><guid>https://blog.youkuaiyun.com/tuoguang/article/details/48141251</guid><author>tuoguang</author><pubDate>Tue, 01 Sep 2015 01:05:44 +0800</pubDate><description><![CDATA[好记性不如烂笔头，开始坚持写博客，学一点记一点，只为了生活更好。

学了一年多的硬件，现在来做android，不知道是对是错，跟着感觉走，开始总是想把android和硬件挂上勾，所以第一个android应用写的是关于蓝牙的。现在学习NDK开发，有时说得也是JNI开发。那为什么要学习JNI,JNI会学习到比较底层的东西，java可以实现上层应用的开发，但是不能写底层驱动，有些android项目必须和...]]></description><category></category></item></channel></rss>