<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chyychfchx的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chyychfchx</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chyychfchx]]></copyright><item><title><![CDATA[Error:Jack is required to support java 8 language features. Either enable Jack or remove sourceCompa]]></title><link>https://blog.youkuaiyun.com/chyychfchx/article/details/65443471</link><guid>https://blog.youkuaiyun.com/chyychfchx/article/details/65443471</guid><author>chyychfchx</author><pubDate>Thu, 23 Mar 2017 14:47:47 +0800</pubDate><description><![CDATA[添加图中红色方框区域后，可以使用jdk8已支持的lambda表达式，使代码很简洁，如果没有添加图中的区域①，会出现一下错误： 
 Error:Jack is required to support java 8 language features. Either enable Jack or remove sourceCompa 
使用lambda的第二种配置方式：


这种配置不需要在]]></description><category></category></item><item><title><![CDATA[自定义View进阶-Canvas之图片文字]]></title><link>https://blog.youkuaiyun.com/chyychfchx/article/details/60143682</link><guid>https://blog.youkuaiyun.com/chyychfchx/article/details/60143682</guid><author>chyychfchx</author><pubDate>Fri, 03 Mar 2017 17:35:01 +0800</pubDate><description><![CDATA[在上一篇文章Canvas之画布操作中我们了解了画布的一些基本操作方法，本次了解一些绘制图片文字相关的内容。如果你对前几篇文章讲述的内容熟练掌握的话，那么恭喜你，本篇结束之后，大部分的自定义View已经难不倒你了，当然了，这并不是终点，接下来还会有更加炫酷的技能。
一.Canvas的常用操作速查表




操作类型

相关API

备注





绘制颜色

dr]]></description><category></category></item><item><title><![CDATA[自定义View进阶-Canvas之画布操作]]></title><link>https://blog.youkuaiyun.com/chyychfchx/article/details/60142582</link><guid>https://blog.youkuaiyun.com/chyychfchx/article/details/60142582</guid><author>chyychfchx</author><pubDate>Fri, 03 Mar 2017 16:48:43 +0800</pubDate><description><![CDATA[上一篇Canvas之绘制基本图形中我们了解了如何使用Canvas绘制基本图形，本次了解一些基本的画布操作。

本来想把画布操作放到后面部分的，但是发现很多图形绘制都离不开画布操作，于是先讲解一下画布的基本操作方法。
一.Canvas的常用操作速查表




操作类型

相关API

备注





绘制颜色

drawColor, drawRGB, draw]]></description><category></category></item><item><title><![CDATA[自定义View进阶-Canvas之绘制图形]]></title><link>https://blog.youkuaiyun.com/chyychfchx/article/details/60142453</link><guid>https://blog.youkuaiyun.com/chyychfchx/article/details/60142453</guid><author>chyychfchx</author><pubDate>Fri, 03 Mar 2017 16:43:48 +0800</pubDate><description><![CDATA[在上一篇自定义View分类与流程中我们了解自定义View相关的基本知识，不过，这些东西依旧还是理论，并不能拿来(zhuang)用(B),
 这一次我们就了解一些能(zhaung)用(B)的东西。

在本篇文章中，我们先了解Canvas的基本用法，最后用一个小示例来结束本次教程。
一.Canvas简介

Canvas我们可以称之为画布，能够在上面绘制各种东西，是安卓平台2D图形绘制的基础]]></description><category></category></item><item><title><![CDATA[自定义View基础 - 角度和弧度]]></title><link>https://blog.youkuaiyun.com/chyychfchx/article/details/60136623</link><guid>https://blog.youkuaiyun.com/chyychfchx/article/details/60136623</guid><author>chyychfchx</author><pubDate>Fri, 03 Mar 2017 11:44:05 +0800</pubDate><description><![CDATA[安卓中角度(angle)与弧度(radian)的有关问题。
一.前言
1.为什么讲这个？

在我们自定义View，尤其是制作一些复杂炫酷的效果的时候，实际上是将一些简单的东西通过数学上精密的计算组合到一起形成的效果。

这其中可能会涉及到画布的相关操作(旋转)，以及一些正余弦函数的计算等，这些内容就会用到一些角度、弧度相关的知识。
2.为什么对角的描述存在角度与弧度两种单位？]]></description><category></category></item><item><title><![CDATA[自定义View基础-坐标系]]></title><link>https://blog.youkuaiyun.com/chyychfchx/article/details/60129639</link><guid>https://blog.youkuaiyun.com/chyychfchx/article/details/60129639</guid><author>chyychfchx</author><pubDate>Fri, 03 Mar 2017 10:17:32 +0800</pubDate><description><![CDATA[一.屏幕坐标系和数学坐标系的区别

由于移动设备一般定义屏幕左上角为坐标原点，向右为x轴增大方向，向下为y轴增大方向， 所以在手机屏幕上的坐标系与数学中常见的坐标系是稍微有点差别的，详情如下：

（PS：其中的∠a 是对应的，注意y轴方向！）



实际屏幕上的默认坐标系如下：


PS: 假设其中棕色部分为手机屏幕



二.View的坐标系

注意：View的]]></description><category></category></item><item><title><![CDATA[安卓自定义View教程目录]]></title><link>https://blog.youkuaiyun.com/chyychfchx/article/details/60129395</link><guid>https://blog.youkuaiyun.com/chyychfchx/article/details/60129395</guid><author>chyychfchx</author><pubDate>Fri, 03 Mar 2017 10:11:15 +0800</pubDate><description><![CDATA[这是一个从零起步，从入门到懵逼的自定义View教程。本教程从最基础的内容讲解，并且深入到了相关的各个细节，不论你是刚入门的菜鸟，还是有一定经验的工程师相信本系列文章都会对你有所帮助。

你既可以将本教程当作学习资料来学习自定义View相关的各种知识，也可以作为工具来使用，在需要的时候查询相关的知识细节。

基础篇


安卓自定义View基础
 - 坐标系
安卓自定义View基础]]></description><category></category></item><item><title><![CDATA[Android 获取系统版本号，设备品牌等]]></title><link>https://blog.youkuaiyun.com/chyychfchx/article/details/59484332</link><guid>https://blog.youkuaiyun.com/chyychfchx/article/details/59484332</guid><author>chyychfchx</author><pubDate>Thu, 02 Mar 2017 11:14:41 +0800</pubDate><description><![CDATA[在开发中 我们有时候会需要获取当前手机的系统版本来进行判断，或者需要获取一些当前手机的硬件信息。android.os.Build类中。包括了这样的一些信息。我们可以直接调用 而不需要添加任何的权限和方法。
android.os.Build.BOARD：获取设备基板名称
android.os.Build.BOOTLOADER:获取设备引导程序版本号
android.os.Build.BRAND]]></description><category></category></item><item><title><![CDATA[Android异步消息处理机制完全解析，带你从源码的角度彻底理解]]></title><link>https://blog.youkuaiyun.com/chyychfchx/article/details/54954555</link><guid>https://blog.youkuaiyun.com/chyychfchx/article/details/54954555</guid><author>chyychfchx</author><pubDate>Thu, 09 Feb 2017 19:57:42 +0800</pubDate><description><![CDATA[转载请注明出处：http://blog.youkuaiyun.com/guolin_blog/article/details/9991569





开始进入正题，我们都知道，Android UI是线程不安全的，如果在子线程中尝试进行UI操作，程序就有可能会崩溃。相信大家在日常的工作当中都会经常遇到这个问题，解决的方案应该也是早已烂熟于心，即创建一个Message对象，然后借助Handler发送]]></description><category></category></item><item><title><![CDATA[adb常用命令]]></title><link>https://blog.youkuaiyun.com/chyychfchx/article/details/54890536</link><guid>https://blog.youkuaiyun.com/chyychfchx/article/details/54890536</guid><author>chyychfchx</author><pubDate>Mon, 06 Feb 2017 10:41:19 +0800</pubDate><description><![CDATA[查看正在运行的Activity：adb shell dumpsys activity activities]]></description><category></category></item><item><title><![CDATA[ViewPager实现选项卡]]></title><link>https://blog.youkuaiyun.com/chyychfchx/article/details/53694083</link><guid>https://blog.youkuaiyun.com/chyychfchx/article/details/53694083</guid><author>chyychfchx</author><pubDate>Fri, 16 Dec 2016 16:27:26 +0800</pubDate><description><![CDATA[本人小白一枚，一直对自定义控件有些恐惧，最近公司也没什么项目，打算学习下自定义控件。如下图比较简单的选项卡
选项卡需要考虑到，字体的颜色、大小，选项卡的背景、切换选项卡时的下标；首先考虑自定义属性：新建attr.xml,声明如下

    
        
        
        
        
    
PageTabView继承自LinearLayout，在XML布局文件中插入]]></description><category></category></item><item><title><![CDATA[Linux命令-11：nl（Number of Lines）命令]]></title><link>https://blog.youkuaiyun.com/chyychfchx/article/details/52703746</link><guid>https://blog.youkuaiyun.com/chyychfchx/article/details/52703746</guid><author>chyychfchx</author><pubDate>Thu, 29 Sep 2016 17:29:33 +0800</pubDate><description><![CDATA[nl（Number of Lines）命令在linux系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号！其默认的结果与 cat -n 有点不太一样， nl 可以将行号做比较多的显示设计，包括位数与是否自动补齐 0 等等的功能。  

1．命令格式：

nl [选项]... [文件]...

2．命令参数：

-b  ：指定行号指定的方式，主要有两种：

-b ]]></description><category></category></item><item><title><![CDATA[Linux命令-10：touch命令]]></title><link>https://blog.youkuaiyun.com/chyychfchx/article/details/52691376</link><guid>https://blog.youkuaiyun.com/chyychfchx/article/details/52691376</guid><author>chyychfchx</author><pubDate>Wed, 28 Sep 2016 16:11:53 +0800</pubDate><description><![CDATA[touch命令不常用，一般在使用make的时候可能会用到，用来修改文件时间戳，或者新建一个不存在的文件。

1．命令格式：

touch [选项]... 文件...

2．命令参数：

-a   或--time=atime或--time=access或--time=use 　只更改存取时间。

-c   或--no-create 　不建立任何文档。

-d 　使用指定的日期]]></description><category></category></item><item><title><![CDATA[Linux命令-9：cat（Concatenate ）命令]]></title><link>https://blog.youkuaiyun.com/chyychfchx/article/details/52691051</link><guid>https://blog.youkuaiyun.com/chyychfchx/article/details/52691051</guid><author>chyychfchx</author><pubDate>Wed, 28 Sep 2016 15:47:38 +0800</pubDate><description><![CDATA[cat（Concatenate）命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容，或者将几个文件连接起来显示，或者从标准输入读取内容并显示，它常与重定向符号配合使用。 

1．命令格式：

cat [选项] [文件]...

2．命令功能：

cat主要有三大功能：

1.一次显示整个文件:cat filename

2.从键盘创建一个文件:cat > fi]]></description><category></category></item><item><title><![CDATA[Linux命令-8：cp（Copy File）命令]]></title><link>https://blog.youkuaiyun.com/chyychfchx/article/details/52688577</link><guid>https://blog.youkuaiyun.com/chyychfchx/article/details/52688577</guid><author>chyychfchx</author><pubDate>Wed, 28 Sep 2016 10:58:44 +0800</pubDate><description><![CDATA[cp（Copy File）命令用来复制文件或者目录，是Linux系统中最常用的命令之一。一般情况下，shell会设置一个别名，在命令行下复制文件时，如果目标文件已经存在，就会询问是否覆盖，不管你是否使用-i参数。但是如果是在shell脚本中执行cp时，没有-i参数时不会询问是否覆盖。这说明命令行和shell脚本的执行方式有些不同。 

1．命令格式：

用法：

   cp [选项].]]></description><category></category></item><item><title><![CDATA[Linux命令-7：mv（move（rename））命令]]></title><link>https://blog.youkuaiyun.com/chyychfchx/article/details/52688290</link><guid>https://blog.youkuaiyun.com/chyychfchx/article/details/52688290</guid><author>chyychfchx</author><pubDate>Wed, 28 Sep 2016 10:41:52 +0800</pubDate><description><![CDATA[mv（Remove）命令，可以用来移动文件或者将文件改名（move (rename) files），是Linux系统下常用的命令，经常用来备份文件或者目录。

1．命令格式：

    mv [选项] 源文件或目录 目标文件或目录

2．命令功能：

根据mv命令中第二个参数类型的不同（是目标文件还是目标目录），mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时]]></description><category></category></item><item><title><![CDATA[Linux命令-6：rmdir（Remove Directory）命令]]></title><link>https://blog.youkuaiyun.com/chyychfchx/article/details/52688070</link><guid>https://blog.youkuaiyun.com/chyychfchx/article/details/52688070</guid><author>chyychfchx</author><pubDate>Wed, 28 Sep 2016 10:10:47 +0800</pubDate><description><![CDATA[rmdir（Remove Directory）命令。rmdir是常用的命令，该命令的功能是删除空目录，一个目录被删除之前必须是空的，否则无法删除。（注意，rm - r dir命令可代替rmdir，但是有很大危险性。）删除某目录时也必须具有对父目录的写权限。

1．命令格式：

rmdir [选项]... 目录...

2．命令功能：

该命令从一个目录中删除一个或多个子目录项，删除]]></description><category></category></item><item><title><![CDATA[Linux命令-5：rm（Remove）命令]]></title><link>https://blog.youkuaiyun.com/chyychfchx/article/details/52687935</link><guid>https://blog.youkuaiyun.com/chyychfchx/article/details/52687935</guid><author>chyychfchx</author><pubDate>Wed, 28 Sep 2016 09:59:14 +0800</pubDate><description><![CDATA[rm（Remove）是常用的命令，该命令的功能为删除一个目录中的一个或多个文件或目录，它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件，只是删除了链接，原有文件均保持不变。

rm是一个危险的命令，使用的时候要特别当心，尤其对于新手，否则整个系统就会毁在这个命令（比如在/（根目录）下执行rm * -rf）。所以，我们在执行rm之前最好先确认一下在哪个目录，到底要删除什么东西，操作]]></description><category></category></item><item><title><![CDATA[lLinux命令-4：mkdir(Make Directory)命令]]></title><link>https://blog.youkuaiyun.com/chyychfchx/article/details/52687797</link><guid>https://blog.youkuaiyun.com/chyychfchx/article/details/52687797</guid><author>chyychfchx</author><pubDate>Wed, 28 Sep 2016 09:43:25 +0800</pubDate><description><![CDATA[linux mkdir（Make Directory） 命令用来创建指定的名称的目录，要求创建目录的用户在当前目录中具有写权限，并且指定的目录名不能是当前目录中已有的目录。

1．命令格式：

mkdir [选项] 目录...

2．命令功能：

通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录。要创建文件夹或目录的用户必须对所创建的]]></description><category></category></item><item><title><![CDATA[Linux命令-3：pwd（Print Work Directory）命令]]></title><link>https://blog.youkuaiyun.com/chyychfchx/article/details/52687745</link><guid>https://blog.youkuaiyun.com/chyychfchx/article/details/52687745</guid><author>chyychfchx</author><pubDate>Wed, 28 Sep 2016 09:30:46 +0800</pubDate><description><![CDATA[Linux中用 pwd（Print
 Work Directory） 命令来查看”当前工作目录“的完整路径。 简单得说，每当你在终端进行操作时，你都会有一个当前工作目录。 

在不太确定当前位置时，就会使用pwd来判定当前目录在文件系统内的确切位置。

1．命令格式：

pwd [选项]

2．命令功能：

查看”当前工作目录“的完整路径

3．常用参数：

一般情况]]></description><category></category></item></channel></rss>