<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Agnoi丶军]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_39735504</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_39735504]]></copyright><item><title><![CDATA[Android事件分发机制详解]]></title><link>https://blog.youkuaiyun.com/qq_39735504/article/details/104821565</link><guid>https://blog.youkuaiyun.com/qq_39735504/article/details/104821565</guid><author>qq_39735504</author><pubDate>Thu, 12 Mar 2020 16:37:10 +0800</pubDate><description><![CDATA[1. 基础认知

1.1 事件分发的对象是谁？

 点击事件（Touch事件）

定义
	当用户触摸屏幕时（View或ViewGroup派生的控件），将产生点击事件（Touch事件）

Touch事件的相关细节（发生触摸的位置、时间等）被封装成MotionEvent对象


事件类型（4种）
事件类型
			具体动作
		MotionEvent.ACTION_DOWN
			按下View（...]]></description><category></category></item><item><title><![CDATA[Android项目Git忽略文件]]></title><link>https://blog.youkuaiyun.com/qq_39735504/article/details/103631961</link><guid>https://blog.youkuaiyun.com/qq_39735504/article/details/103631961</guid><author>qq_39735504</author><pubDate>Fri, 20 Dec 2019 14:29:04 +0800</pubDate><description><![CDATA[.gitignore 中需要配置的文件


# Built application files
*.apk
*.ap_
output.json

# Files for the ART/Dalvik VM
*.dex

# Java class files
*.class

# Generated files
bin/
gen/
out/

# Gradle files
.gradle/
buil...]]></description><category></category></item><item><title><![CDATA[Linux系统使用360加固Apk]]></title><link>https://blog.youkuaiyun.com/qq_39735504/article/details/100972976</link><guid>https://blog.youkuaiyun.com/qq_39735504/article/details/100972976</guid><author>qq_39735504</author><pubDate>Wed, 18 Sep 2019 10:01:46 +0800</pubDate><description><![CDATA[1．360官网去下载一个360加固助手，解压安装包．

2．cd 进入jiagu文件夹内

3．进入.jar文件的同时输入用户名密码


java -jar ./jiagu.jar -login 用户名 密码


4．出现login success，下一步 ~/***.jks是jks文件的目录，后面依次是jks密码，别名，别名密码


java -jar ./jiagu.jar -imports...]]></description><category></category></item><item><title><![CDATA[RxJava2 操作符和线程控制]]></title><link>https://blog.youkuaiyun.com/qq_39735504/article/details/84639035</link><guid>https://blog.youkuaiyun.com/qq_39735504/article/details/84639035</guid><author>qq_39735504</author><pubDate>Sat, 06 Jul 2019 09:37:33 +0800</pubDate><description><![CDATA[一、创建操作符

 在上一篇RxJava的使用中讲到create，just，fromArray创建操作符，在这里讲述interval 、range和repeat。

  1.interval

 创建一个按固定时间间隔发射整数序列的Observable，并且Observable会收到递增至，相当于定时器，如下：


   Observable observable...]]></description><category></category></item><item><title><![CDATA[Rrtrofit封装框架]]></title><link>https://blog.youkuaiyun.com/qq_39735504/article/details/94830962</link><guid>https://blog.youkuaiyun.com/qq_39735504/article/details/94830962</guid><author>qq_39735504</author><pubDate>Sat, 06 Jul 2019 09:34:22 +0800</pubDate><description><![CDATA[1.添加方法:


allprojects{

  repositroies{
  
     ....
     
    maven { url 'https://jitpack.io' }
    
  }

}




dependencies {

  /*网络请求框架*/

  implementation 'com.github.AgnoiY:RetrofitFrame:1.1.9...]]></description><category></category></item><item><title><![CDATA[android 双击动画点赞效果]]></title><link>https://blog.youkuaiyun.com/qq_39735504/article/details/81840270</link><guid>https://blog.youkuaiyun.com/qq_39735504/article/details/81840270</guid><author>qq_39735504</author><pubDate>Sun, 19 Aug 2018 18:31:16 +0800</pubDate><description><![CDATA[
1.模仿抖音双击点赞效果
public class AnimatorLove extends RelativeLayout {
    private Context mContext;
    float[] num = {-30, -20, 0, 20, 30};//随机心形图片角度
    long[] mHits = new long[2];

    public AnimatorLo...]]></description><category></category></item><item><title><![CDATA[Android 浏览器分享到APP]]></title><link>https://blog.youkuaiyun.com/qq_39735504/article/details/80916702</link><guid>https://blog.youkuaiyun.com/qq_39735504/article/details/80916702</guid><author>qq_39735504</author><pubDate>Wed, 04 Jul 2018 18:21:55 +0800</pubDate><description><![CDATA[1.在配置文件添加权限&amp;lt;uses-permission android:name=&quot;com.android.launcher.permission.INSTALL_SHORTCUT&quot; /&amp;gt;2.在配置文件中给分享到APP的界面（Acticiy）添加intent-filter&amp;lt;intent-filter&amp;gt;
    &amp;lt;action android:name=&quot;android...]]></description><category></category></item><item><title><![CDATA[详细讲解Android Studio中用Git——结合GitLab]]></title><link>https://blog.youkuaiyun.com/qq_39735504/article/details/80874020</link><guid>https://blog.youkuaiyun.com/qq_39735504/article/details/80874020</guid><author>qq_39735504</author><pubDate>Sun, 01 Jul 2018 14:19:49 +0800</pubDate><description><![CDATA[1. 前言以前项目版本管理工具一直使用的都是SVN，现在换成Git，并且项目托管平台用的是GitLab。尽管经常使用GitHub，但是却很少用到分支，由于都是自己在写，也不使用开发版与发布版、打Tag那些，所以这里也详细讲下Git的用。这篇文章还是会按我以前的写作风格，写的浅显易懂，并且全程自己操作一遍，目的是为了初学者也可以看懂。2. 简介Git：Git是一个开源的分布式版本控制系统，能有效、高...]]></description><category></category></item><item><title><![CDATA[DataBinding的基本使用]]></title><link>https://blog.youkuaiyun.com/qq_39735504/article/details/80872048</link><guid>https://blog.youkuaiyun.com/qq_39735504/article/details/80872048</guid><author>qq_39735504</author><pubDate>Sun, 01 Jul 2018 10:26:55 +0800</pubDate><description><![CDATA[1.DataBinding介绍2015年谷歌I/O大会上介绍了一个框架DataBinding，DataBinding是一个数据绑定框架，以前我们在Activity里写很多的findViewById，现在如果我们使用DataBinding，就可以抛弃findViewById。DataBinding主要解决了两个问题： - 需要多次使用findViewById，损害了应用性能且令人厌烦 - 更新UI数...]]></description><category></category></item><item><title><![CDATA[Android 马甲包制作流程]]></title><link>https://blog.youkuaiyun.com/qq_39735504/article/details/80078259</link><guid>https://blog.youkuaiyun.com/qq_39735504/article/details/80078259</guid><author>qq_39735504</author><pubDate>Wed, 25 Apr 2018 14:26:20 +0800</pubDate><description><![CDATA[一、马甲包的制作流程1.配置马甲包的applicationId以及应用名称在app的build.gradle文件中添加马甲包的配置android {
    signingConfigs {
        config {
            keyAlias '****'
            keyPassword '****'
            storeFile file('...]]></description><category></category></item><item><title><![CDATA[BitmapRegionDecoder加载超大图片]]></title><link>https://blog.youkuaiyun.com/qq_39735504/article/details/79986393</link><guid>https://blog.youkuaiyun.com/qq_39735504/article/details/79986393</guid><author>qq_39735504</author><pubDate>Wed, 18 Apr 2018 11:28:24 +0800</pubDate><description><![CDATA[1.BitmapRegionDecoder提供了一系列的newInstance方法来构造对象，支持传入文件路径，文件描述符，文件的inputstrem等


if (o instanceof String) {
    inputStream = new FileInputStream((String) o);
    // 根据图片对应的BitmapRegionDecoder对象
    mBi...]]></description><category></category></item><item><title><![CDATA[Glide设置和获取缓存的路径]]></title><link>https://blog.youkuaiyun.com/qq_39735504/article/details/79975473</link><guid>https://blog.youkuaiyun.com/qq_39735504/article/details/79975473</guid><author>qq_39735504</author><pubDate>Tue, 17 Apr 2018 15:32:12 +0800</pubDate><description><![CDATA[1.接口GlideModule实现GlideBuider的实现类指定缓存的路径


public class GiphyGlideModule implements GlideModule {
    
    public GiphyGlideModule( ) {
    }

    @Override
    public void applyOptions(Context context...]]></description><category></category></item><item><title><![CDATA[Android 8.0系统，版本升级不跳转应用安装页面]]></title><link>https://blog.youkuaiyun.com/qq_39735504/article/details/79924672</link><guid>https://blog.youkuaiyun.com/qq_39735504/article/details/79924672</guid><author>qq_39735504</author><pubDate>Fri, 13 Apr 2018 10:29:46 +0800</pubDate><description><![CDATA[1.在AndroidManifest.xml文件中，添加REQUEST_INSTALL_PACKAGES权限


&amp;lt;uses-permission android:name=&quot;android.permission.REQUEST_INSTALL_PACKAGES&quot; /&amp;gt;

2.在打开安装包的代码中添加兼容Android 8.0的代码。


/**
 * 打开安装包 
 *
 * @pa...]]></description><category></category></item><item><title><![CDATA[Android Fragment 静态和动态使用]]></title><link>https://blog.youkuaiyun.com/qq_39735504/article/details/79895440</link><guid>https://blog.youkuaiyun.com/qq_39735504/article/details/79895440</guid><author>qq_39735504</author><pubDate>Wed, 11 Apr 2018 13:52:28 +0800</pubDate><description><![CDATA[1、Fragment的产生与介绍Android运行在各种各样的设备中，有小屏幕的手机，超大屏的平板甚至电视。针对屏幕尺寸的差距，很多情况下，都是先针对手机开发一套app，然后拷贝一份，修改布局以适应什么超级大屏的。一个app可以同时适应手机和平板，那就是Fragment。可以把Fragment当成Activity一个界面的一部分，甚至Activity的界面由完全不同的Fragment组成，Frag...]]></description><category></category></item><item><title><![CDATA[RxJava的使用基本用法]]></title><link>https://blog.youkuaiyun.com/qq_39735504/article/details/79863071</link><guid>https://blog.youkuaiyun.com/qq_39735504/article/details/79863071</guid><author>qq_39735504</author><pubDate>Mon, 09 Apr 2018 11:35:23 +0800</pubDate><description><![CDATA[一.RxJava是一个实现异步操作的库

二.观察者模式

    观察者：监视着被观察者的行为，当被观察者某个状态改变的时候会通知观察者，观察者会执行对应的操作；

    被观察者：被监视的对象，当某个状态改变的时候会通知观察者；

    订阅（或注册）：将观察者和被观察者建立联系。

常用的例子：点击Button后触发OnClickListener中的onClick()事件。在这个事件中他...]]></description><category></category></item><item><title><![CDATA[Android MD5加密（32位）和 Base64加密解密]]></title><link>https://blog.youkuaiyun.com/qq_39735504/article/details/79824773</link><guid>https://blog.youkuaiyun.com/qq_39735504/article/details/79824773</guid><author>qq_39735504</author><pubDate>Thu, 05 Apr 2018 11:11:03 +0800</pubDate><description><![CDATA[1.MD5加密数据/**
 * &amp;lt;加解密实现类&amp;gt;
 */
public class SecurityUtils {
    /**
     * md5加密
     *
     * @param str
     * @return
     */
    public final static String get32MD5Str(String str) {
        if...]]></description><category></category></item><item><title><![CDATA[Android CrashHandler异常捕获类]]></title><link>https://blog.youkuaiyun.com/qq_39735504/article/details/79811946</link><guid>https://blog.youkuaiyun.com/qq_39735504/article/details/79811946</guid><author>qq_39735504</author><pubDate>Thu, 05 Apr 2018 09:18:11 +0800</pubDate><description><![CDATA[1.新建一个类继承UncaughtExceptionHandler

2.通过thread.setDefaullUncaughtExceptionHandler 将本类设置为app默认的UncaughtException处理类

3.重写 UncaughtException如果用户没有处理，默认让系统处理；

4.重写 handlerException处理了返回true，在这个方法中保存错误日志，...]]></description><category></category></item><item><title><![CDATA[Android 蓝牙API详解和连接使用]]></title><link>https://blog.youkuaiyun.com/qq_39735504/article/details/79804509</link><guid>https://blog.youkuaiyun.com/qq_39735504/article/details/79804509</guid><author>qq_39735504</author><pubDate>Tue, 03 Apr 2018 15:59:29 +0800</pubDate><description><![CDATA[1.蓝牙开发有两个主要的APIBuletoothAdapter：本地蓝牙的适配器，也就是说当前应用程序所运行的Android设备上的蓝牙BuletoothDevice  ： 远程的蓝牙适配器，也就是说你要连接的Android设备的适配器。2.蓝牙权限 ：android.permission.BLUETOOTH : 允许程序连接到已配对的蓝牙设备, 请求连接/接收连接/传输数据需要改权限, 主要用于...]]></description><category></category></item><item><title><![CDATA[Android build apk菜单]]></title><link>https://blog.youkuaiyun.com/qq_39735504/article/details/79755493</link><guid>https://blog.youkuaiyun.com/qq_39735504/article/details/79755493</guid><author>qq_39735504</author><pubDate>Fri, 30 Mar 2018 11:47:16 +0800</pubDate><description><![CDATA[android studio build --&amp;gt; build apk菜单：在build.gradle正确设置下面的签名内容signingConfigs {
    releaseSign {
        storeFile file(&quot;keystore/***.jks&quot;);
        storePassword &quot;*******&quot;
        keyAlias &quot;***&quot;
  ...]]></description><category></category></item><item><title><![CDATA[Androiod RecycleView的滑动实现标题栏透明度渐变]]></title><link>https://blog.youkuaiyun.com/qq_39735504/article/details/79744704</link><guid>https://blog.youkuaiyun.com/qq_39735504/article/details/79744704</guid><author>qq_39735504</author><pubDate>Thu, 29 Mar 2018 16:22:05 +0800</pubDate><description><![CDATA[1.注意：透明度都是[0,255]/**
 * 设置标题栏背景透明度
 * @param alpha 透明度
 */
private void setSystemBarAlpha(int alpha) {
    if (alpha &amp;gt;= 225) {
        alpha = 255;
    }
    text.getBackground().setAlpha(alpha);
}...]]></description><category></category></item></channel></rss>