
安卓基础
qq910689331
分享心得 记录生活 开源地址:https://github.com/liberations
展开
-
中国省市区json分享
[ { "name": "北京市", "city": [ { "name": "北京市", "area": [ "东城区", "西城区", "崇文区", "宣武区", "朝阳区", "丰台区", "石景山区", "海淀区", "门头沟区", "房山原创 2021-09-24 14:13:17 · 1413 阅读 · 0 评论 -
谷歌市场上架aab安装包的各种坑
1.首先需要注册一个谷歌开发者账号 并用信用卡支付25美元。此处省略1000字2.创建应用上传应用签名提示该私钥未正确加密用官方的命令生产的upload.zip不能使用最后寻求官方帮助回复如下此密钥必须为 2048 位 RSA 密钥,有效期为 25 年。可以keytool查看自己之前生成的签名加密方式keytool -list -v -keystore mytestkey.jks找到其中的签名算法名称: SHA256withRSA这个就是对的如果是MD5withRSA就废原创 2021-08-13 16:52:07 · 2276 阅读 · 0 评论 -
让TV默认触摸模式
一般Android TV 是遥控模式,但是有的TV是有触屏的。我们想开机默认没有任何控件获取焦点这时候就得设置当前的控制模式为触屏模式。设置触屏模式代码如下 ,建议在application中设置new Instrumentation().setInTouchMode(true); /** * Force the global system in or out of touch mode. This can be used if * your instrumentation re原创 2021-08-04 17:40:56 · 899 阅读 · 0 评论 -
SOCKET/串口通信粘包问题处理,附带详细代码
UDP TCP或者串口通信中有可能会出现粘包问题。具体解决办法有以下几种1.自定义包体格式包含包头+包体长度2.加大读取缓冲区buffer本文介绍第一种方法的socket通信中我们一般开启一个线程然后死循环的读取其中的信息我们定好协议格式如下十六进制表示A3A4+长度两字节+json其中A3A4为协议头 json是我们需要的具体数据我们就可以固定的先读取4个字节获取完整包长度再继续读取 byte[] temBuffer = new byte[10];原创 2020-08-01 17:22:10 · 3069 阅读 · 1 评论 -
kotlin中Int Byte的相互转换,常用
串口通信中传输单位为byte,一个byte占用八位/8bit常用的方法1.一个Int转成一个byte 直接调用Int.toByte()方法看如下直接转换 var num = 23 var num2Byte = num.toByte() println("mytest num $num num2Byte$num2Byte")结果一切正常让这里的num=128结果如何?转成byte结果变成了-1 具体是什么原因各位可以去补充下有趣的原码 反码 补码的相关知识。所以一个int要想不丢失精原创 2020-08-01 16:48:08 · 9316 阅读 · 2 评论 -
Android自定义View实践 空气质量检测 pm2.5
直接先看效果图自定义气体检测视图我们先整理下需要做的的事情画五个圆弧每个圆弧上再通过具体的数据绘制一定角度的圆弧甲醛那个进度条比较特殊,一头平一头椭圆该怎么实现?文字的绘制明白了需求我们开搞画背景圆弧很简单canvas.drawArc 参数分别是圆弧所在的矩形范围、圆弧绘制的其实角度、圆弧划过的角度,是否扫过圆心 public void drawArc(RectF oval...原创 2020-02-29 18:06:39 · 3115 阅读 · 0 评论 -
Android 9.0 内核编译实战(以一加6为例)
前人栽树后人乘凉…我们这里用EX内核编译做个示范 https://github.com/flar2/OnePlus6/tree/ElementalX-3.001.同步代码啦git clone https://github.com/flar2/OnePlus6.git -b ElementalX-3.002.交叉编译工具链下载https://android.googlesource.co...原创 2019-01-04 11:39:24 · 9018 阅读 · 2 评论 -
svn: Can't convert string from 'UTF-8' to native encoding
今天遇到这个问题,指定编码格式即可locale -aCC.UTF-8en_US.utf8POSIXzh_CN.utf8export LC_ALL=zh_CN.utf8svn checkout ...问题解决原创 2018-11-26 14:42:11 · 351 阅读 · 0 评论 -
Rxjava 优雅的实现短信验证码发送
废话不多说直接上代码private fun countDown() { btn_send_code_activity_login.isEnabled = false disPose = Flowable.intervalRange(0, 120, 0, 1, ...原创 2018-09-14 17:47:51 · 563 阅读 · 0 评论 -
android Too many open files 解决
遍历某一文件夹,当文件数过多时,或出现Too many open files异常,有问题的代码 /** * 获取指定文件大小 * * @param file * @return * @throws Exception */ private long getFileSize(File file) throws Exceptio...原创 2018-09-14 09:22:42 · 2874 阅读 · 0 评论 -
自定义 VIEW 截图 保存到图库 并分享
需求是先显示将要分享视图的缩略图,点击缩略图再显示大图,并且支持保存到本地图库效果如下将视图生成bitmap的方法 fun loadBitmapFromView(v: View): Bitmap { val w = v.measuredWidth val h = v.measuredHeight val bmp...原创 2018-09-06 10:35:07 · 300 阅读 · 0 评论 -
android 从相册或相机获取图片并且裁剪 支持android 7.0
1.在res/xml目录中新建一个file_paths.xml<?xml version="1.0" encoding="utf-8"?><paths> <files-path name="files" path="files" /> <cache-path name="name" path原创 2018-09-08 14:11:20 · 463 阅读 · 0 评论 -
DP PX转换
/** * 文件:DensityUtil * 时间:2018/8/15. * 备注:单位换算 */public class DensityUtil { /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dip2px(Context context, float dpValue) { ...原创 2018-08-21 16:04:37 · 752 阅读 · 0 评论 -
基于 Kotlin 一行代码实现 android 导航栏 BottomBar
主要功能点构建者模式链式设置导航栏条目自定义导航栏的字体大小图片大小支持纯文字类型支持底部按钮点击事件代码简洁不到300行,只有一个类 直接拿来用看效果是否满意上代码直接先贴代码BottomBar.kt/** * 文件:BottomBar * 时间:2018/8/22. * 备注:顶部导航栏 */import android.annotati...原创 2018-08-22 12:24:58 · 1620 阅读 · 3 评论 -
EventBus3.0 List事件遇到的坑
当你需要发送接收List类型的对象时,务必做个类型判断。。。否则会出险 java.lang.ClassCastException 具体操作如下*instanceof to avoid some bugs...*/ @Subscribe(sticky = true) public void getMemLis(List<MettingMem.Mem> mettings) {原创 2017-12-06 14:02:51 · 2121 阅读 · 1 评论 -
android 获取指定月份的开始时间 结束时间
/** * 根据提供的年月日获取该月份的第一天 * @Description: (这里用一句话描述这个方法的作用) * @Author: gyz * @Since: 2017-1-9下午2:26:57 * @param date * * @return */ public static String getSup原创 2017-12-05 09:43:32 · 3371 阅读 · 0 评论 -
城市列表简称JSON数据
{ “reason”: “成功返回”, “result”: { “area_list”: [ { “id”: “1”, “name”: “常用”, “province_list”: [ { “city_name”: “福建”, “city原创 2017-02-13 15:31:34 · 1763 阅读 · 0 评论 -
安卓六大布局之 线性布局(LinearLayout)
Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦。组件按照布局的要求依次排列,就组成了用户所看见的界面。Android的六大布局分别是LinearLayout(线性布局)RelativeLayout(相对布局)FrameLayout(单帧布局)AbsoluteLayout(绝对布局)TableLayout(表格布局)Android4.0之后原创 2016-10-08 20:59:05 · 14034 阅读 · 3 评论