<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qiracle的博客]]></title><description><![CDATA[Android Developer]]></description><link>https://blog.youkuaiyun.com/foreverJQQ</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; foreverJQQ]]></copyright><item><title><![CDATA[Android AIDL机制解析]]></title><link>https://blog.youkuaiyun.com/foreverJQQ/article/details/111825499</link><guid>https://blog.youkuaiyun.com/foreverJQQ/article/details/111825499</guid><author>foreverJQQ</author><pubDate>Sun, 27 Dec 2020 20:17:46 +0800</pubDate><description><![CDATA[关于AIDL的使用，已经在之前的博客Android AIDL的基本用法
里介绍过，这次主要通过剖析AIDL生成的java文件来讲解AIDL机制。用的还是之前博客的例子，它在build目录下生成的 IMyAidlInterface.java 文件内容如下：
/*
 * This file is auto-generated.  DO NOT MODIFY.
 * Original file: D:\\AndroidStudioProjects\\AIDLServer\\app\\src\\main\\aidl]]></description><category></category></item><item><title><![CDATA[java IO总结]]></title><link>https://blog.youkuaiyun.com/foreverJQQ/article/details/84593226</link><guid>https://blog.youkuaiyun.com/foreverJQQ/article/details/84593226</guid><author>foreverJQQ</author><pubDate>Wed, 28 Nov 2018 21:46:44 +0800</pubDate><description><![CDATA[java IO流简介
java IO流可 分为输入流 和 输出流。这里的输入和输出是相对于程序而言的，外部数据输入到程序中时，我们用输入流，程序中的数据输出到外部时，我们用输出流。
输入流又可分为字节输入流和字符输入流。字节输入流的基类为InputStream，我们常用到它的子类FileInputStream, 字符输入流的基类为Reader，我们常用到它的子类FileReader。
输出流又可分...]]></description><category></category></item><item><title><![CDATA[Android 系统 overlay 机制重点小结]]></title><link>https://blog.youkuaiyun.com/foreverJQQ/article/details/78085974</link><guid>https://blog.youkuaiyun.com/foreverJQQ/article/details/78085974</guid><author>foreverJQQ</author><pubDate>Mon, 25 Sep 2017 15:47:29 +0800</pubDate><description><![CDATA[静态 overlay 和动态 overlay静态 overlay：又称为编译时 overlay，编译时资源就已经覆盖了，一般用在有源码的apk中。 
动态 overlay：又称为运行时 overlay，当 apk 在手机中运行时才发生资源覆盖，一般用在无源码的apk中。overlay资源替换的前提和原则前提：资源所在路径必须与overlay下资源路径完全相同。如要替换 Settings 这个应用的S]]></description><category></category></item><item><title><![CDATA[简单的python网络爬虫实现]]></title><link>https://blog.youkuaiyun.com/foreverJQQ/article/details/77338398</link><guid>https://blog.youkuaiyun.com/foreverJQQ/article/details/77338398</guid><author>foreverJQQ</author><pubDate>Thu, 17 Aug 2017 19:07:21 +0800</pubDate><description><![CDATA[本文介绍了简单的python网络爬虫的实现]]></description><category></category></item><item><title><![CDATA[将自己制作的python包安装到Linux系统中]]></title><link>https://blog.youkuaiyun.com/foreverJQQ/article/details/77338370</link><guid>https://blog.youkuaiyun.com/foreverJQQ/article/details/77338370</guid><author>foreverJQQ</author><pubDate>Thu, 17 Aug 2017 19:04:15 +0800</pubDate><description><![CDATA[本文介绍了将自己制作的python包安装到ubuntu系统的过程]]></description><category></category></item><item><title><![CDATA[java中类的方法初始化顺序]]></title><link>https://blog.youkuaiyun.com/foreverJQQ/article/details/77338340</link><guid>https://blog.youkuaiyun.com/foreverJQQ/article/details/77338340</guid><author>foreverJQQ</author><pubDate>Thu, 17 Aug 2017 19:00:25 +0800</pubDate><description><![CDATA[java中类的方法初始化顺序]]></description><category></category></item><item><title><![CDATA[Java中throws和throw的区别]]></title><link>https://blog.youkuaiyun.com/foreverJQQ/article/details/77338317</link><guid>https://blog.youkuaiyun.com/foreverJQQ/article/details/77338317</guid><author>foreverJQQ</author><pubDate>Thu, 17 Aug 2017 18:58:01 +0800</pubDate><description><![CDATA[throws
  用在方法声明后面，跟的是异常类名
  
  可以跟多个异常类名，用逗号隔开
  
  表示抛出异常，由该方法的调用者来处理
  
  throws表示出现异常的一种可能性，并不一定会发生这些异常
throw
  用在方法体内，跟的是异常对象名
  
  只能抛出一个异常对象名
  
  表示抛出异常，由方法体内的语句处理
  
  throw则是抛出了异常，执行throw则一定抛出]]></description><category></category></item><item><title><![CDATA[Eclipse下Android应用程序签名打包]]></title><link>https://blog.youkuaiyun.com/foreverJQQ/article/details/77338300</link><guid>https://blog.youkuaiyun.com/foreverJQQ/article/details/77338300</guid><author>foreverJQQ</author><pubDate>Thu, 17 Aug 2017 18:55:46 +0800</pubDate><description><![CDATA[本文介绍了Eclipse下Android应用程序签名打包]]></description><category></category></item><item><title><![CDATA[Linux常用命令小结]]></title><link>https://blog.youkuaiyun.com/foreverJQQ/article/details/77338282</link><guid>https://blog.youkuaiyun.com/foreverJQQ/article/details/77338282</guid><author>foreverJQQ</author><pubDate>Thu, 17 Aug 2017 18:53:27 +0800</pubDate><description><![CDATA[本文介绍了常用的linux命令]]></description><category></category></item><item><title><![CDATA[CSS中清除浮动五大的方法介绍]]></title><link>https://blog.youkuaiyun.com/foreverJQQ/article/details/77338251</link><guid>https://blog.youkuaiyun.com/foreverJQQ/article/details/77338251</guid><author>foreverJQQ</author><pubDate>Thu, 17 Aug 2017 18:49:55 +0800</pubDate><description><![CDATA[详细介绍了css中清楚浮动的五大方法]]></description><category></category></item><item><title><![CDATA[java常用集合容器详解]]></title><link>https://blog.youkuaiyun.com/foreverJQQ/article/details/77338225</link><guid>https://blog.youkuaiyun.com/foreverJQQ/article/details/77338225</guid><author>foreverJQQ</author><pubDate>Thu, 17 Aug 2017 18:46:34 +0800</pubDate><description><![CDATA[详细介绍了javaSE中常用集合的特点，用法以及区别]]></description><category></category></item><item><title><![CDATA[Android 系统 Settings 启动流程详解]]></title><link>https://blog.youkuaiyun.com/foreverJQQ/article/details/77067560</link><guid>https://blog.youkuaiyun.com/foreverJQQ/article/details/77067560</guid><author>foreverJQQ</author><pubDate>Thu, 10 Aug 2017 17:44:48 +0800</pubDate><description><![CDATA[笔者通过文字+代码+图片的方式深刻剖析了Android系统中Settings的启动流程]]></description><category></category></item><item><title><![CDATA[记一个实用的git命令---谁动了我的代码]]></title><link>https://blog.youkuaiyun.com/foreverJQQ/article/details/76961961</link><guid>https://blog.youkuaiyun.com/foreverJQQ/article/details/76961961</guid><author>foreverJQQ</author><pubDate>Wed, 09 Aug 2017 09:50:45 +0800</pubDate><description><![CDATA[应用场景我们在做公司的项目的时候，代码都是大家共同编写的，通过git仓库进行管理。然而有的时候，我们写的代码会被别人修改了，而别人又没有加注释说明是某某人什么时候修改的什么功能。这时候你又想对曾经自己写的这块代码进行修改，但是你对他的代码不是很明白或者对需求不是很理解。这时最好的解决方法就是找到这个人问明白，最常见的方法是，通过git log查看提交记录，查出这笔提交的owner，但是如果是很久之前]]></description><category></category></item><item><title><![CDATA[史上最详细的Android系统SystemUI 启动过程详细解析]]></title><link>https://blog.youkuaiyun.com/foreverJQQ/article/details/76268404</link><guid>https://blog.youkuaiyun.com/foreverJQQ/article/details/76268404</guid><author>foreverJQQ</author><pubDate>Fri, 28 Jul 2017 16:07:05 +0800</pubDate><description><![CDATA[综合了多篇有关Android系统SystemUI介绍的博客，再加上笔者自己的理解，采用文字+代码+视图的方式全面解析SystemUI的启动流程。]]></description><category></category></item><item><title><![CDATA[Python中的高阶函数]]></title><link>https://blog.youkuaiyun.com/foreverJQQ/article/details/74931148</link><guid>https://blog.youkuaiyun.com/foreverJQQ/article/details/74931148</guid><author>foreverJQQ</author><pubDate>Mon, 10 Jul 2017 17:03:57 +0800</pubDate><description><![CDATA[1.python把函数作为参数import math
def f(x,y)
    return (x+y)+x*y
def add(x, y, f):
    return f(x,y)print add(4, 9, f)
参数f接收一个函数名，根据f的定义不同，可得到不同的值。2.python中map()函数def format_name(s):
    return s[0].upper()]]></description><category></category></item><item><title><![CDATA[Android系统DeskClock时钟应用时区添加代码分析]]></title><link>https://blog.youkuaiyun.com/foreverJQQ/article/details/74729425</link><guid>https://blog.youkuaiyun.com/foreverJQQ/article/details/74729425</guid><author>foreverJQQ</author><pubDate>Fri, 07 Jul 2017 15:54:47 +0800</pubDate><description><![CDATA[DeskClock时钟应用时区的添加，首先我们找到DeskClock该app所在的位置，它位于package/apps/DeskCock下，时区的读取文件位于src/com/android/deskclock/settings/settingsActivity.java中，接下来我们主要分析该文件中的代码。首先找到getAllTimeZones函数，如下图： 
该方法首先读取了string.xml里]]></description><category></category></item><item><title><![CDATA[数据结构-链表的基本操作]]></title><link>https://blog.youkuaiyun.com/foreverJQQ/article/details/73715563</link><guid>https://blog.youkuaiyun.com/foreverJQQ/article/details/73715563</guid><author>foreverJQQ</author><pubDate>Sun, 25 Jun 2017 12:44:42 +0800</pubDate><description><![CDATA[链表的定义，初始化以及链表元素的增删改查]]></description><category></category></item><item><title><![CDATA[数据结构-顺序表的基本操作]]></title><link>https://blog.youkuaiyun.com/foreverJQQ/article/details/73700041</link><guid>https://blog.youkuaiyun.com/foreverJQQ/article/details/73700041</guid><author>foreverJQQ</author><pubDate>Sun, 25 Jun 2017 11:08:48 +0800</pubDate><description><![CDATA[数据结构中顺序表的简单操作]]></description><category></category></item><item><title><![CDATA[Android系统工程模式启动过程详解]]></title><link>https://blog.youkuaiyun.com/foreverJQQ/article/details/71141976</link><guid>https://blog.youkuaiyun.com/foreverJQQ/article/details/71141976</guid><author>foreverJQQ</author><pubDate>Wed, 03 May 2017 19:32:30 +0800</pubDate><description><![CDATA[这几天在公司看Android系统里的工程模式方面的代码。工程模式就是拿来测试手机的，普通用户会打开工程模式的很少，但作为一名Android手机的开发者来说，就必须知道了。其实就是在手机拨号盘输入特定混合数字和*#的字符串，进入特殊的界面。如输入*#06#可以查看手机IMEI号，*#*#4636#*#* 可以查看手机的一些信息等。下面我来通过我所查看的系统源码来说明这是怎样的一个过程。
首先找到源]]></description><category></category></item><item><title><![CDATA[Android校招面试总结]]></title><link>https://blog.youkuaiyun.com/foreverJQQ/article/details/70841253</link><guid>https://blog.youkuaiyun.com/foreverJQQ/article/details/70841253</guid><author>foreverJQQ</author><pubDate>Thu, 27 Apr 2017 09:40:23 +0800</pubDate><description><![CDATA[原文来自我的hexo博客：http://qiracle.github.io/2016/12/10/mianshi/




　从今年九月底开始，一直到十月底，前前后后总共大概面试了十来家公司，其中有少于二十人的创业公司，也有像美团那样的大公司，也算是面试经历丰富了。因为是校招，所谓金九银十，但当时自己并不知情，所以错过了好多大公司在九月份的校招，实在是挺可惜的。

简历筛选]]></description><category></category></item></channel></rss>