adb无线调试
在开发Android应用时,通常情况下是通过USB数据线连接设备和计算机,但对于一些需要使用USB设备的应用,这种方法就碰到了麻烦,手机的USB接口已经和外接的USB设备连接,无法再连数据线,此时可以通过网络TCPIP的方法来进行。也就是然ADB 通过网络来连接设备,而无需USB数据线。
具体方法如下:
在开发Android应用时,通常情况下是通过USB数据线连接设备和计算机,但对于一些需要使用USB设备的应用,这种方法就碰到了麻烦,手机的USB接口已经和外接的USB设备连接,无法再连数据线,此时可以通过网络TCPIP的方法来进行。也就是然ADB 通过网络来连接设备,而无需USB数据线。
具体方法如下:
Android项目现在越来越流行的观察者模式来进行代码的解耦,更加优雅的撸码。比如现在比较火的RxJava,EventBus等等,都是基于观察这模式的。我今天分享的也是我上一个项目中,使用观察者模式对代码进行解耦。
项目中遇到的问题:单个类的代码复杂多很高,甚者超过几千行的类逐步增多。电商类App,UI占据了很多的成分。UI变化时,牵一发动全身。特别是一个人写的东西,不感觉让别人去顶替修改,人员离职后交接成本很大。
后来终于到了我无法忍受的时候,于是就大胆的进行了重构。重构目标
:将复杂的类进行拆分(去除各种复杂的回调代码),降低耦合度,增加阅读性和维护性。并且有利于进行patch打补丁包。
下面大概说一下当时的思路解决方案
:
###代理:设计模式
代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。
如何理解?通俗的将就是方法增强。
###Java的动态代理
Java 动态代理机制以巧妙的方式近乎完美地实践了代理模式的设计理念。
Java动态代理是指的对Interface接口的代理,仅支持interface代理。这也是Java动态代理的缺点。
添加 Design Support Library 依赖
在 Android Studio 中,通过在build.gradle(Module: app)中的dependencies中添加:
compile ‘com.android.support:design:23.1.0’(其中23.1.0为当前库版本号)
今天小有兴致的研究了一下物料设计的东西。本来想自己写点东西,但是发现大神已经写好了,所以不在重复,直接引用大神的神作吧。
Snackbar使用以及源码分析:
http://www.cnblogs.com/punkisnotdead/p/4663885.html
给ViewGroup设置childView改变时的动画,即ViewGroup布局改变时的动画。
ViewGroup.setLayoutAnimation()
方法与android:layoutAnimation=""
属性。1 | /** |