自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蒋东国的博客

不是因为看到希望才坚持,而是坚持了才能看到希望!

  • 博客(101)
  • 资源 (8)
  • 论坛 (2)
  • 收藏
  • 关注

原创 Rasa中文聊天机器人开发指南(3):Core篇
原力计划

文章目录1. 对话管理1.1 多轮对话1.2 对话管理2. Rasa Core2.1 Stories2.2 Domain2.3 Responses2.4 Actions2.5 Policies2.6 Slots2.6.1 Slots Type2.6.2 Slots Set2.6.3 Slots Get2.7 Form2.8 Interactive Learning3. 改进ChitChatAssi...

2020-04-10 15:30:46 7172 48

原创 Rasa中文聊天机器人开发指南(2):NLU篇
原力计划

文章目录1. 什么是NLU2. NLU训练数据2.1 NLU样本格式2.2 验证数据有效性2.2.1 使用命令2.2.2 使用代码2. Rasa NLU Components2.1 词向量资源(Word Vector Sources)2.1.1 MitieNLP2.1.2 SpacyNLP2.2 分词(Tokenizers)2.2.1 WhitespaceTokenizer2.2.2 Jieb...

2020-02-27 10:28:46 12373 24

原创 Rasa中文聊天机器人开发指南(1):入门篇

文章目录1. Rasa简介与安装1.1 Rasa简介1.2 Rasa安装(v1.7.0)1.1 Ubuntu 16.04环境1.2 Windows10环境2. Rasa使用--构建简单聊天机器人2.1 构建NLU样本2.1.1 nlu.md2.2 构建Core样本2.2.1 stories.md2.2.2 domain.yml2.3 训练NLU和CORE模型2.3.1 config.yml2.3....

2020-02-15 17:08:01 19050 130

原创 Android直播开发之旅(10):AndroidUSBCamera,UVCCamera开发通用库

AndroidUSBCamera基于[saki4510t/UVCCamera](https://github.com/saki4510t/UVCCamera)开发,该项目对USB Camera(UVC设备)的使用和视频数据采集进行了高度封装,能够帮助开发者通过几个简单的API实现USB Camera设备的检测、连接、预览和音视频数据采集,最重要的是手机无需root,只需支持otg功能即可驱...

2017-10-23 22:22:09 57923 774

原创 路由框架ARouter的使用与原理分析

Arouter简介 ARouter是阿里开源的一款路由框架,为组件化提供解决方案,它支持解析标准URL进行跳转,并自动注入参数到目标页面中;支持添加多个拦截器,自定义拦截顺序。所谓组件化就是将APP按照一定的功能和业务拆分成多个小组件,不同的组件由不同的开发小组来负责,这样就可以解决大型APP开发过程中的开发与协作的问题,将这些问题分散到小的APP中。(1)原生路由方案:使用显示Intent和隐式Intent跳转显示Intent存在直接依赖,耦合度过高;隐式Intent存在规则集中式管理Path

2021-04-21 20:07:47

原创 网络请求框架OkHttp4的使用与原理解析01:任务调度与拦截器分析

OkHttp任务调度流程:1. OkHttpClient构建过程分析案例:OkHttpClient client = new OkHttpClient.Builder() .addInterceptor(new CustomInterceptor()) .cache(new Cache(cacheDir, cacheSize)) .readTimeout(1000, TimeUnit.MILLISECONDS) .writeTimeout(1000,

2021-04-21 20:03:52 6

原创 网络调度框架Retrofit2的使用与原理解析

 Retrofit是squareup公司的开源力作,和同属squareup公司开源的OkHttp,一个负责网络调度,一个负责网络执行,为Android开发者提供了即方便又高效的网络访问框架。Retrofit并不做网络请求,只是生成一个能做网络请求的对象,同时能够灵活的支持功能扩展,如自定义拦截器、网络请求适配器、数据转换适配器。1. Retrofit实例构建过程分析案例:Retrofit retrofit = new Retrofit.Builder() .baseUr

2021-04-21 20:00:02 1

原创 Jetpack框架探究03:ViewModel组件的使用与源码分析

 ViewModel 具备宿主生命后期感知能力的数据存储组件,使用 ViewModel 保存的数据,在页面因配置变更导致页面销毁重建之后依然也是存在的,其中配置变更主要是指横竖屏切换、分辨率调整、权限变更、系统字体样式变更。ViewModel 的优势:页面更改数据不丢失 当设备因配置更改导致 Activity/Fragment 重建,ViewModel 中的数据并不会因此而丢失,配合 LiveData 可以在页面重建后立马能收到最新保存的数据用以重新渲染页面。生命周期感应 在 View

2021-04-12 19:51:42 3614 1

原创 Jetpack框架探究02:LiveData组件的使用与源码分析

总目录Jetpack框架探究01:Lifecycle组件的使用与源码分析Jetpack框架探究02:LiveData组件的使用与源码分析Jetpack框架探究03:ViewModel组件的使用与源码分析Jetpack框架探究04:Room组件的使用与源码分析Jetpack框架探究05:WorkerManager组件的使用与源码分析1. LiveData简介1.1 LiveData基本使用 LiveData是JetPack提供的基于观察者的消息订阅/分发组件,是一种可观察的数据存储器类,同时它

2021-01-21 20:25:48 143

原创 Jetpack框架探究01:Lifecycle组件的使用与源码分析

1. Lifecycle简介 Lifecycle是Android Jetpack框架提供的能够感知组件(宿主)生命周期变化的组件,它能持有宿主(如Activity或Fragment)生命周期状态的信息,并且允许其他观察者注册监听宿主的生命周期状态变化,这就使得我们不用主动去获取宿主的状态,有利于降低代码耦合度并更容易维护。Lifecycle是JetPack组件库的核心基础,很多其他的Jetpack组件,比如LiveData、ViewMoedel等,都是基于它实现的。1.1 Lifecycle基本使用 

2021-01-09 20:40:23 5907 10

原创 LearnOpenGL从入门到入魔(3):绘制纹理

总目录LearnOpenGL从入门到入魔(1):OpenGL简介LearnOpenGL从入门到入魔(2):绘制2D图形LearnOpenGL从入门到入魔(3):绘制纹理LearnOpenGL从入门到入魔(4):绘制3D图形LearnOpenGL从入门到入魔(5):简单滤镜效果LearnOpenGL从入门到入魔(6):光照(光照基础,材质)LearnOpenGL从入门到入魔(7):光照(光照贴图,投光物)1. GLSL GLSL,OpenGL Shader Language缩写,即OpenG

2020-12-31 14:59:45 390

原创 LearnOpenGL从入门到入魔(2):绘制2D图形

总目录LearnOpenGL从入门到入魔(1):什么是OpenGL?LearnOpenGL从入门到入魔(2):如何使用OpenGL?LearnOpenGL从入门到入魔(3):着色器语言和坐标系统LearnOpenGL从入门到入魔(4):光照(光照基础,材质)LearnOpenGL从入门到入魔(5):光照(光照贴图,投光物)1. OpenGL基本概念1.1 图像渲染管线 在OpenGL中,任何事物都在3D空间中,而屏幕和窗口却是2D像素数组,这导致OpenGL的大部分工作都是关于把3D坐标转变

2020-12-21 14:18:53 2589 5

原创 LearnOpenGL从入门到入魔(1):OpenGL简介

总目录LearnOpenGL从入门到入魔(1):OpenGL简介与环境搭建LearnOpenGL从入门到入魔(2):OpenGL基本使用LearnOpenGL从入门到入魔(3):着色器,纹理LearnOpenGL从入门到入魔(4):坐标系统,摄像机LearnOpenGL从入门到入魔(5):光照(光照基础,材质)LearnOpenGL从入门到入魔(6):光照(光照贴图,投光物)1. OpenGL简介 OpenGL本身并不是一个API,它仅仅是一个由Khronos组织制定并维护的规范(Speci

2020-12-10 14:43:08 412

原创 Flutter开发指南之理论篇:Dart语法05(单线程模型,事件循环模型,Isolate)

总目录Flutter开发指南之理论篇:Dart语法01(数据类型,变量,函数)Flutter开发指南之理论篇:Dart语法02(运算符,循环,异常)Flutter开发指南之理论篇:Dart语法03(类,泛型)Flutter开发指南之理论篇:Dart语法04(库,异步,正则表达式)Flutter开发指南之理论篇:Dart语法05(单线程模型,事件循环模型,Isolate) Dart是一门面向对象语言,它针对web 和移动设备开发进行了优化,主要特点为:一切皆对象!无论是数字,函数还是null

2020-12-07 23:49:43 9123 1

原创 Flutter开发指南之理论篇:Dart语法04(库,异步,正则表达式)

总目录Flutter开发指南之理论篇:Dart语法01(数据类型,变量,函数)Flutter开发指南之理论篇:Dart语法02(运算符,循环,异常)Flutter开发指南之理论篇:Dart语法03(类,泛型)Flutter开发指南之理论篇:Dart语法04(库,异步,正则表达式)Flutter开发指南之理论篇:Dart语法05(消息循环模型) Dart是一门面向对象语言,它针对web 和移动设备开发进行了优化,主要特点为:一切皆对象!无论是数字,函数还是null,所有对象继承自Object

2020-12-02 22:52:21 322

原创 Flutter开发指南之理论篇:Dart语法03(类,泛型)

总目录Flutter开发指南之理论篇:Dart语法01(数据类型,变量,函数)Flutter开发指南之理论篇:Dart语法02(运算符,循环,异常)Flutter开发指南之理论篇:Dart语法03(类,泛型)Flutter开发指南之理论篇:Dart语法04(库,异步,正则表达式) Dart是一门面向对象语言,它针对web 和移动设备开发进行了优化,主要特点为:一切皆对象!无论是数字,函数还是null,所有对象继承自Object类;声明一个变量时可以不指定具体类型,Dart可以自动推断类型;

2020-11-28 17:20:15 389

原创 Flutter开发指南之理论篇:Dart语法02(运算符,循环,异常)

总目录Flutter开发指南之理论篇:Dart语法01(数据类型,变量,函数)Flutter开发指南之理论篇:Dart语法02(运算符,循环,异常)Flutter开发指南之理论篇:Dart语法03(类,泛型)Flutter开发指南之理论篇:Dart语法04(正则表达式,异步库) Dart是一门面向对象语言,它针对web 和移动设备开发进行了优化,主要特点为:一切皆对象!无论是数字,函数还是null,所有对象继承自Object类;声明一个变量时可以不指定具体类型,Dart可以自动推断类型;

2020-11-26 19:54:47 234

原创 Flutter开发指南之理论篇:Dart语法01(数据类型,变量,函数)

 Dart是一门面向对象语言,它针对web 和移动设备开发进行了优化,主要特点为:一切皆对象!无论是数字,函数还是null,所有对象继承自Object类;声明一个变量时可以不指定具体类型,Dart可以自动推断类型;Dart支持顶层函数,函数是一等对象,且函数可作为参数传递;Dart使用_开头表示私有属性,没有关键字public,protected和private;1. 数据类型 在Dart中,支持的数据类型有:Number,String,Boolean,List,Map,Set,Rune,这

2020-11-26 17:45:07 316

原创 Android直播开发之旅(25):使用AES算法加密多媒体文件(+RSA+MD5+Base64)

文章目录1. AES算法1.1 AES加密过程1.1.1 字节代替(SubBytes)1.1.2 行移位(ShiftRows)1.1.3 列混合(MixColumns)1.1.4 加轮密钥(AddRoundKey)1.2 AES加解密实现1.2.1 创建密钥1.2.2 AES加密1.2.3 AES解密1.3 AES与DES的对比2. RSA算法2.1 RSA算法原理2.2 RSA加解密实现2.2....

2020-02-12 18:06:44 3698

原创 从Android 8.0源码的角度剖析线程池原理

在计算机系统中,进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的基本单位,每个进程都拥有自己私有的地址空间,且进程之间是相互独立的。线程是操作系统调度的最小单位,它可以说是进程的组成部分,在一个进程中可以创建多个线程,这些线程都拥有各自计数器、堆栈和局部变量等属性,但是不再拥有系统资源,它与进程中的其他线程共享该进程所拥有的全部资源,或称共享内存变量。线程是独立运行的,且采用抢占...

2020-02-10 13:26:54 2298

原创 当Android遇上设计模式之观察者(Observer)模式

文章目录1. 观察者模式定义2. 观察者模式实现3. 观察者模式使用场景3.1 优点3.2 缺点3.3 使用场景1. 观察者模式定义 观察者模式又称发布-订阅模式,是行为型设计模式的一种,所谓行为型模式就是主要处理类或对象如何交互及如何分配职责。观察者模式经常在项目中被用到,它的定义为:定义对象间一种一对多的依赖关系,每当一个对象改变状态时,则所有依赖于它的对象都会得到通知并自动被更新。观察者...

2020-02-01 20:18:54 3237

原创 当Android遇上设计模式之代理(Proxy)模式

文章目录1. 代理模式1.1 代码实现1.2 使用场景2. 静态代理与动态代理设计模式六大原则:单一职责原则:就一个类仅有一个引起它变化的原因,即类承担的职责单一性;开放封闭原则:类、模块、函数等应该是可以扩展的,但是不可修改。换句话说,就是面对需求的改变要尽可能地保证相对稳定,尽量通过扩展的方式而不是修改原有的代码来实现。里氏替换原则:所有引用基类(父类)的地方必须透明地使...

2020-01-31 21:25:33 4571 3

原创 当Android遇上设计模式之工厂方法(Factory)模式

文章目录1. 简单工厂模式2.1 定义2.2 代码实现2.3 使用场景2. 工厂方法模式2.1 定义2.2 代码实现2.3 使用场景设计模式六大原则:单一职责原则:就一个类仅有一个引起它变化的原因,即类承担的职责单一性;开放封闭原则:类、模块、函数等应该是可以扩展的,但是不可修改。换句话说,就是面对需求的改变要尽可能地保证相对稳定,尽量通过扩展的方式而不是修改原有的代码来实现。...

2020-01-31 15:27:19 2814

原创 当Android遇上设计模式之单例(Singleton)模式

文章目录1. 单例模式定义2. 单例模式实现2.1 饿汉模式2.2 懒汉模式2.3 双重检查模式(DCL)2.4 静态内部类单例模式2.5 枚举单例3. 单例模式的使用场景设计模式六大原则:单一职责原则:就一个类仅有一个引起它变化的原因,即类承担的职责单一性;开放封闭原则:类、模块、函数等应该是可以扩展的,但是不可修改。换句话说,就是面对需求的改变要尽可能地保证相对稳定,尽量通过扩...

2020-01-30 21:48:23 2231

原创 内存泄漏分析框架LeakCanary的使用与原理解析

文章目录1. 常见内存泄漏1.1 “单例模式” 造成的内存泄漏1.2 “静态实例” 造成内存泄漏1.3 “Handler” 造成的内存泄漏1.4 “线程” 造成的内存泄漏1.5 “使用WebView” 造成的内存泄漏2. LeakCanary使用与原理解析2.1 LeakCanary使用方法2.2 LeakCanary原理解析 在《Android性能优化(1):常见内存泄漏与优化(一)》和《An...

2020-01-12 21:52:16 5633

原创 2020,远征 ● 起航!(博客目录)

 最近一段时间抽空对之前积累的一些知识点进行了总结、扩展,为了更便捷地查阅与相关知识点对应的文章,本文对本博客的现有的所有文章进行了归纳、汇总。具体章节如下:1. Android源码分析1. 从Android源码的角度剖析UI界面架构2. 从Android源码的角度剖析View的绘制原理3. 从Android源码的角度剖析Window内部机制原理4. 从Android源码的角度剖析Act...

2019-12-31 20:40:38 3023 2

原创 Android性能优化(6):浅析类加载机制与热修复技术

文章目录1. 类加载与反射1.1 类加载机制1.1.1 类加载器1.1.1.1 Java中的ClassLoader1.1.1.2 Android中的ClassLoader1.1.2 双亲委托模式1.1.3 ClassLoader的加载过程1.1.4 类的链接1.1.5 类的初始化1.2 Java反射机制2. 热修复技术2.1 热修复方案2.1.1 Tinker2.1.2 QZone超级补丁2.1...

2019-12-29 18:20:29 3005 1

原创 依赖注入框架ButterKnife的使用与原理解析

文章目录1. 注解与依赖注入1.1 注解1.1.1 注解分类1.1.2 注解处理器1.2 依赖注入2. ButterKnife框架2.1 ButterKnife的基本使用2.2 ButterKnife原理解析2.2.1 创建各类注解类2.2.2 ButterKnife的注解处理器2.2.3 ButterKnife的bind方法1. 注解与依赖注入1.1 注解 从JDK 5.0开始,Java增...

2019-12-27 15:50:37 5022 2

原创 事件总线框架EventBus的使用与原理解析

文章目录1. EventBus框架1.1 EventBus简介1.2 EventBus基本使用1.2.1 添加Gradle依赖1.2.2 定义事件1.2.3 准备订阅者1.2.4 发布事件2. EventBus原理解析2.1 订阅者注册过程2.2 订阅者注销过程2.3 事件发布过程3. EventBus性能优化 事件总线模式基于发布-订阅机制实现,它是一种集中式事件处理机制,允许不同的组件之间进...

2019-12-21 16:47:36 9401

原创 从Android 8.0源码的角度剖析APP的启动过程

文章目录1. 应用进程启动过程1.1 AMS向Zygote进程发起请求1.2 Zygote进程接受请求2. Activity启动过程2.1 应用程序的Appication启动过程2.2 应用程序的根Activity启动过程在从Android 8.0源码的角度剖析Android系统启动过程(2)一文中,我们了解到当ActivitiyManagerService服务被启动后,就会通过Intent以...

2019-12-14 02:20:32 6622 4

原创 Android性能优化(5):APK瘦身优化

文章目录1. APK文件结构2. APK瘦身优化2.1 优化dex文件大小2.1.1 Proguard2.1.2 AndResGuard2.2 优化资源文件大小2.2.1 Android Lint2.2.2 [tinypng](http://leonshi.com/2015/11/02/tinypng-compress/)2.2.3 WebP2.3 优化libs目录大小2.3.1 裁剪libs目录...

2019-12-10 21:49:01 2265

原创 从Android 8.0源码的角度剖析Android系统启动过程(2)

文章目录1. SystemServer进程1.1 启动Binder线程池1.2 启动系统服务1.2.1 启动Bootstrap(引导)服务1.2.2 启动Core(核心)服务1.2.3 启动Other(其他)服务2. Launcher进程在从Android 8.0源码的角度剖析Android系统启动过程(1)一文中,我们介绍了Android系统启动过程中的init进程和Zygote进程的启动流...

2019-12-06 23:36:11 1484

原创 从Android 8.0源码的角度剖析Android系统启动过程(1)

文章目录1. init进程启动过程1.1 解析init.rc文件1.2 启动Zygote进程2. Zygote进程启动过程2.1 启动SystemServer进程2.2 创建Zygote进程的Server socket 在《嵌入式Linux应用开发完全手册》一书中,我们可以较为清晰地了解到Android系统启动的大体流程:当用户按下Android设备的电源键时,CPU上电后会从0x0000000...

2019-12-05 10:27:33 1615

原创 从Android 8.0源码的角度剖析APK打包、安装过程

文章目录1. APK打包过程1.1 APK文件结构1.2 APK打包过程2. APK安装过程2.1 拷贝APK2.2 解析APK APK,全称Android Application Package,即Android应用程序包,是Android系统使用的一种应用程序包文件格式,它的作用是将Android程序和资源整合在一起,以便Android程序能在Android设备上正常运行。简单地说,就是一个...

2019-11-29 22:22:56 1537

原创 Android直播开发之旅(18):FFmpeg中滤镜(filter)的工作原理

文章目录1. 什么是滤镜1.1 简单滤镜(滤镜链)1.2 复杂滤镜(滤镜图)2. 滤镜API介绍与使用2.1 滤镜API介绍2.1.1 结构体2.1.2 功能函数2.2 滤镜API的使用2.2.1 配置滤镜图2.2.2 使用滤镜图1. 什么是滤镜 滤镜(filter)是指将未经过处理的原始音频帧(如PCM)或视频帧(如YUV、RGB)经过滤镜器处理后,得到具体“特殊效果”的音频帧或视频帧,比...

2019-11-21 14:54:36 2297 1

原创 Android性能优化(4):UI渲染机制以及优化

文章目录1. 渲染机制分析1.1 渲染机制1.2 卡顿现象1.3 内存抖动2. 渲染优化方式2.1 过度绘制优化2.1.1 Show GPU overdraw2.1.2 Profile GPU Rendering2.2 卡顿优化2.2.1 SysTrace2.2.2 TraceView在从Android 6.0源码的角度剖析View的绘制原理一文中,我们了解到View的绘制流程有三个步骤,即m...

2019-11-20 09:38:34 8994 4

原创 Android性能优化(2):常见内存泄漏与优化(二)

文章目录1. Android虚拟机:Dalvik和ART1.1 JVM与Dalvik区别1.2 Dalvik与ART区别1.3 Dalvik/ART的启动流程2. 常见内存分析工具2.1 Android Profiler2.1.1 Allocation Tracker2.1.2 Heap Dump2.2 MAT2.3 LeakCanary在Android性能优化(1):常见内存泄漏与优化(一...

2019-11-07 16:20:20 1708 6

原创 Android直播开发之旅(17):使用FFmpeg提取MP4中的H264和AAC

最近在开发中遇到了一个问题,即无法提取到MP4中H264流的关键帧进行处理,且保存到本地的AAC音频也无法正常播放。经过调试分析发现,这是由于解封装MP4得到的H264和AAC是ES流,它们缺失解码时必要的起始码/SPS/PPS和adts头。虽说在Android直播开发之旅(3):AAC编码格式分析与MP4文件封装一文中对MP4有过简单的介绍,但为了搞清楚这个问题的来龙去脉,本文的开始还是有必要...

2019-10-21 15:55:44 3314 2

原创 Android性能优化(1):常见内存泄漏与优化(一)

 a众所周知,Java因其拥有独特的虚拟机(JVM)设计,使其成为一门跨平台、内存自动管理的高级开发语言。所谓跨平台,即"一次编译,多次运行",从而解决了不同平台由于编译器不同导致无法运行问题;所谓内存自动管理,即Java不像C/C++那样需要开发者来分配、释放内存,它拥有一套垃圾回收机制来管理内存,这套机制减轻了很多潜在的内存回收不当问题。然而,虽然Java的垃圾回收机制非常优秀,但当我们在写...

2019-10-09 18:01:47 1690 1

原创 Android直播开发之旅(16):使用FFmpeg保存网络流到本地文件

在Amdroid直播开发之旅(5):详解ffmpeg编译与在Android平台上的移植和Android直播开发之旅(12):初探FFmpeg开源框架文章中,我们分别探讨了FFmpeg的编译移植、FFmpeg框架和相关重要结构体。本文就在此基础上,将详细阐述FFmpeg的裁剪移植,以便剔除不必要的功能,达到为APK"瘦身"的效果,同时,写了一个将网络流保存到本地文件的实战案例,以加深对FFmpeg...

2019-09-27 15:27:19 3207 9

探讨一种新型的双进程守护应用保活方法(双进程守护Demo)

博文:http://blog.csdn.net/andrexpert/article/details/53485360 双进程守护Demo

2016-12-06

git入门教程.docx

git入门教程.docx

2020-12-17

使用CollapsingToolbarLayout、Toolbar, CoordinatorLayout, AppBarLayout实现可折叠状态栏

使用support-design库提供的CollapsingToolbarLayout控件。CollapsingToolbarLayout是一个作用在Toolbar基础之上的布局,它不仅能够展示一个标题,而且可以让Toolbar效果变得更加的丰富..博客地址:http://blog.csdn.net/andrexpert/article/details/61236581

2017-03-11

Android6.0新权限管理详解Demo

从Google官方文档可知,Android系统升级到6.0后,它的权限系统被重新设计。相比原来新安装的APP系统会一次性授予所有权限和用户无法管理APP权限的不足,新的权限系统不再允许新安装的APP一次性获得所有权限,APP必须在运行时一个一个地询问用户授予权限,甚至有时候都不会主动申请用户授权,开发者不得不自己去检测和请求用户授予来获得权限。。。详见博文:http://blog.csdn.net/andrexpert/article/details/53331836

2016-12-28

AccessibilityService智能安装卸载APP

使用AccessibilityService实现APP的自动安装与卸载,博客地址:http://blog.csdn.net/andrexpert/article/details/53494776

2016-12-06

数据库ORM框架-GreenDao增删改查Demo

博文:http://blog.csdn.net/andrexpert/article/details/53572811

2016-12-11

探讨一种新型的双进程守护应用保活方法(单进程守护Demo)

博文:http://blog.csdn.net/andrexpert/article/details/53485360,单进程守护DEMO

2016-12-06

使用RecyclerView、CardView、SwipeRefreshLayout实现下拉刷新列表

RecyclerView是support-v7库提供的一个强大的滚动控件,它可以说是一个增强版的ListView,不仅可以轻松实现和ListView同样的效果,还优化了ListView中存在的各种不足。。。博文:http://blog.csdn.net/andrexpert/article/details/61419698

2017-03-11

点击最新评论无法定位到该评论

发表于 2019-01-13 最后回复 2019-01-13

还是老版本的好用,新版无法看到留言内容,编辑按钮找半天...

发表于 2018-04-10 最后回复 2018-05-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除