<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_35893839的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_35893839</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_35893839]]></copyright><item><title><![CDATA[android开发艺术探索：View的事件分发机制]]></title><link>https://blog.youkuaiyun.com/qq_35893839/article/details/81977153</link><guid>https://blog.youkuaiyun.com/qq_35893839/article/details/81977153</guid><author>qq_35893839</author><pubDate>Thu, 23 Aug 2018 17:17:38 +0800</pubDate><description><![CDATA[ 

在了解view的时间分发机制之前，我们先了解MotionEvent这个对象

MotionEvent

在手指接触屏幕后所产生的一系列事件中，典型的时间类型有如下几种：

 ACTION_DOWN--------手机刚接触屏幕‘
	ACTION_MOVE----------手指在屏幕上移动
	ACTION_UP    -----------手指从屏幕上松开的一瞬间
上述三种情况是典型的事件序...]]></description><category></category></item><item><title><![CDATA[android开发艺术探索3：IPC--AIDL（跨进程）的使用]]></title><link>https://blog.youkuaiyun.com/qq_35893839/article/details/81745540</link><guid>https://blog.youkuaiyun.com/qq_35893839/article/details/81745540</guid><author>qq_35893839</author><pubDate>Fri, 17 Aug 2018 09:37:57 +0800</pubDate><description><![CDATA[AIDL的使用

我们可以使用AIDL来实现跨进程的方法调用，在上一个博客中我们介绍了binder的概念，在binder的基础上我们可以更加容易的理解AIDL。这里先介绍使用aidl来进行进程间通信的流程，分为服务端和客户端两个方面。

服务端
      服务端首先要创建一个service用来监听客户端的连接请求，然后创建一个AIDL文件，将暴露给客户端的接口在这个AIDL文件中声明，最后再se...]]></description><category></category></item><item><title><![CDATA[android开发艺术探索2：binder浅析]]></title><link>https://blog.youkuaiyun.com/qq_35893839/article/details/81741304</link><guid>https://blog.youkuaiyun.com/qq_35893839/article/details/81741304</guid><author>qq_35893839</author><pubDate>Thu, 16 Aug 2018 16:31:54 +0800</pubDate><description><![CDATA[ 

什么是binder？

   直观来说，binder是android中的一个类，它实现了IBinder接口。

从ipc角度来说，binder是android中的一种跨进程通信方式，binder还可以勒戒为一种虚拟的物理设备，该通信方式在linux中没有
	从android framework角度来说，binder是serviceManager连接各种manager（ActivityMana...]]></description><category></category></item><item><title><![CDATA[android开发艺术探索1--序列化Serializable 和 Parcelable]]></title><link>https://blog.youkuaiyun.com/qq_35893839/article/details/81707207</link><guid>https://blog.youkuaiyun.com/qq_35893839/article/details/81707207</guid><author>qq_35893839</author><pubDate>Thu, 16 Aug 2018 11:01:48 +0800</pubDate><description><![CDATA[什么是序列化

我们总是说着或者听说着“序列化”，它的定义是什么呢？


序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间，对象将其当前状态写入到临时或持久性存储区。以后，可以通过从存储区中读取或反序列化对象的状态，重新创建该对象。

二进制序列化保持类型保真度，这对于在应用程序的不同调用之间保留对象的状态很有用。例如，通过将对象序列化到剪贴板，...]]></description><category></category></item><item><title><![CDATA[android开发艺术探索之--IPC(跨进程通信)---多进程模式]]></title><link>https://blog.youkuaiyun.com/qq_35893839/article/details/81704477</link><guid>https://blog.youkuaiyun.com/qq_35893839/article/details/81704477</guid><author>qq_35893839</author><pubDate>Wed, 15 Aug 2018 16:21:47 +0800</pubDate><description><![CDATA[本文是读过 android开发艺术探索后，用于记录知识的 再次感谢任玉刚大神出这本书。

说到IPC的使用场景就必须提到多进程，只有面对多进程这种场景下，才需要考虑进程间通信。这个是很好理解的，如果只有一个进程在运行，有何谈多进程呢？多进程的情况分为两种。第一种情况是一个应用因为某些原因自身需要采用多进程模式来实现，至于原因，可能有很多，比如有些模块由于特殊原因需要运行在单独的进程中，又或者为了加...]]></description><category></category></item><item><title><![CDATA[android端父类调用子类重写的方法]]></title><link>https://blog.youkuaiyun.com/qq_35893839/article/details/80852070</link><guid>https://blog.youkuaiyun.com/qq_35893839/article/details/80852070</guid><author>qq_35893839</author><pubDate>Fri, 29 Jun 2018 09:34:33 +0800</pubDate><description><![CDATA[看一段代码：public class main_class {
    public static void main(String[] args){
        new c2()；
    }
}
class c1{
    String name=&quot;aaaaaa&quot;;
    //父类构造函数
    public c1(){
        print();
    }
//该构造函数自始...]]></description><category></category></item><item><title><![CDATA[仿淘宝搜索  流式布局,搜索记录 清除]]></title><link>https://blog.youkuaiyun.com/qq_35893839/article/details/79287096</link><guid>https://blog.youkuaiyun.com/qq_35893839/article/details/79287096</guid><author>qq_35893839</author><pubDate>Thu, 08 Feb 2018 10:55:11 +0800</pubDate><description><![CDATA[先上图  :代码如下  注释的很清楚了: 1自定义viewgroup:public class FlowLayout extends ViewGroup {


    public FlowLayout(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
   ...]]></description><category></category></item><item><title><![CDATA[android recycleView 原来还可以这么用,,,,,,显示四路视频]]></title><link>https://blog.youkuaiyun.com/qq_35893839/article/details/79125952</link><guid>https://blog.youkuaiyun.com/qq_35893839/article/details/79125952</guid><author>qq_35893839</author><pubDate>Mon, 22 Jan 2018 11:00:24 +0800</pubDate><description><![CDATA[最近公司做项目,要求可以显示四路视频,如果 用 布局包裹的话  那会非常麻烦,后来在大神的带领下,知道了用recycleview可以实现,
具体的需求如下
















































具体的需求如上图  接下来用recyclevie]]></description><category></category></item><item><title><![CDATA[android 深入了解layout_weight属性]]></title><link>https://blog.youkuaiyun.com/qq_35893839/article/details/78501274</link><guid>https://blog.youkuaiyun.com/qq_35893839/article/details/78501274</guid><author>qq_35893839</author><pubDate>Fri, 10 Nov 2017 16:42:22 +0800</pubDate><description><![CDATA[前言

　　在我们的项目中,Android中layout_weight这个属性对于经常捣鼓UI的我们来说，肯定不会陌生。我们会经常用到它,用的好的时候感觉非常的方便,但是我们在真正使用这个属性时，经常会出现一些莫名奇妙的布局效果；如果仅仅知其然而不知其所以然，一些意外的布局效果一定让我们颇为头疼。在本文中，将对layout_weight这个属性详细剖析。

正文

从代码讲起：

]]></description><category></category></item><item><title><![CDATA[android 收集错误log日志,并保存到sd卡上的实用类]]></title><link>https://blog.youkuaiyun.com/qq_35893839/article/details/78498233</link><guid>https://blog.youkuaiyun.com/qq_35893839/article/details/78498233</guid><author>qq_35893839</author><pubDate>Fri, 10 Nov 2017 11:45:47 +0800</pubDate><description><![CDATA[在android 项目调试的时候,经常会出现崩溃,一些异常等,测试测的时候没有办法记录错误日志,咱们在项目中写一个收集错误日志的类,方便了查看错误日志


           
    
package util;

import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintWriter;
imp]]></description><category></category></item><item><title><![CDATA[Android 修改正式keystore文件,微信,qq分享等测试keystore 生成]]></title><link>https://blog.youkuaiyun.com/qq_35893839/article/details/78497971</link><guid>https://blog.youkuaiyun.com/qq_35893839/article/details/78497971</guid><author>qq_35893839</author><pubDate>Fri, 10 Nov 2017 11:26:44 +0800</pubDate><description><![CDATA[一、说明

     最近在做微信的移动开发，每次运行程序都需要进行加上keystore才能进行调试。所以写下自定义keystore的方法。

      其实Android应用开发接入各种SDK时会发现，有很多SDK是需要靠package name和keystore的指纹hash来识别的（百度地图SDK、Facebook SDK等等…），这样如果使用默认自动生成的debugkeystor]]></description><category></category></item><item><title><![CDATA[android中 多种启动线程的书写方式及方法]]></title><link>https://blog.youkuaiyun.com/qq_35893839/article/details/78497627</link><guid>https://blog.youkuaiyun.com/qq_35893839/article/details/78497627</guid><author>qq_35893839</author><pubDate>Fri, 10 Nov 2017 11:04:02 +0800</pubDate><description><![CDATA[在android中,启动线程的方式有多种,之前自己感觉很乱,所以在这里总结一下这几种启动方式,以后忘了的时候可以回来查看
 其实在多线程编程这块,我们经常要使用Handler(处理)，Thread(线程)和Runnable这三个类，所以下面我们就看看用这三个类怎么启动一个线程


首先说明Android的CPU分配的最小单元是线程，Handler一般是在某个线程里创建的，因而Handler]]></description><category></category></item><item><title><![CDATA[android 下载 ios上传图片的角度显示问题]]></title><link>https://blog.youkuaiyun.com/qq_35893839/article/details/78496865</link><guid>https://blog.youkuaiyun.com/qq_35893839/article/details/78496865</guid><author>qq_35893839</author><pubDate>Fri, 10 Nov 2017 10:11:45 +0800</pubDate><description><![CDATA[最近做项目时,遇到了android端 显示ios端上传图片的问题 ,图片角度是随着ios端拍照的角度显示的 ,也就是说如果ios端 横着拍照,android端的图片就横着显示,如果ios端竖着拍照,android端的图拍呢就竖着显示, android端显示android端上传的图片没有问题,我想是android系统内部做了处理.鸡精周折,才找到了原来可以获取照片拍照时的角度,
如何获取和改变图片]]></description><category></category></item><item><title><![CDATA[android 微信分享后走ondestroy()用android:configChanges属性解决]]></title><link>https://blog.youkuaiyun.com/qq_35893839/article/details/78362970</link><guid>https://blog.youkuaiyun.com/qq_35893839/article/details/78362970</guid><author>qq_35893839</author><pubDate>Fri, 27 Oct 2017 11:25:34 +0800</pubDate><description><![CDATA[最近在项目中调起微信分享返回后,activity走了ondestory(),不知道为什么会走,在几经波折之后发现是因为横竖屏改变了activity的生命周期,在清单文件中修改android:configChanges这个属性即可,再此记录一下,




android中的组件Activity在manifest.xml文件中可以指定参数android：ConfigChanges，用于捕获手]]></description><category></category></item><item><title><![CDATA[PopupWindow 在 Android N(7.0) 的兼容性问题]]></title><link>https://blog.youkuaiyun.com/qq_35893839/article/details/78248137</link><guid>https://blog.youkuaiyun.com/qq_35893839/article/details/78248137</guid><author>qq_35893839</author><pubDate>Mon, 16 Oct 2017 11:46:10 +0800</pubDate><description><![CDATA[老早QA就提了个bug，说我们的popupWindow在android N (7.0)系统展示不对。
然后我今天有空就把这个bug修了，没明白google为啥这次这样改PopupWindow，可能是他们的bug，下面详细看看这个是什么bug。

兼容性现象

popupWindow设置了居中或者底部对齐，但是在7.0机器是跑到顶部。
很明显这个bug是和我们设置了Gravity有关。]]></description><category></category></item><item><title><![CDATA[android popupwindow 的使用方法()]]></title><link>https://blog.youkuaiyun.com/qq_35893839/article/details/78247299</link><guid>https://blog.youkuaiyun.com/qq_35893839/article/details/78247299</guid><author>qq_35893839</author><pubDate>Mon, 16 Oct 2017 10:45:57 +0800</pubDate><description><![CDATA[在项目中一直都用过popupwindow,显示弹框,,等,但都是模棱两可 ,今天理解了 特此记录一下


1.使用场景
    PopupWindow，顾名思义，就是弹窗，在很多场景下都可以见到它。例如ActionBar/Toolbar的选项弹窗，一组选项的容器，或者列表等集合的窗口等等。
2.基本用法
   

使用PopupWindow很简单，可以总结为三个步骤：

创建P]]></description><category></category></item><item><title><![CDATA[android SharedPreferences封装类 简单 好用的类]]></title><link>https://blog.youkuaiyun.com/qq_35893839/article/details/77983760</link><guid>https://blog.youkuaiyun.com/qq_35893839/article/details/77983760</guid><author>qq_35893839</author><pubDate>Thu, 14 Sep 2017 18:24:47 +0800</pubDate><description><![CDATA[在项目中经常会用到SharedPreferences储存一些临时文件,如登录账号.密码 ,ip等 ,有时候想起来就写一个,弄的项目很乱,在此封装好了一个类,代码如下:

public class mySharePreferences {  
    public static final String SERVER_IP = "mServerIP";  
    public static f]]></description><category></category></item><item><title><![CDATA[android SharedPreferences封装类 简单 好用]]></title><link>https://blog.youkuaiyun.com/qq_35893839/article/details/77983010</link><guid>https://blog.youkuaiyun.com/qq_35893839/article/details/77983010</guid><author>qq_35893839</author><pubDate>Thu, 14 Sep 2017 17:21:49 +0800</pubDate><description><![CDATA[在项目中经常会用到SharedPreferences储存一些临时文件,如登录账号.密码 ,ip等 ,有时候想起来就写一个,弄的项目很乱,在此封装好了一个类,代码如下:
public class mySharePreferences {
	public static final String SERVER_IP = "mServerIP";
	public static final String ]]></description><category></category></item><item><title><![CDATA[android多语言国际化]]></title><link>https://blog.youkuaiyun.com/qq_35893839/article/details/76633932</link><guid>https://blog.youkuaiyun.com/qq_35893839/article/details/76633932</guid><author>qq_35893839</author><pubDate>Thu, 03 Aug 2017 16:18:47 +0800</pubDate><description><![CDATA[在很多app中都涉及到中英文切换 繁体简体切换,再此简单的记录一下


   
1,首先大家要清楚,默认情况下，Android会根据系统的语言地区设置，自动选择对应的资源。也就是说会首先尝试语言地区全匹配，如果没有权匹配的
资源包，则会尝试匹配语言，最后则会取默认的。比如如果Android系统的语言地区是中文简体，则首先会尝试从/values-zh-rCN中获取资源，
如果没有此文件夹]]></description><category></category></item><item><title><![CDATA[一款实用的android相册选择器,单选,双选]]></title><link>https://blog.youkuaiyun.com/qq_35893839/article/details/73087467</link><guid>https://blog.youkuaiyun.com/qq_35893839/article/details/73087467</guid><author>qq_35893839</author><pubDate>Mon, 12 Jun 2017 09:18:00 +0800</pubDate><description><![CDATA[最近一直在优化自己的项目,想找一个图片选择的框架,能够支持单选 多选,支持裁剪,


 下面这款感觉非常好用 作为一个library包导入,分享给大家链接


  https://github.com/wqandroid/wqgallery]]></description><category></category></item></channel></rss>