<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[小猪卟上树]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/boyangel</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; boyangel]]></copyright><item><title><![CDATA[Android获取View的宽高与View.measure详解]]></title><link>https://blog.youkuaiyun.com/boyangel/article/details/51886766</link><guid>https://blog.youkuaiyun.com/boyangel/article/details/51886766</guid><author>boyangel</author><pubDate>Tue, 12 Jul 2016 10:34:52 +0800</pubDate><description><![CDATA[原文地址：http://blog.youkuaiyun.com/canot/article/details/50430998在oncreate()中无论利用view.getWidth()或是view.getHeiht()还是view.getMeasuredHeight或view.getMeasuredWidth()来获取view的宽和高，看似没有问题，其实他们取得值是0，并不是你想要的结果。这是因为每个布局都要]]></description><category></category></item><item><title><![CDATA[Android代码规范]]></title><link>https://blog.youkuaiyun.com/boyangel/article/details/51379094</link><guid>https://blog.youkuaiyun.com/boyangel/article/details/51379094</guid><author>boyangel</author><pubDate>Wed, 11 May 2016 22:54:07 +0800</pubDate><description><![CDATA[下述代码风格不是指导或建议，而是严格的规范。向Android贡献的代码如果不遵从这些规范一般不被接受。我们知道并不是所有已存的代码都遵从这些规则，但是我们希望所有的新代码都遵从。Java语言规则Android遵从标准的Java代码规范，此外还有下述一些规范。不要无视异常 
一些完全忽略异常的代码书写方式是很诱人的，例如：void setServerPort(String value) {
    t]]></description><category></category></item><item><title><![CDATA[Java构造函数]]></title><link>https://blog.youkuaiyun.com/boyangel/article/details/51064998</link><guid>https://blog.youkuaiyun.com/boyangel/article/details/51064998</guid><author>boyangel</author><pubDate>Tue, 05 Apr 2016 15:16:38 +0800</pubDate><description><![CDATA[JAVA类继承过程中其成员的一些问题构造函数不能继承。子类的构造函数可以通过super关键字显式调用父类中的构造函数。如果子类中的构造函数没有显式调用父类中的构造函数，编译器就会自动在子类的构造函数中调用父类中参数为空的构造函数。于是，当父类中没有参数为空的构造函数，而子类中又没有显示调用父类的其他构造函数，编译时就会报错。这一点需要特别注意。当父类中没有定义任何构造函数时，编译器就会为它指定一个参]]></description><category></category></item><item><title><![CDATA[JNI接口函数 (3)]]></title><link>https://blog.youkuaiyun.com/boyangel/article/details/51016642</link><guid>https://blog.youkuaiyun.com/boyangel/article/details/51016642</guid><author>boyangel</author><pubDate>Wed, 30 Mar 2016 16:40:12 +0800</pubDate><description><![CDATA[字符串操作NewString 
jstring   NewString(JNIEnv *env, const jchar *unicodeChars, 
jsize len); 
利用 Unicode 字符数组构造新的 java.lang.String 对象。 
参数： 
env：JNI 接口指针。 
unicodeChars：指向 Unicode 字符串的指针。 
len：Unicode 字符串的]]></description><category></category></item><item><title><![CDATA[JNI接口函数 (2)]]></title><link>https://blog.youkuaiyun.com/boyangel/article/details/51016628</link><guid>https://blog.youkuaiyun.com/boyangel/article/details/51016628</guid><author>boyangel</author><pubDate>Wed, 30 Mar 2016 16:39:12 +0800</pubDate><description><![CDATA[对象操作AllocObject 
jobject  AllocObject(JNIEnv *env, jclass clazz); 
分配新 Java 对象而不调用该对象的任何构造函数。返回该对象的引用。 
clazz 参数务必不要引用数组类。 
参数： 
env：JNI 接口指针。 
clazz：Java 类对象。 
返回值： 
返回 Java 对象。如果无法构造该对象，则返回NULL。 
抛出：]]></description><category></category></item><item><title><![CDATA[JNI接口函数 (1)]]></title><link>https://blog.youkuaiyun.com/boyangel/article/details/51016597</link><guid>https://blog.youkuaiyun.com/boyangel/article/details/51016597</guid><author>boyangel</author><pubDate>Wed, 30 Mar 2016 16:37:19 +0800</pubDate><description><![CDATA[版本信息GetVersion 
jint   GetVersion(JNIEnv *env); 
返回本地方法接口的版本。 
参数 
env：JNI 接口指针。 
返回值： 
高 16 位返回主版本号，低 16 位返回次版本号。 
在 JDK1.1 中，GetVersion() 返回 0x00010001。 
类操作DefineClass 
jclass  DefineClass(JNIEnv *e]]></description><category></category></item><item><title><![CDATA[Java native interface（二）]]></title><link>https://blog.youkuaiyun.com/boyangel/article/details/51006757</link><guid>https://blog.youkuaiyun.com/boyangel/article/details/51006757</guid><author>boyangel</author><pubDate>Tue, 29 Mar 2016 16:05:46 +0800</pubDate><description><![CDATA[3．Java类型和本地类型对应 
　　 
　　在如下情况下，需要在本地方法中应用java对象的引用，就会用到类型之间的转换： 
　　 
　　1）java方法里面将参数传入本地方法； 
　　 
　　2）在本地方法里面创建java对象； 
　　 
　　3）在本地方法里面return结果给java程序。 
　　 
　　分为如下两种情况： 
　　 
　　Java原始类型 
　　 
　　像booleans、i]]></description><category></category></item><item><title><![CDATA[Java native interface（一）]]></title><link>https://blog.youkuaiyun.com/boyangel/article/details/51006686</link><guid>https://blog.youkuaiyun.com/boyangel/article/details/51006686</guid><author>boyangel</author><pubDate>Tue, 29 Mar 2016 15:59:36 +0800</pubDate><description><![CDATA[本文参照http://itlab.idcquan.com/Java/JDK/36677.html 
另外http://www.ibm.com/developerworks/cn/java/jnimthds/也不错1．简介 
　　 
　　JNI是Java Native Interface的缩写，它的设计目的是： 
　　 
　　The standard Java class library may no]]></description><category></category></item><item><title><![CDATA[Java内存管理机制]]></title><link>https://blog.youkuaiyun.com/boyangel/article/details/50977556</link><guid>https://blog.youkuaiyun.com/boyangel/article/details/50977556</guid><author>boyangel</author><pubDate>Fri, 25 Mar 2016 10:39:21 +0800</pubDate><description><![CDATA[JAVA 内存管理总结
java是如何管理内存的Java的内存管理就是对象的分配和释放问题。（两部分） 
分配 ：内存的分配是由程序完成的，程序员需要通过关键字new 为每个对象申请内存空间 (基本类型除外)，所有的对象都在堆 (Heap)中分配空间。 
释放 ：对象的释放是由垃圾回收机制决定和执行的，这样做确实简化了程序员的工作。但同时，它也加重了JVM的工作。因为，GC为了能够正确释放对象，GC]]></description><category></category></item><item><title><![CDATA[温故3：Java集合框架中的几个常用接口]]></title><link>https://blog.youkuaiyun.com/boyangel/article/details/50922151</link><guid>https://blog.youkuaiyun.com/boyangel/article/details/50922151</guid><author>boyangel</author><pubDate>Fri, 18 Mar 2016 12:00:27 +0800</pubDate><description><![CDATA[最近又回头看了下Java集合方面的知识，可以说，Java集合的精华全部在于接口上面，搞懂接口再看具体的集合就会轻松很多，下面总结了一些常用的接口和接口之间的继承关系。 
常用接口：Iterator, Collection, Set, Map, List, Queue, Deque
Iterator 
Iterator迭代器接口可以说是整个集合接口的基础，他提供了对元素遍历的功能，用来替换最初的遍历接]]></description><category></category></item><item><title><![CDATA[温故2：Java内存结构]]></title><link>https://blog.youkuaiyun.com/boyangel/article/details/50914951</link><guid>https://blog.youkuaiyun.com/boyangel/article/details/50914951</guid><author>boyangel</author><pubDate>Thu, 17 Mar 2016 16:33:33 +0800</pubDate><description><![CDATA[Java虚拟机在执行Java程序的时候会把他所管理的内存分为不同的数据区域，每个 
数据区域都有自己的用途，创建和销毁的时间，有的是随着虚拟机的启动而创建，有的则是依赖于线程，具体划分如图所示： 
 
下面详细说明每一个数据区域的作用。
程序计数器 
跟PC指针类似，标志着下一条执行指令的地址，但是由于Java虚拟机的多线程实现，每个线程之间互不影响，所以每个线程均需维护自己单独的程序计数器。此内存]]></description><category></category></item><item><title><![CDATA[温故1：Java char]]></title><link>https://blog.youkuaiyun.com/boyangel/article/details/50903397</link><guid>https://blog.youkuaiyun.com/boyangel/article/details/50903397</guid><author>boyangel</author><pubDate>Wed, 16 Mar 2016 11:08:59 +0800</pubDate><description><![CDATA[在C语言中，char遵循的是美国的ASCII标准，一个char占用一个字节，而在Java中，char采用的是UTF-16编码。 
　UTF-16编码采用不同的长度编码所有的Unicode代码点，在基本的多语言级别中，每个字符采用16位表示，成为代码单元。而辅助字符采用一对连续的代码单元进行编码，集体编码算法没有仔细研究，但一般常用的char可以认为占用2个字节的空间。 
　由于这种不等长编码的原因，]]></description><category></category></item><item><title><![CDATA[Java ClassLoader]]></title><link>https://blog.youkuaiyun.com/boyangel/article/details/50838572</link><guid>https://blog.youkuaiyun.com/boyangel/article/details/50838572</guid><author>boyangel</author><pubDate>Wed, 09 Mar 2016 20:48:39 +0800</pubDate><description><![CDATA[转载于：http://blog.youkuaiyun.com/xyang81/article/details/7292380#NetWorkClassLoader 
一、什么是ClassLoader? 
         大家都知道，当我们写好一个Java程序之后，不是管是CS还是BS应用，都是由若干个.class文件组织而成的一个完整的Java应用程序，当程序在运行时，即会调用该程序的一个入口函数来调用系统的]]></description><category></category></item><item><title><![CDATA[喊啥--历史记录]]></title><link>https://blog.youkuaiyun.com/boyangel/article/details/50741858</link><guid>https://blog.youkuaiyun.com/boyangel/article/details/50741858</guid><author>boyangel</author><pubDate>Thu, 25 Feb 2016 22:47:08 +0800</pubDate><description><![CDATA[历史记录这里包含两个要点，一个是记录的组织，一个是记录写入文件，下面就这两方面详述。
记录的组织
/**
 * Created by icecreamco on 2016/1/11.
 */
public class Records {    public static final String RECORDS = "records";    private static Records recor]]></description><category></category></item><item><title><![CDATA[喊啥--主页面代码]]></title><link>https://blog.youkuaiyun.com/boyangel/article/details/50741759</link><guid>https://blog.youkuaiyun.com/boyangel/article/details/50741759</guid><author>boyangel</author><pubDate>Thu, 25 Feb 2016 22:41:59 +0800</pubDate><description><![CDATA[暴力点，直接上代码/**
 * Created by icecreamco on 2016/1/4.
 */
public class SeniorityFragment extends Fragment {    public static final String TAG = "SeniorityFragment";
    public static final String ARGS = "]]></description><category></category></item><item><title><![CDATA[喊啥--RelationMap]]></title><link>https://blog.youkuaiyun.com/boyangel/article/details/50741683</link><guid>https://blog.youkuaiyun.com/boyangel/article/details/50741683</guid><author>boyangel</author><pubDate>Thu, 25 Feb 2016 22:38:11 +0800</pubDate><description><![CDATA[写这样一个称呼类的APP，人物称呼之间的关系是最重要的，我查阅了多种资料，加上自己的一些简化，做成了一个RelationMap,共收录了178种称呼和每一种称呼所对应的12中基本关系的称呼，用图论的想法来解决这么一个麻烦的问题，这部分真的是心血，具体上代码。/**
 * Created by icecreamco on 2016/1/4.
 */
public class RelationMap {]]></description><category></category></item><item><title><![CDATA[喊啥]]></title><link>https://blog.youkuaiyun.com/boyangel/article/details/50740792</link><guid>https://blog.youkuaiyun.com/boyangel/article/details/50740792</guid><author>boyangel</author><pubDate>Thu, 25 Feb 2016 21:48:18 +0800</pubDate><description><![CDATA[年前自己无聊的时候做的一个app，其实是我几年前的一个想法，因为现在很多人对亲戚之间的称呼问题并不是很清楚，这点在过年过节的时候尤为突出，所以有了这款“喊啥”，大家如果有兴趣的，在腾讯应用宝，360手机助手，百度手机助手，91助手，应用汇，豌豆荚，木蚂蚁，魅族等应用商店搜索“喊啥”即可下载，另外还可以在各大搜索网站直接搜索“喊啥app”直接下载。 
话不多说，先上app的效果图，下篇文章再详述app]]></description><category></category></item><item><title><![CDATA[RFID+二维码扫描]]></title><link>https://blog.youkuaiyun.com/boyangel/article/details/50740592</link><guid>https://blog.youkuaiyun.com/boyangel/article/details/50740592</guid><author>boyangel</author><pubDate>Thu, 25 Feb 2016 21:18:58 +0800</pubDate><description><![CDATA[很久没有更新博客了，前一段时间对之前的RFID扫描APP做了一次更新，加入了扫描二维码的功能，界面也做了相应的变动，如图。 
主界面： 
 
扫描二维码界面： 
接下来分三个部分描述此次改动，1.第三方库文件。2.如何将第三方库文件整合到自己的项目中。3.对第三方库文件的一些改动。
第三方库文件——大神对Zxing项目的剪裁，BarCodeTest 
 这个库文件是对GitHub上的Zxing项目的]]></description><category></category></item><item><title><![CDATA[RFID扫描APP--source5]]></title><link>https://blog.youkuaiyun.com/boyangel/article/details/50320789</link><guid>https://blog.youkuaiyun.com/boyangel/article/details/50320789</guid><author>boyangel</author><pubDate>Tue, 15 Dec 2015 21:21:21 +0800</pubDate><description><![CDATA[第五部分 
EPC.javapublic class EPC {
    private String mEpc;
    private int mNum;
    private boolean isSend;    public EPC(String s, int n) {
        mEpc = s;
        mNum = n;
        isSend = false;]]></description><category></category></item><item><title><![CDATA[RFID扫描APP--source4]]></title><link>https://blog.youkuaiyun.com/boyangel/article/details/50320749</link><guid>https://blog.youkuaiyun.com/boyangel/article/details/50320749</guid><author>boyangel</author><pubDate>Tue, 15 Dec 2015 21:18:42 +0800</pubDate><description><![CDATA[第四部分 
4. HttpSend.javapublic class Httpsend {    private static final String TAG = "Httpsend";
    public static final String RESULT = "flag";
    public static final String FAIL = "fail";
    public s]]></description><category></category></item></channel></rss>