技术习惯
每周三晚的技术分享和每周末每人一篇的技术博客
每周三晚的技术分享和每周末每人一篇的技术博客
代码需要审核,程序的代码需要共同学习,完善代码
1 | android{ |
如果不添加此处ndk的选项描述,那么androidstudio默认打包会产生所有的平台so文件包,如果没有相应的so文件那么就会导致程序报错:找不到so文件在某个目录下。因此我们需要根据现有的什么类型的so文件进行配置ndk。
GitHub项目地址:https://github.com/limxing/MVPHelper
一键创建 Activity Presenter View 以及BaseActivity BasePresenter ProjectApplication
####如何把库发布到JCenter
1、首先去注册https://bintray.com
2、
1 | classpath 'com.novoda:bintray-release:0.3.4' |
3、库的build
1 | apply plugin: 'com.novoda.bintray-release'//添加 |
在最近的项目中,使用了ViewPager+ImageView进行图片的浏览,OOM的代码:
1 | @Override |
这样会重复的创建ImageView,可能没有被回收,所以解决的方案是创建一个全局的集合,让图片都放进去,在使用的时候根据位置进行设置不同的图片去展示
1 | @Override |
####关键
但是这样同样会让Viewpager指针指向了这个集合中的ImageView,因此在onDestory中添加:viewpager.removeAllViews();
在使用RecyclerView过程中使用 notifyItemInserted notifyItemRangeRemoved等
方法时,还要调用notifyItemRangeChanged(position,list.size());
1 | list.add(0, "leefeng.me" + "==onRefresh"); |
在使用RadioButton的时候在选择图片切换的时候出现的一个问题:
1 | <item android:drawable="@drawable/my_on" android:state_checked="true" /> |
不能添加state_pressed的状态,否则就出现了不能够正常切换DrawableTop图片
Android ViewPager左右滑动取消的方法是重写子View
实现:
1 | @Override |
一年多前就出现来这个技术,但是也没有怎么去了解和使用,一直以为EventBus和广播类似呢,后来才发现,EventBus更好用,类型更明确,发送的消息可以是任何自定义的对象,因此写个简单的使用,以免忘记
Github项目框架的地址:https://github.com/greenrobot/EventBus
一、创建消息类(实体),用于存放消息的内容,例如:
1 | class EventMessage{ |
二、注册消息:
EventBus.getDefault().register(this);
三、接受消息:
1 | @Subscribe(threadMode = ThreadMode.MAIN) |
其中方法名无所谓,内部运用了反射的机制,获取到方法名,进行的调用,ThreadMode有四种:
/**
/**
/**
/**
四、注销消息:
EventBus.getDefalt().unregister(this);