- 博客(25)
- 资源 (1)
- 收藏
- 关注
原创 Android studio 运行java main函数设置
在开发中通过使用java的main函数可以方便快捷的测试目标函数的逻辑功能,但是更新后的高版本的Android studio是不能直接通过class创建main函数进行运行的,下面说下操作方法找个根目录下的.idea文件,找到gradle.xml文件 打开 原有结构如下图<?xml version="1.0" encoding="UTF-8"?><project version="4"> <component name="GradleMigrationSetti
2021-09-14 11:16:12
720
1
原创 Java之CRC16/MODBUS校验
CRC校验(循环冗余校验)小知识CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。校验的方式有两种:一、查表校验法 ...
2020-04-15 16:06:15
1550
原创 android 开发之HexString、String、byte、int、float及大小端的数值转换工具类
这个工具类是我在开发蓝牙过程中使用到的工具类,现在整理出来放到博客里面以备后用,在开发过程中设备端(从机)与手机APP(主机端)之间的通讯以16进制的形式进行传送,在数据的传输过程中涉及大小端的转换,在接下来的代码中会有工具类,文中会有注释。说一下在通讯中采用的协议 帧头(两字节)+字节长度(两字节)+数据段+CRC16校验位(两字节)+帧尾(两字节),数据段中十六进制数据是四字节flat类型...
2020-04-15 15:47:36
2774
原创 Android 自定义View之生长树、流式布局
先看一下效果图: 这是通过贝瑟尔曲线绘制的一个生长的树的形态,这个是通过网易的公开课学到的东西 不是我搞的,看着比较有意思 发出来分享一下 好东西怎么能私藏呢四不四嫩 、文中会主要介绍代码,贝瑟尔曲线的内容大家可以去搜索其他文章了,流式布局的我就只提供源代码了,见谅 网上太多了呀,你要是想听我讲私信我哈,给你讲个三天三夜,这里就不赘述了 小板凳坐好了,上...
2019-11-15 15:38:45
528
原创 Android 屏幕适配(实用版)
在进行屏幕适配开始之前有必要先了解一下 dp、px、sp、dpi这些都是代表了什么一、基本概念dp:(device independent pixels)== dip 虚拟像素,用于限定控件尺寸px:像素点sp:同dp相似,只不过更多的是用于控件字体大小dpi:(dots per inch)对角线每英寸的像素点的个数也就是像素密度density:翻译过来就是 密度二、计...
2019-11-01 14:27:39
762
原创 Android 获取当前 手机/平板 安装程序并将apk文件进行社会化分享
目的:获取当前设备所有安装应用,并将该应用的安装包通过社会化分享 分享到其他地方!解决问题:在应用安装完成之后,系统会自动或者半自动的将安装包进行清除,当想用这个apk文件的时候反而就找不到了,就得重新网络下载,通过此功能可以解决此一部分的问题,功能就是这么功能,具体功能使用怎么延伸就看各自的需求了。结果演示: ...
2019-10-25 13:15:52
1016
原创 Android 蓝牙开发 ——连接设备端
先做一下声明,我这里使用的是经典蓝牙的开发,设备端选择的时候蓝牙打印机 这里就是简单信息发送,文末会给出接收消息的代码。好了 下面步入正题,请跟着我的步伐 开始摩擦!!开发背景:手机通过蓝牙向蓝牙打印机发送指令,将蓝牙打印机的相关信息进行打印 功能很简单,就是连接蓝牙发个数据打印即可一、首先 AndroidManifest.xml添加必要的权限<uses-permissio...
2019-10-16 11:46:01
440
1
原创 Android API对应版本关系(最新更新2020年8月)
稍稍整理了一下,希望对大家有所帮助 Android版本名称CodeName Android版本 版本发布时间 对应API (nocodename) 1.0 2008年9月23日 APIlevel1 (nocodename)...
2019-10-12 09:49:28
4389
原创 Android Studio 如何在debug调试模式下使用正式签名
在使用第三方登陆的时候,如果程序是debug的情况下,QQ会提示让你去应用宝下载安装该应用(我就不去,开什么玩笑,还没测试完就逼我上线),微信也会拒绝向你授权登陆,那么我们如何在debug的模式下获得相关授权呢,跟着我 看流程1、在APP module的 gradle文件里面添加: signingConfigs { release{ storeFi...
2019-10-11 16:41:39
1654
原创 Android 代码混淆 混淆方案
文章转自:https://www.jianshu.com/p/e9d3c57ab92f?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=qq本篇文章:自己在混淆的时候整理出比较全面的混淆方法,比较实用,自己走过的坑,淌出来的路。请大家不要再走回头路,可能只要我们代码加混淆,一...
2019-10-10 10:37:31
409
1
原创 Android 9.0 Didn't find class "org.apache.http.impl.cookie.DateUtils"
报错内容:java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/impl/cookie/DateUtils; at com.android.volley.toolbox.BasicNetwork.addCacheHeaders(BasicNetwork.java:199) at com.android...
2019-10-08 13:17:18
1571
2
原创 android studio 自定义编译 apk 名称
项目完成之后签名打包,生成的文件默认都是app-release.apk我们可以在APP build.gradle文件的 android {}中添加下面这段代码 //修改apk 的 文件名 applicationVariants.all { variant -> variant.outputs.all { output -> de...
2019-09-29 14:38:58
1008
原创 一句话解决 Android 9.0 https请求
在android9.0也就是api版本28之前,项目中使用的http请求都是正常的,但是如果说你的gradle版本是>=28的 你会发现在android9.0以上系统是默认不能用的,也算是Google强行推荐使用https这种更为安全的协议。虽然如此,但是我们要向继续使用http只需要在清单文件的application节点添加android:usesCleartextTraffic...
2019-09-27 10:05:53
1254
原创 ButterKnife 10.2.0 踩坑
当前ButterKnife的最新版本是10.2.0官网链接测试环境:Android studio 版本:3.5.0 Gradle 版本:5.4.1ButterKnife 10.2.0使用步骤:app build.gradle第一步:导入远程库 implementation 'com.jakewharton:butterknife:10.2.0' annotat...
2019-09-25 14:10:51
5190
原创 android项目app中引用不到module下的jar包问题
问题场景:项目gradle版本 dependencies { classpath 'com.android.tools.build:gradle:2.+' }// gradle-wrapper.properties文件 distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-...
2019-09-25 10:05:59
913
原创 Android自动化测试工具
为了自动化测试有效和有益,它必须具有:1、研究测试和项目中的软件产品;2、明确哪些测试需自动化3、制定自动化测试和自动化测试工具的要求4、研究至少几个可用的和合适的自动化工具5、在研究的基础上选择最合适的一个或多个工具6、与其他项目方讨论所选择的自动化工具,解释选择的原因,并得到他们的批准7、自动化测试1.RobotiumRobotium是一款国外的Andro...
2019-09-19 16:55:25
1500
原创 Serializable和Parcelable的区别
说明序列化是一种用来处理对象流的机制。所谓对象流:就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化:把Java对象转换为字节序列的过程。反序列化:把字节序列恢复为Java对象的过程。序列化目的序列化是为了解决在对对象流进行读写操作时所引发的问题。序列化的实现:将需要被序列化的类实现Serializable接口(标记接口...
2019-09-19 10:28:13
557
原创 Android 10 新特性(以后没有甜品了)
Android在正式发行之前,最开始拥有两个内部测试版本,并且以著名的机器人名称来对其进行命名,它们分别是:阿童木(AndroidBeta),发条机器人(Android 1.0)。后来由于涉及到版权问题,谷歌将其命名规则变更为用甜点作为它们系统版本的代号的命名方法。甜点命名法开始于Android 1.5发布的时候。作为每个版本代表的甜点的尺寸越变越大,然后按照26个字母数序:纸杯蛋糕(Androi...
2019-09-16 10:46:14
1572
原创 EditText焦点控制及软键盘的隐藏显示
EditText在使用中,默认情况下是自动获取焦点的,但是有很多情况下,我们不需要它弹出显示,这时候就需要我们根据不同场景来决定焦点的获取与否显示:EditText是默认显示的,多个editText的情况下会按照顺序进行焦点的获取 在布局文件中设置 android:focusable="true" android:focusableInTouchMode="true" 在....
2019-09-16 09:44:56
576
原创 greendao的使用及碰到的错误greendaDid not find class androidx core content FileProvider on path DexPathList
项目中引入greendao之后,出现下面的问题,其原因是因为用了MtltiDex分包,但是没有初始化的原因异常信息:ClassNotFoundException: Didn't find class "XXXX" on path: DexPathList[[zip file "/data/app/[包名]-1.apk"],nativeLibraryDirectories=[/data/ap...
2019-09-16 09:13:41
4166
原创 RecycleView的优化
这里只谈优化,不讲实现,因为网上太多优化方式的实现了,废话不多说,现在进入正题优化方式一:DiffUtil的使用DiffUtil的使用,其方式就是在程序用拥有两个数据集,在进行刷新的时候会比较用新数据集比较旧数据集,只刷新产生变化的数据,不会全部刷新item,这个功能是在android7.0 之后才有的。关于DiffUtil更详细的去查看这篇文章优化方式二:重写onScroll事件...
2019-09-12 14:56:42
715
原创 迁移AndroidX,你该搬家了
官网链接:https://developer.android.google.cn/jetpack/androidx/migrateandroidx已经出来有一段时间了,之所以现在才搬家 也是为了强迫自己放弃使用以前的v4、v7包,跟上大部队的步伐。至于为什么Google会出androidx,这里就提一嘴 因为V4、V7、V13这些都太散了,不好管理,Google会慢慢的停止维护这些包。那...
2019-09-11 11:00:22
720
原创 Android studio 和 gradle插件版本对应关系(最新 2024年)
官网链接:https://developer.android.google.cn/studio/releases/gradle-plugin.html#updating-plugin由于网络的问题,在更新了Android studio版本之后,不能同步获取gradle,这就需要自行前往Gradle Distributions自行下载,但是再看到密密麻麻的gradle版本之后也是头皮发麻,所以在......
2019-09-11 09:49:01
50963
7
原创 Android studio 添加Github项目管理流程
参考链接:https://blog.csdn.net/s13383754499/article/details/88682878感谢博主的无私奉献先解释一下,这些内容我之前都是放到有道云笔记上的,各种学习工作的笔记都在上面,现如今是打算转站CSDN 故而会陆陆续续的将有道云笔记上的内容挪过来,也算是顺道翻阅一下自己写的东西,内容可能比较浅显 有用没用的用了才知道,对吧!废话不多说 直接上操作...
2019-09-10 16:13:43
312
原创 Android 项目清理工具clean.bat
现在开发大家基本上都会用项目管理工具,像GitHub 或 SVN 之类的工具,但是也有一些场景是直接打包项目源码的,这个时候也就可以用上这个工具了作用:删除开发过程中编译的各种.class .dex build等可删除文件创建过程:第一步:创建一个txt文本复制下面代码cd "%1"@echo offecho 正在清除安卓项目垃圾文件,请稍等......@echo of...
2019-09-10 15:21:31
668
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人