android
_xiaow_
这个作者很懒,什么都没留下…
展开
-
360加固框架Gradle实现
一款实现了360加固的Gradle插件,在自动编译打包后进行360加固流程操作。使用步骤1. 添加依赖在根build.gradle中添加:allprojects { repositories { maven { url "https://jitpack.io" } }}dependencies { ... classpath 'com.github.ixiaow:android-gradle-plugin:$version'}(请替换原创 2020-09-26 17:04:34 · 344 阅读 · 0 评论 -
Android 通过Intent简单实现分享功能
现在大多数App的分享功能基本上使用的都是微信、QQ、微博的分享sdk或者是集成友盟分享sdk,如果想简单快速的实现分享功能,可以考虑通过Intent方式打开在系统中安装的具有分享功能的App的分享页面。方法如下:public static List<ResolveInfo> shareIntentActivities(Context context){ Intent int...原创 2020-04-29 17:56:02 · 633 阅读 · 0 评论 -
Http二次封装思路
Http框架封装用过了现有的一些http请求框架,决定自己也来简单的封装一个。本文只是基于一些http请求框架二次封装的,高手勿喷。源码http的请求和响应一个http的请求通常包含请求头、请求体、响应头和响应体,考虑到这些因素,HttpConfig和 ApiResponse就诞生了。HttpConfigHttpConfighttp参数配置类,应该包含如下属性:baseUrl/ur...原创 2020-04-26 13:12:51 · 718 阅读 · 0 评论 -
Android Studio 相关操作的疑难杂症 (签名、多渠道打包、多种编译类型)
Android Studio 相关操作的疑难杂症在app下的build.gradle中添加一些配置信息可以减少打包步骤,提高效率。下面是我总结在开发中经常遇到的一些需求和解决方式。打不同的渠道包在 android studio 中可以在 app下的build.gradle中配置一些属性,就可以打不同的包:flavorDimensions &amp;amp;quot;default&amp;amp;quot; //这个在as 3.0上必须配置...原创 2018-10-24 15:20:03 · 398 阅读 · 0 评论 -
[MultiLayout](一个可以支持多行的TabLayout的Android库)
MultiLayout一个可以支持多行的TabLayout的Android库。目前主要支持的功能有:根据数据可以动态拆分添加多行Tab可以和ViewPager联合使用具备TabLayout的相关功能截图用法Step 1在根build.gradle中添加:allprojects { repositories { maven { url "https...原创 2018-11-14 09:53:40 · 1221 阅读 · 0 评论 -
Android DataBinding 基础使用
Android DataBinding 基础使用DataBinding 是google发布的一个数据绑定框架,用于降低布局和逻辑的耦合性,使代码逻辑更加清晰。大量减少 Activity 内的代码,数据能够单向或双向绑定到 layout 文件中,有助于防止内存泄漏,而且能自动进行空检测以避免空指针异常。环境配置详情内容请参考:https://developer.android.com/to...原创 2019-06-13 11:56:29 · 2476 阅读 · 3 评论 -
Android DataBinding单向绑定
Android DataBinding单向绑定一、Android DataBinding 基础使用二、Android DataBinding单向绑定DataBinding 是google发布的一个数据绑定框架,用于降低布局和逻辑的耦合性,使代码逻辑更加清晰。大量减少 Activity 内的代码,数据能够单向或双向绑定到 layout 文件中,有助于防止内存泄漏,而且能自动进行空检测以避免空...原创 2019-06-13 17:08:39 · 1922 阅读 · 0 评论 -
Android DataBinding 双向数据绑定、事件绑定、使用类方法
Android DataBinding 双向数据绑定、事件绑定、使用类方法一、Android DataBinding 基础使用二、Android DataBinding单向绑定双向数据绑定双向绑定的意思即为当数据改变时同时使视图刷新,而视图改变时也可以同时改变数据看以下例子,当 EditText的输入内容改变时,会同时同步到变量 user,绑定变量的方式比单向绑定多了一个等号:and...原创 2019-06-14 10:03:08 · 4451 阅读 · 0 评论 -
Android DataBinding 运算符、BindingAdapter、 BindingConversion
运算符基础运算符DataBinding 支持在布局文件中使用以下运算符、表达式和关键字算术 + - / * %字符串合并+逻辑&& ||二元& | ^一元 + - ! ~移位>> >>> <<比较== > < >= <=InstanceofGrouping ()character, ...原创 2019-06-19 09:39:51 · 5240 阅读 · 0 评论 -
Dagger 2 完全解析(一),基本使用与原理
Dagger 2 完全解析系列:Dagger 2 完全解析(一),Dagger 2 的基本使用与原理本系列文章是基于 Google Dagger 2.23.2 版本, Kotlin 1.3.21版本依赖注入什么是依赖依赖(Dependency) 是类与类之间的联接。依赖关系表示一个类依赖于另一个类的定义, 一般而言,依赖关系在语言中体现为局部变量、方法的形参,或者对静态方法的调用。...原创 2019-06-21 22:01:30 · 1732 阅读 · 1 评论 -
Dagger 2 完全解析(三),Component与SubComponent
Dagger 2 Component 与 SubComponentDagger 2 完全解析(一),基本使用与原理Dagger 2 完全解析(二), 进阶使用Dagger 2 完全解析(三), Component 与 SubComponent本系列文章是基于 Google Dagger 2.23.2 版本, Kotlin 1.3.21版本理解前面两篇文章后,可以使用 Dagge...原创 2019-06-26 21:45:53 · 2343 阅读 · 1 评论 -
Dagger2完全解析(二),进阶使用
Dagger 2 进阶使用Dagger 2 完全解析(一),基本使用与原理Dagger 2 完全解析(二), 进阶使用本系列文章是基于 Google Dagger 2.23.2 版本, Kotlin 1.3.21版本在Dagger 2 完全解析(一),基本使用与原理中介绍了 Dagger 2 基本使用,但是在实战中基本使用是远远不够的,我们还需要掌握一些其它的知识,下面由简入繁地讲...原创 2019-06-24 23:24:55 · 827 阅读 · 0 评论 -
Dagger 2 完全解析(四),在Android中的使用
Dagger 2 完全解析(四),在Android中的使用Dagger 2 完全解析(一),基本使用与原理Dagger 2 完全解析(二),进阶使用Dagger 2 完全解析(三), Component 与 SubComponentDagger 2 完全解析(四),在Android中的使用本系列文章是基于 Google Dagger 2.23.2 版本, Kotlin 1.3.21...原创 2019-07-14 22:17:03 · 806 阅读 · 0 评论 -
IOC反射注解框架
IOC 反射注解框架IOC 反射框架包含了java反射、注解(运行时)、Android相关的控件注入等Java反射在Android中反射无处不在,当我们观看Android源码的时候,你就会发现官方用了好多反射,我们反射构造方法、方法、成员变量、静态字段和类型等。由于篇幅有限,就不详细讲解了,就讲讲我经常用到的吧。反射会影响性能,请按需使用注意: 在反射私有的时候,需要设置set...原创 2018-10-11 21:54:23 · 289 阅读 · 0 评论 -
Java中代理对象
静态代理静态代理通常用于对原有业务逻辑的扩充 ,通过对真实对象的封装,来实现扩展性。三要素:共同接口public interface Action{ void doSomething();}真实对象public class RealObject implements Action{ public void doSomething(){ Sy...原创 2018-10-11 21:47:09 · 5354 阅读 · 0 评论 -
热修复
热修复装载请注明出处:https://blog.csdn.net/xiaowu_zhu/article/details/79792533热修复,其实已经不是一个新技术了,目前发展的也有好几种方案了,奈何,以前我并没有使用过,只是做了大致的了解,最近看了某位大神的简书,然后自己动手实践了吧,分析了哈原理,再次分享哈。在一次的版本发布后,突然发现某了某个小bug,或者优化了一些东西,我们不...原创 2018-04-02 17:41:36 · 399 阅读 · 0 评论 -
app 版本更新
版本更新: app 版本更新从服务器获取更新信息: 1.软件版本号 2. 升级信息 3. 软件下载的url private String version; private String description; private String downloadUrl; private String localUrl;根据获取的信息比对软件版本号//从服务器获取原创 2017-01-08 17:26:21 · 378 阅读 · 0 评论 -
android盒子的usb和串口之间的通信
android盒子的usb和串口之间的通信前段时间接触了一个android通过usb接口与串口之间的通信的项目,经过几天的摸索,最后已成功 解决。 从网上查找的资料的,大都是串口之间的通信,几乎很少有资料,所以本人当初也走了不少的弯路。通过查找,本次使用了第三方jar[d2xx.jar],当然了,除了这个jar,还有一些其它的一些开源项目,[PhysicaloidLibrary]等等,这些我都测试原创 2017-02-08 09:27:19 · 1332 阅读 · 4 评论 -
访问网络的框架(Volley和OkHttp3)使用
android 访问网络,最常使用的就是Volley和OkHttp3,这两个对于访问网络具有简单、高效等特点原创 2017-04-12 11:26:51 · 1651 阅读 · 0 评论 -
Activity
Activity是android与用户交互的组件,Activity中的所有操作都与用户密切相关,可以通过setContentView(View)来显示指定的控件。在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听处理用户的事件并作出反应。Activity形态Active/Running –> Paused –> Stop –> Killed生原创 2017-04-12 14:29:33 · 277 阅读 · 0 评论 -
Bitmap的高效加载和LruCache缓存
Bitmap高效加载Android应用程序都是有一定内存限制的,程序占用了过高的内存就容易出现OOM(OutOfMemory)异常。查看每个应用程序的最最高可用内存:int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024); Log.d("TAG", "Max memory is " + maxMemory + "KB");原创 2017-04-18 00:07:56 · 2755 阅读 · 2 评论 -
Kotlin ---- 环境搭建和命令行编译运行HelloWorld
Kotlin —- 环境搭建和命令行编译运行HelloWorld环境搭建(Windows)Kotlin的环境搭建很简单,如果不想折腾可以直接使用Android Studio 3。Kotlin的编译和运行是基于JVM6的,所以首先需要有java环境,即需要安装jdk.下载 Kotlin-compiler-1.1-M04.zip 编译环境(不一定是最新的)http://download.csdn原创 2017-06-08 17:21:40 · 2119 阅读 · 0 评论 -
Android 自定义控件xml设置属性
android view 自定义标签,可以在xml中配置属性转载 2017-07-05 09:41:02 · 3667 阅读 · 0 评论 -
RecyclerView侧滑菜单,滑动删除,长按拖拽,下拉刷新上拉加载
RecyclerView侧滑菜单,RecyclerView滑动删除,RecyclerView长按拖拽,效果看下图,大家也可以下载演示apk具体操作体验下SwipeRecyclerView的强大。转载 2017-07-06 16:34:53 · 495 阅读 · 0 评论 -
Android开发之NFC (一)
Android开发之NFC原创 2017-09-04 15:28:27 · 465 阅读 · 0 评论 -
Android中Gradle使用详情
Gradle使用详解Android studio通过Gradle脚本进行打包运行程序。Gradle 所有文件结构Android工程目录下有一个build.gradle, 运行的module里也有一个build.gradle。settings.gradlesettings.gradle表示当前运行的程序是app,如果还需要在工程中添加其他运行程序,就需要在settings.gradle中进行配置bui原创 2017-10-23 09:14:26 · 436 阅读 · 0 评论 -
Android标题栏--Toolbar
随着Android 5.0之后,官方逐渐推荐使用Toolbar代替ActionBar隐藏ActionBar有两种方式可以隐藏ActionBar原创 2017-10-23 13:48:05 · 289 阅读 · 0 评论 -
Gradle项目快速发布到Jcenter(一)
Gradle 项目快速发布到jcenter (一)本文首发于 https://xiaowujiang.cn,请阅读原文支持原创 Gradle项目快速发布到Jcenter(一)最近编写了一个android的Utils集合库 Easy,使用过Android Studio或者Intellij idea IDE的都知道,我们可以在Root目录下的build.gradle文件中添加下面这句,就可以把一个库(m原创 2017-11-20 09:48:00 · 726 阅读 · 0 评论 -
Gradle项目快速发布到Jcenter(二)
Gradle 项目快速发布到jcenter (二)本文首发表于 https://xiaowujiang.cn,请阅读原文支持原创 Gradle项目快速发布到jcenter(二)上一篇 Gradle项目快速发布到jcenter(一) 展示了如何去jcenter创建账户,接下来就是如何,修改项目中的设置,加入jcenter的配置了。项目中设置root目录root目录下的 build.gradle中加入如原创 2017-11-20 09:53:00 · 207 阅读 · 0 评论 -
Service与Activity通信方式之Messenger(信使)
Service与Activity通信方式之Messenger(信使)Messenger原创 2016-12-29 19:00:52 · 329 阅读 · 0 评论