Android
尼古拉斯.坦-全栈开发工程师
多年以后的我一定会感谢现在现在拼命努力的自己,多年以后的你一定会庆幸当初喜欢的人是我我不是别人!
展开
-
SmartRefreshLayout 属性总结
RefreshLayout refreshLayout = (RefreshLayout)findViewById(R.id.refreshLayout); refreshLayout.setPrimaryColorsId(R.color.colorPrimary, android.R.color.white); refreshLayout.setDragRate(0.5f);//显示下拉高度/手指真实下拉高度=阻尼效果 refreshLayout....原创 2021-05-06 09:04:46 · 2027 阅读 · 0 评论 -
TextView动态设置字体大小 可以设置单位
可以指定单位:setTextSize(int unit, int size)TypedValue.COMPLEX_UNIT_PX : PixelsTypedValue.COMPLEX_UNIT_SP : Scaled PixelsTypedValue.COMPLEX_UNIT_DIP : Device Independent PixelsmText.setTextSize(TypedValue.COMPLEX_UNIT_PX, size);viewBinding.typeDist..原创 2021-03-02 21:12:43 · 275 阅读 · 0 评论 -
Android 友盟推送注意事项
1.除非业务需求,否则初始化尽量放到Application OnCreate方法里面。2.配置离线推送魅族Recvier路径必须在主包下面 类似微信支付回调要求3.端外离线推送,Activity必须继承 友盟的UmengNotifyClickActivity 以及实现 onMessage方法。4.端外离线推送必须在后台配置打开Activity路径 (全路径带包名)...原创 2021-02-05 14:26:02 · 195 阅读 · 0 评论 -
Scrollerview 嵌套Recycleview item显示不全问题
Scrollerview 嵌套Recycleview item显示不全问题将 ScrollView替换成 NestedScrollView,并在java代码中设置recyclerView.setNestedScrollingEnabled(false);原创 2021-01-12 11:30:16 · 235 阅读 · 0 评论 -
2020-11-21
list的交集,差集,并集工作中用到了list的取差集,发现还是挺好用的。所以记录下。需求 list的方法 说明 备注 交集 listA.retainAll(listB) listA内容变为listA和listB都存在的对象 listB不变 差集 listA.removeAll(listB) listA中存在的listB的内容去重 listB不变 并集 listA.removeAll(listB) listA.addAl转载 2020-11-21 10:23:17 · 61 阅读 · 0 评论 -
RecycleView item 添加动画滑动过程中动画停止或者消息
RecyclerView滑动时,滑出屏幕的item会从屏幕中移除(Detached),导致mCurrentAnimation对象置空,动画停止。那么当item滑动进屏幕时,不是会执行onBindViewHolder重新设置动画吗?为什么会有一些item重新设置了动画,而有一些item没有重新设置动画呢?很多人认为RecyclerView的item显示的时候(Attached)就会执行onBindViewHolder绑定数据。其实不然,RecyclerView的四级缓存中,其中有一个mCachedViews转载 2020-05-21 10:52:49 · 1536 阅读 · 0 评论 -
android 上传码云
为了方便自己对代码的管理,可以把代码上传到码云,以后不管在哪都可以直接拿过来用,便于保存,方便记录。下面就将整个使用步骤介绍一下:1.首先前往码云注册账号,没什么好说的,全中文的。2.码云右上方加号,创建项目,如下图箭头的指向点击图上箭头指示的两个地方,选择新建仓库,箭头指示的这两个地方都可以在码云上新建项目,可以选择将项目设置为公开或者私有的。填写仓库名称(你的项目工程名...转载 2020-04-04 08:02:36 · 247 阅读 · 0 评论 -
Android Studio 使用git托管代码到gitlab
原文地址https://blog.csdn.net/www121104115/article/details/80327350gitAndroid studio 和git 安装完成,并能正常使用方法一:先创建项目,在提交到gitlab1.使用Android studio 任意创建一个项目2.创建完成后在菜单栏找到VCS点击选择 enable Version Control...转载 2019-08-30 10:30:58 · 583 阅读 · 0 评论 -
Android MVP Contract
MVP简单登陆 Demo1.创建Presenter View 基类public interface BasePresenter { void start();}public interface BaseView<T> {//这里使用范型 void setPresneter(T presneter);}2.创建集合接口Log...原创 2019-08-07 18:00:56 · 1126 阅读 · 0 评论 -
Duplicate resources
Duplicate resources多数因为资源id重复 检查string color 等原创 2019-07-23 10:19:47 · 16736 阅读 · 1 评论 -
Program type already present
Program type already present 多数是因为重复引入依赖 检查build.gradle文件 删除多余文件原创 2019-07-23 10:18:12 · 609 阅读 · 0 评论 -
java. float 取整
向上取整:Math.ceil() //只要有小数都+1向下取整:Math.floor() //不取小数四舍五入:Math.round() //四舍五入原创 2019-06-26 10:33:07 · 8425 阅读 · 0 评论 -
Android 7.0及以上主线程上的一个TCP Socket的写入操作严格检查导致报错无法给服务器发送socket消息 Can't create handler inside thread tha
由于之前的Android版本中的一项错误,系统没有对主线程上的一个TCP Socket的写入操作严格检查。Android 7.0修复了这个系统错误。之前有这种行为的App将会引发android.os.NetworkOnMainThreadException。一般情况下,不建议在主线程上执行网络操作,因为这些操作通常都有可能导致ANR和卡顿。同时在子线程中new Handler报...原创 2019-01-07 10:55:01 · 1531 阅读 · 2 评论 -
Android TV webview禁止自动获取焦点 遥控器按键监听 dispatchKeyEvent
开发过程中遇到android webview 自动获取焦点 设置 android:focusable="false" 以及父布局设置 android:focusable="true"android:focusableInTouchMode="true" 均不起作用,webview无输入框等获取焦点控件暂时不知道为什么能够自动获取焦点,且不会相应遥控器DOWN按键。解决办法是 重写dispat...原创 2019-01-18 11:51:00 · 4485 阅读 · 1 评论 -
Java 字符串或进制高位补0
字符串补位方法/** * str 原字符串 * strLength 字符串总长 * */public static String addZeroForNum(String str, int strLength) { int strLen = str.length(); if (strLen < strLength) { while (strLen...原创 2019-01-09 16:52:34 · 3522 阅读 · 0 评论 -
Android SurfaceView Camera 预览显示不全(画面拉伸)
项目当中遇到调整摄像头位置需要全屏显示摄像头预览界面,过程中发现预览界面存在无法显示全,画面被拉伸的问题。surfaceview的宽高比可能与camera设置的宽高比不一致 ,经测试发现设置Camera 预览宽高可解决此问题(注意这里设置屏幕物理宽高不起作用,必须设置屏幕分辨率)////通过Resources获取(无效)// DisplayMetrics dm = getRe...原创 2019-01-16 12:01:58 · 5847 阅读 · 1 评论 -
Android 保存Logcat 日志以txt格式到本地
Macadb logcat > /Users/chenhe/desktop/aaa.txtWinadb logcat -> D:/bbbb.txt Control +C 停止写日志原创 2019-03-05 17:06:07 · 2520 阅读 · 0 评论 -
Android 获取状态栏、标题栏、导航栏等的高度
状态栏:显示手机状态(信号、电量等)信息的那个栏标题栏:显示应用标题的那个栏导航栏:部分手机底部的虚拟导航栏 @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); /** ...转载 2019-04-02 11:14:06 · 1276 阅读 · 0 评论 -
android 动态添加View
项目中遇到动态添加view的需求来展示视频画面,整理一下供大家参考import android.annotation.SuppressLint;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import android.graphi...原创 2019-04-02 11:30:09 · 1057 阅读 · 0 评论 -
Arraylist 复制 判断是否相等
old_otherWatchVideos=(ArrayList<UsrVideoId>) new_otherWatchVideos.clone();//复制arraylist 只能用这种方式 不能用等号// 方法一:// ArrayList<Integer> mycopy=new ArrayList<Integer>()...原创 2019-04-02 14:21:55 · 310 阅读 · 0 评论 -
Android 串口通讯
最近遇到Android通过RS232 串口通讯来控制摄像头的需求,在这里整理记录一下供大家参考。 串口通讯和服务器之间的通讯是一样的,都是传一些参数过去,然后返回一些数据回来。不过串口通讯管这些参数叫做指令,而这些指令是由硬件的通讯协议而定的,通讯协议不同,指令自然也不同。在我开发的这个项目里,兼容了四种硬件通讯协议,这四种协议各不相同。1. 导入.so包,并配置....原创 2019-04-24 12:02:46 · 386 阅读 · 0 评论 -
Android 打印过长Log日志
我们在使用Android Studio 或者Eclipse开发过程中打印API调试数据在所难免,但是很多的返回数据过长,我们的工具只能打印部分数据,给我们开发带来了很多的不便。 import android.util.Log;/** * Created by ChenHe on 2018/7/18. */public class LongLogUtils {...原创 2018-10-12 11:38:06 · 2423 阅读 · 0 评论