Mac上配置gradle环境变量以及gradle: Permission denied解决方案
Run with --stacktrace option to get the stack trace如何操作
- 打开Termianl
- 输入命令 gradlew compileDebug --stacktrace这个之后,会显示一些具体出错的信息
用最新的gradle编译上传到jcenter失败的问题
- bintray-release 0.8.1 还没有兼容gradle 4.6问题,所以导致编译失败
错误提示:Minimum supported Gradle version is 4.6. Current version is 4.4
- 出现此错误主要是com.android.tools.build:gradle:3.2.0(插件版本)的问题,3.2.0对应的gradle版本是4.6+,所以单纯的修改gradle的版本不起作用。
- 以下是gradle版本与相应插件版本的对应关系
Plugin version(插件版本) | Required Gradle version(gradle版本) |
---|
1.0.0 - 1.1.3 | 2.2.1 - 2.3 |
1.2.0 - 1.3.1 | 2.2.1 - 2.9 |
1.5.0 | 2.2.1 - 2.13 |
2.0.0 - 2.1.2 | 2.10 - 2.13 |
2.1.3 - 2.2.3 | 2.14.1+ |
2.3.0+ | 3.3+ |
3.0.0+ | 4.1+ |
3.1.0+ | 4.4+ |
3.2.0+ | 4.6+ |
java中数字显示成金额的格式(三位一个逗号)
DecimalFormat decimalFormat = new DecimalFormat("###,###.00");
System.out.println(decimalFormat.format(1002200999.22323));
电脑链接android手机的软件
错误信息:Inconsistency detected. Invalid view holder adapter positionViewHolder
- 产生这个错误的主要原因是 移除或者增加List的数据时,没有立即告诉Adapter数据更新了
- 解决方法是,在list做完remove或者add操作后,紧跟着notifyItemInserted(notifyItemRangeInserted)或notifyDataSetChanged
RecyclerView中包含EditText,导致EditText无法上下滚动的解决办法
inputEditText.setOnTouchListener(onTouchListener);
private View.OnTouchListener onTouchListener = new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (MotionEvent.ACTION_DOWN == event.getAction()) {
v.getParent().requestDisallowInterceptTouchEvent(true);
} else if (MotionEvent.ACTION_UP == event.getAction()) {
v.getParent().requestDisallowInterceptTouchEvent(false);
}
return false;
}
};
- 实际就是在手指按下的时候,如果触发的EditText,则请求父控件不要拦截;
- 在手指抬起的时候,允许父控件进行拦截(恢复系统默认的事件分发机制)
其他
- java中判断一个字符串是否为json格式常用的方法就是转化时catch异常
- java中三元运算符比if else 效率要高一点
- ConstraintLayout布局里面的子控件如果要gone或者visible,最好将这个子控件的高度固定,不然会gone不掉