实用工具
Android_xiong_st
这个作者很懒,什么都没留下…
展开
-
(原创)可支持最大高度的NestedScrollView
最近写一个dialog,里面有一个ScrollView需要设置最大的高度但是发现ScrollView是不支持最大的高度。于是自己动手写一个出来。原创 2024-07-02 20:22:58 · 329 阅读 · 0 评论 -
(原创)自定义控件:写一个瀑布流效果
一个瀑布流的效果,用来展示文字标签,可以设置显示行数和超出行数的处理方式原创 2023-06-13 20:41:51 · 809 阅读 · 0 评论 -
(原创)安卓抓包方案分享
在联调的时候,如果测试环境接口有问题,我们就需要催后端来处理。那么有没有一种方法,可以自动帮我们完成这些操作呢?以上方案各有利弊,但总的来说,还是不是那么方便。实际开发过程中,我们需要和后端进行服务联调。当我们自己想看的时候,就可以点开通知来看。比如我们可以让接口返回接口出现在通知栏上。这就需要我们自己拿到接口对应的返回值。1:Fiddler等抓包软件抓包。那么怎么知道是后端的问题呢?3:AS自带的抓包工具。今天就分享一下这个方案。原创 2022-09-30 23:29:57 · 3327 阅读 · 0 评论 -
(原创)基于CountDownTimer封装一个倒计时工具类
安卓的计时有很多种实现方式,今天自己封装一个,方便以后使用今天这个是基于CountDownTimer进行的一个封装代码也不复杂,直接贴上。原创 2022-08-19 11:18:23 · 469 阅读 · 2 评论 -
(原创)Lottie动画使用介绍
我们都知道,安卓里面有三种基本的播放动画方式:帧动画,属性动画,补间动画今天介绍一种新的实现方式:Lottie动画Lottie是爱彼迎开源的一个动画框架。可以支持iOS、Android 和 React Native ,可实时渲染 After Effects 动画,让应用程序使用动画就像使用静态图像一样轻松。这波博客主要介绍基本的使用,文末也会贴上相关的资料。...............原创 2022-08-15 17:05:47 · 4407 阅读 · 2 评论 -
(原创)自定义一个滚屏的RecyclerView
Recycleview可以自己定制成想要的各种样式。比如首页的Banner,卡片样式等等。原创 2022-07-22 18:11:22 · 864 阅读 · 0 评论 -
(原创)常用git命令
前言git在开发中已经是很常用的工具了但很多同学还是只会commit,pull,push这些简单的命令今天来做一个搜集把开发中一些实用的git命令汇集在这篇博客里话不多说,立马开始基本操作原创 2022-04-28 20:44:35 · 1284 阅读 · 0 评论 -
(原创)手写一个ANR监控类ANRWatchDog
前言实际APP开发中,因为主线程阻塞而导致的ANR是一个比较难定位的问题今天自己写了一个ANR的监控类,用来监听项目中ANR发生的情况源码后面会贴上来,下面我们进入介绍部分使用使用起来很简单在我们的application里面这样配置即可: ANRWatchDog.getInstance().addANRListener(new ANRWatchDog.ANRListener() { @Override public void onA原创 2022-03-26 10:01:22 · 1173 阅读 · 0 评论 -
(原创)Java的Crash监控原理及监控工具
前言在进行实际的业务开发时,需要考虑到一些线上监控的需求比如内存占用,Crash记录。今天就来介绍下如何监控APP里面java的Crash情况。文末做了一个工具类可以直接拿来使用原理介绍其实Java层的Crash监控,做起来比较简单主要是要理解原理。那么我们就需要先看下,系统是如何监控Crash的Java中的Thread类中定义了一个接口: UncaughtExceptionHandler用于处理未捕获的异常导致线程的终止(注意:catch了的是捕获不到的),当我们的应用crash的时原创 2022-01-11 10:16:47 · 984 阅读 · 2 评论 -
(原创)手写一个图片裁剪工具
一个简单的图片裁剪demo,自定义裁剪View,支持旋转,缩放,裁剪等功能原创 2021-12-17 09:42:09 · 610 阅读 · 0 评论 -
(原创)手写一个安卓日志框架
问题引入其实之前有写过一个简单的日志框架(原创)分享自己写的几个工具类(十)文件日志记录工具但是这个工具类有几个问题1:在主线程执行写日志功能,有一点不太好2:改造不好,可能存在多个线程去读写同一个文件的问题3:日志没有存储容量上限4:日志无法压缩,无法适应“压缩后传送到服务器”的需求所以我在原来工具类的基础上,做了一下优化和改造于是一个新的日志框架诞生了!!!新的日志工具类,主要就是解决这几个问题的文章尾部会贴出主代码和使用方式现在开始对这个工具类进行一个基础介绍:问题1首先,原创 2021-08-12 19:16:02 · 530 阅读 · 0 评论 -
(原创)分享一个文件以及文件夹压缩工具类
/** * @introduce : 压缩工具类 * * creattime : 2021/8/12 * * author : xiongyp ***/public class ZipUtils { private static final int BUFFER_SIZE = 2 * 1024; /** * 压缩成ZIP 方法 * @param srcDir 压缩文件夹路径 * * @param out 压缩文原创 2021-08-12 18:36:31 · 234 阅读 · 0 评论 -
(原创)AndroidAutoSize屏幕适配工具介绍
屏幕适配是我们在开发中经常会遇到的一个问题不同的机型有不同的屏幕尺寸和密度现在市场上已经有不少屏幕适配的解决方案今天就来介绍一个我自己觉得不错的AutoSize这是是一个Android端可以根据设备不同屏幕尺寸自动适配宽高的工具特点是使用起来非常简单。作者写的介绍它网站有:https://www.jianshu.com/p/4aa23d69d481代码位置:...原创 2020-02-28 10:25:24 · 1816 阅读 · 0 评论 -
(转载)使用AndroidStudio网络抓包
使用AndroidStudio网络抓包转载 2021-04-28 17:47:08 · 1111 阅读 · 0 评论 -
(原创)分享一些推荐的进程保活方式
之前有做过1像素保活1像素保活后台服务现在2021年了,很多保活方式其实已经过时了谷歌对于这方面的掌控也越来越严而且作为开发者,其实也不建议应用长时间的驻留内存搞得和流氓软件一样。但一些实际场景,的确是需要进程保活的功能的比如跑步,聊天,外卖软件等等这几天也在搜集相关的知识最后整理了下发现有三种方式,还是比较能够提升app的存活率的而且都是提示用户手动去开启的方式不是利用系统漏洞之类的取巧方法显得优雅了很多。我大概整理了下,分别是1后台运行白名单原创 2021-04-23 10:11:12 · 1457 阅读 · 0 评论 -
(转载)Android花样Text,设置TextView的字体、颜色、超链接等
Android花样Text设置神器之SpanableString转载 2021-04-14 14:05:07 · 437 阅读 · 0 评论 -
(原创)SurfaceView介绍和使用
我们都知道Android中是在主线程绘制UI的如果我们可以在16ms以内将绘制工作完成那么将没有问题但如果我们绘制过程逻辑很复杂,并且我们的界面更新还非常频繁,这时候就会造成界面的卡顿,影响用户体验,为此Android提供了SurfaceView来解决这一问题。SurfaceView 一方面可以实现复杂而高效的UI,另一方面又不会导致用户输入得不到及时响应。下面用一个简单的示例来展示用法public class MySurfaceView extends .原创 2021-02-04 14:58:24 · 1028 阅读 · 0 评论 -
(原创)视频播放器的手势控制工具类
最近在做一个视频播放器现在市场上,一个比较完善的视频播放器大概具有以下功能:快进、快退、声音、亮度控制这一次就根据这几个基础的功能通过系统的手势控制类GestureDetector来完成做了一个实用的工具类只需要简单的配置就可以实现对视频播放器控件的手势进行监听工具类内部实现了相关功能,不需要视频播放器自己写实现了代码解耦,也方便复用下面就开始介绍这个工具类的使用,以及实现的原理。先把工具类的实际代码贴上来public class VideoGes.原创 2021-01-25 15:56:07 · 3170 阅读 · 4 评论 -
(原创)长日志打印工具
分享一个长日志打印工具AS中如果日志过长,是无法一行全部打印出来的,这时候就可以用到这个工具具体代码如下public class LogUtil { //规定每段显示的长度 private static int LOG_MAXLENGTH = 2000; public static void d(String TAG, String msg) { int strLength = msg.length(); int start = 0;原创 2020-12-19 17:51:39 · 351 阅读 · 2 评论 -
(原创)一个网络设置工具类
封装了一个简单的网络工具类原创 2020-11-27 10:07:52 · 324 阅读 · 0 评论 -
(原创)两个播放音频的工具类
最近做了两个用来播放视频文件的工具类一个是用来播放背景音或者较大文件的工具类另外一个是播放普通音频的工具类下面贴代码/** * 播放背景音等较长或者较大的文件 */public class MusicBackPlayerUtil { private MediaPlayer bgPlayer, btPlayer, soundPlayer; public MusicBackPlayerUtil() { bgPlayer = new MediaPlaye原创 2020-10-27 11:20:50 · 612 阅读 · 0 评论 -
(原创)判断List列表中是否存在重复元素
今天碰到一个实际问题如何判断一个List列表中的元素是否有重复的想到不可能一个个去对比于是去查了下,发现可以利用HashSet的特性去做因为Set集合中是不允许存在重复元素的于是得到如下处理方式 /** * 列表中是否包含重复元素 * * @param list * @return */ public static boolean isRepeatList(List list) { if (list =原创 2020-09-17 16:22:37 · 4173 阅读 · 0 评论 -
(原创)数据库的使用以及简单的工具类封装
安卓中数据库的使用是很常见的,今天在介绍的基础上,去做一个简单的封装。把数据库的表作为一个类,同时封装一个工具类,用来操作数据库的这个表。实现基础的增删改查功能。原创 2020-08-31 17:48:28 · 834 阅读 · 0 评论 -
(原创)分享自己写的几个工具类(十二)判断是否是手势导航栏工具类
现在市场上很多机器支持手势导航,如何适配成了一个话题这里提供一个判断方法得到目前界面是那种导航类型话不多说,直接上代码public class NavigationUtils { /** * 手势导航 */ public static int NAV_STYLE_GESTURE = 1; /** * 三键导航 */ public static int NAV_STYLE_THREE_KEYBROAD = 2;原创 2020-06-26 15:16:37 · 1097 阅读 · 2 评论 -
(原创)Bitmap工具类集合
这边做一个博客,专门用来放一些Bitmap的基本操作方法缩放public static Bitmap ScaleBitmap(Bitmap bit,float sx,float sy){ Matrix matrix=new Matrix(); matrix.setScale(sx,sy); Bitmap newBmp =Bitmap.createBitmap(bit, 0,0,bit.getWidth(),bit.getHeight(),matrix原创 2020-05-18 20:15:46 · 1027 阅读 · 0 评论 -
(转载)可添加头部的GridView
最近要做一个表格布局,还要加头部却发现系统的GridView并没有添加头部的功能网上的一些方法也不是很实用于是去github找了一个第三方库直接把里面的类取出来了https://github.com/liaohuqiu/android-GridViewWithHeaderAndFooter用起来也很简单和ListView差不多addHeaderViewaddFo...转载 2020-01-10 17:39:54 · 407 阅读 · 0 评论 -
(原创)分享自己写的几个工具类(十一)配置文件的操作工具类
上一篇分享了记录本地日志的工具类https://blog.csdn.net/Android_xiong_st/article/details/102776170这次来介绍配置文件的一些操作有时候app会有一些随机操作比如游戏里的道具出现概率等而如果让它固定出现则可以通过配置文件的方式话不多说,直接上代码public class ConfigUtil { p...原创 2019-12-03 14:33:29 · 281 阅读 · 0 评论 -
(原创)接口隔离原则封装一个自己的网络请求库(五)文件上传功能
下载文件写完了接下来就是上传文件了继续完善!首先,在我们的基础接口INetManager里新增方法postFile复写这个方法用来上传文件代码如下:/** * Created by lenovo on 2019/11/8. * 网络请求工具类 */public interface INetManager { /** * @param url ...原创 2019-11-14 14:54:54 · 283 阅读 · 0 评论 -
(原创)接口隔离原则封装一个自己的网络请求库(四)文件下载功能
继续完善一个下载文件功能首先,在我们的基础接口INetManager里新增方法代码如下:/** * Created by lenovo on 2019/11/8. * 网络请求工具类 */public interface INetManager { /** * @param url 请求网址 * @param callback 回调 ...原创 2019-11-12 16:31:50 · 235 阅读 · 0 评论 -
(原创)接口隔离原则封装一个自己的网络请求库(三)post请求功能
今天继续完善我们的网络请求框架这一次完善post功能依旧在我们的基础接口INetManager里新增方法整体代码如下:/** * Created by lenovo on 2019/11/8. * 网络请求工具类 */public interface INetManager { /** * @param url 请求网址 * @param ...原创 2019-11-12 10:40:59 · 250 阅读 · 0 评论 -
(原创)接口隔离原则封装一个自己的网络请求库(二)增加取消请求功能
今天给我们上次封装的工具增添新功能在请求的过程中会遇见一些情况需要取消请求比如请求的页面已经关闭或者下载时用户点击了“取消”按钮等现在就来完善这部分的功能首先在我们的基础接口INetManager里新增cancel方法整体代码如下:/** * Created by lenovo on 2019/11/8. * 网络请求工具类 */public int...原创 2019-11-11 15:01:01 · 285 阅读 · 0 评论 -
(原创)接口隔离原则封装一个自己的网络请求库(一)框架搭建和get请求
实际开发中,网络请求是一个很常用的需求一款APP需要与服务器传输信息就要用到网络请求那么如何开发一款适合自己的网络请求库就显得十分重要今天就开始手动封装一个网络请求工具在开始之前需要考虑的问题是1:采用何种框架,是Volley,Okhttp还是其他?2:如何保证代码的可维护性,在新的项目可以快速应用?3:在一个框架过时之后,如何快速地替换最新的网络框架...原创 2019-11-08 11:14:34 · 476 阅读 · 0 评论 -
(原创)分享自己写的几个工具类(十)文件日志记录工具
实际开发中,需要把一些关键日志记录在手机中这个时候一般会新建一个.txt文件用来保存这些日志于是写了这样一个工具类方便保存和查看相关的日志记录具体代码如下:/** * Created by lenovo on 2019/10/28. * 日志记录工具 */public class FileUtil { //是否保存日志 public stati...原创 2019-10-28 10:01:20 · 414 阅读 · 0 评论 -
(原创)分享自己写的几个工具类(一)防止重复点击工具类
在实际开发中,要实现登录注册功能,或者其他一些功能的时候,需要用户执行点击操作这时候会因为网络的延时而导致一些问题用户如果无法得到反馈便很有可能会一直重复点击某些功能按钮导致app运行出现错误。为了避免这个问题,就需要开发者考虑这一情况我个人给出如下解决方案思路为:记录用户点击的时间,判断两次点击的时间不能超过一定的时间间隔否则点击无效。具体代码如下:p原创 2017-04-14 10:08:59 · 801 阅读 · 0 评论 -
(原创)分享自己写的几个工具类(二)共享参数工具类
Android开发中有五种存储方式,今天讲讲共享参数的封装不懂用法的可以先看看这篇bloghttp://blog.csdn.net/android_xiong_st/article/details/70169998因为共享参数主要用来存储一些用户的习惯,所以不建议开发者经常利用共享参数去存储较大的信息而且为了安全考虑最好不要用来存储一些密码之类的信息.下面开始封装首先创原创 2017-04-14 11:05:07 · 761 阅读 · 1 评论 -
(原创)分享自己写的几个工具类(四)BigDecimal精确计算
java的float只能用来进行科学计算或工程计算,但是在大多数的商业计算中,一般采用java.math.BigDecimal类来进行精确计算。比如我们平常常见的支付宝和滴滴打车,如果要模拟运算的话就必须用到这个类BigDecimal的使用步骤如下:1初始化一个BigDecimal对象这两种方法都可以BigDecimal bd1 = new BigDecimal原创 2017-04-18 17:34:56 · 2993 阅读 · 1 评论 -
(原创)分享自己写的几个工具类(三)Toast和Log管理类
平常开发中测试代码,toast和log用的比较多好处是代码简介方便,一行即可但这样的代码写的多了,有时候也不易查找而且影响可读性于是自己封装了一个Debug管理工具类,下面直接贴代码:/** * Created by Administrator on 2017/4/14 0014. * 管理toast和log打印的工具类 */public class Debug原创 2017-04-17 17:52:47 · 662 阅读 · 1 评论 -
(原创)天惹!原来敲代码可以这样好玩!介绍一款AS的插件sexy editor
瞧一瞧看一看啦!上班无聊,代码敲不完,怎么办?其实Android Studio可以这么玩!今天就来为大家介绍一款好玩的插件sexy editor(性感编辑器)我承认我看到这名称一开始想歪了~~~~好吧,其实这就是一个给你的代码编辑区加上背景图片的插件而且这些背景图片必须保存在你电脑里。有人会问这有什么用?从开发来讲没!有!用!啊!哈哈哈!但如果你有非常不错的背景原创 2017-04-12 16:14:05 · 1979 阅读 · 0 评论 -
(原创)简单介绍Android的EventBus(下)
这是这个系列的最后一篇,主要讲讲EventBus的@Subscribe。Subscribe主要有三个属性:threadMode:声明事件订阅函数的执行模式sticky:表示该事件订阅函数是否接收粘性事件,默认为false,表示不接收priority:声明事件订阅函数的事件接收优先级,默认为0第二、三个不用说了,今天就着重介绍第一个threadMode仔细划分原创 2017-01-09 10:50:53 · 543 阅读 · 1 评论 -
(原创)分享一个自己封装的HttpURLConnection网络请求框架
这个框架是自己闲来无事封装的,主要用于请求json1请求数据public class HttpUtil { /** * 下载资源 * @return */ public static byte[] requestURL(String urlStr){ InputStream in = null; ByteA原创 2017-02-28 11:03:10 · 735 阅读 · 1 评论