--线上包 ./gradlew assembleRelease --configure-on-demand --daemon --offline --profile --debug包 ./gradlew assembleDebug --configure-on-demand --daemon --offline --profile
rxJava 操作符 take() 输出最多指定数量的结果。 doOnNext() 允许我们在每次输出一个元素之前做一些额外的事情。 debounce(400, TimeUnit.MILLISECONDS) 用简单的话讲就是当N个结点发生的时间太靠近(即发生的时间差小于设定的值T),debounce就会自动过滤掉前N-1个结点。 combineLatest 合并最近N个结点 merge 合并两个数据源。 使用concat和first做缓存 //http://blog.csdn.net/theone10211024/article/details/50435325 interval(2, TimeUnit.SECONDS) 每隔2秒输出” throttleFirst 防止按钮重复点击 schedulePeriodically 做轮询请求 .cast(Integer.class) 如果遇到类型不一样的对象的话 .ofType(Integer.class) 、、、 Observable o1 = Observable.interval(1000, TimeUnit.MILLISECONDS).take(10); Observable o2 = Observable.just("A","B","C"); Observable o3 = Observable.just("D","E","F"); o1.zipWith(o2, new Func2<Long, String, Object>() { @Override public Object call(Long aLong, String s) { Log.e("aa" , " aLong + s = " + ( aLong + s )); return aLong + s; } }) .zipWith(o3, new Func2<Object, String, Object>() { @Override public Object call(Object o, String s) { Log.e("aa" , " o + s = " + ( o + s )); return o + s; } }) .subscribe(new Action1() { @Override public void call(Object o) { Log.e("aa" , " o = " + o.toString()); } }); 、、、
###遇到的错误
1.ViewPager with adapter XXX requires a view id
遇到这个问题的时候,原因是viewPager是直接new出来的,没有给这个ViewPager设置id,设置ViewpagerAdapter的时候报了这个错误,给ViewPager设置id就行了
2.android.database.sqlite.SQLiteException: no such column
Cursor查询sql的时候,默名的会多有括号存在。解决 查看错误sql 拼接好括号
3.Binary XML file line #25: Binary XML file line #25: Error inflating class TextView
字面意思很明显,我遇到了在子模块中使用了android:textColor="?attr/skin_text_dark_color",主题色,而skin_text_dark_color在子模块中并不存在导致
4.fragment使用viewPager嵌套fragment所遇到的问题
出现了Fragment的UserVisibleHint属性获取不一致的问题,实现懒加载数据出现了问题,解决办法统一UserVisibleHint的属性。解决判断父fragment是否可见,设置它的当前fragment的可见属性
5.关于主题色的使用
关于主题颜色,6.0以上在xml使用android:textColor="@color/skin_general_text_not",使用selector和在6.0以下是不一样的,6.0以上没有什么问题,但是在6.0以下颜色解析会和真实颜色不一样,显示出不一样的颜色,Xml解析颜色成ColorStateList存在色差的问题。在代码中,动态的去设置一遍颜色。用代码将selector转换成ColorStateList再设置到view上。