自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

移动,移着动动

欢迎来到我的博客,一起分享开发的喜怒哀乐!

  • 博客(46)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android组件化项目common_config.gradle

当涉及到多module组合开发时,每个module的build.gradle文件都拥有一些必要的属性,同一个Android工程中,在不同模块中要求这些属性一致,例如complieSdkVersion、buildToolVersion等。如果引用不一致,属性就不会合并到工程中,这样一方面会造成资源的重复,使得最终生成的APK包量增大,另一方面也会降低编译的效率。那么就必须有一个统一的、基础的Gradle配置,通过编写一个common_config.gradle(文件名可自定义),在各module的buil

2020-05-24 21:39:08 135

原创 Android工具类之ZXing(二维码/条形码)

介绍ZXing,一个支持在图像中解码和生成条形码(如二维码、PDF 417、EAN、UPC、Aztec、Data Matrix、Codabar)的库。ZXing(“zebra crossing”)是一个开源的、多格式的、用Java实现的一维/二维条码图像处理库,具有到其他语言的端口。地址GitHub地址:https://github.com/zxing/zxingAPI文档:https://zxing.github.io/zxing/apidocs/index.html目前最新版本为3.

2020-05-18 21:00:07 177

原创 通过LayerDrawable实现进度条的功能

<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> ...

2020-04-30 19:55:47 80

原创 Glide设置圆角图片(支持自定义圆角位置)

最近项目中有显示数据的需求,圆角父控件中最左端放置图片,此时显示起来图片的直角盖住了父控件的圆角,故需要对图片进行圆角处理后再显示。网上大多数都是通过实现Transformation,在transform方法中进行自定义处理,后来我发现Glide中的自带的设置圆形图片的RoundedCorners类,借鉴此类可以通过官方提供的TransformationUtils工具类来实现,具体实现如下:...

2020-04-30 12:50:16 834

原创 常见的加解密算法处理(Java)

public class EncryptionUtil { private final static char[] chArray = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; private final static byte[] iv = {1, ...

2020-01-14 17:39:57 47

原创 UVC camera 封装类

下述代码是关于UVC camera处理的封装类,具体依赖的aar请参考https://github.com/saki4510t/UVCCamera。借用该类,在接入UVC 摄像头设备时可以很方便的进行使用,只需要在对应的Activity中,先初始化该类,绑定一个SurfaceView,便于展示摄像视频数据,再在onStart生命周期回调中调用onStart方法、onStop生命周期回调中调用o...

2020-01-10 16:50:35 341

原创 一款简易的自定义数字键盘输入控件

实际效果如下:首先布局layout文件,采用三总四横等比的方式进行布局:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pare...

2020-01-08 16:58:43 92

原创 adroid SQLiteOpenHelper数据表结构升级

最近在项目中遇到了一个新需求,需要增加用户在本地缓存中一个字段,由于用户缓存是根据所在群来进行分表保存的,在更新数据库升级时,发现要修改的表明是动态生成的,经过不断努力和网上的参考,终于找到了解决方法。主要的逻辑还是放在自定义SQLiteOpenHelper类中的onUpgrade方法里,我们根据db参数可以获取所以的数据表,由于分表时表名都具有一定的规律,所以可以根据该规则来进行统一修改。下...

2019-11-15 20:59:07 88

原创 Java利用反射动态修改类引用类型的成员变量的属性

今天在项目中遇到了一个情况,用第三方控件时,发现其在显示的时候有一个Label字符显示,不符合产品UI需求,之后通过查看该源码,发现并没有公开方法来控制该Label的显示效果,但是自己去实现太过繁琐。之后想到可以通过Java的反射功能来进行修改,可能会达到要求。一般对于Java反射修改对象成员的示例大多体现在修改一个类的基本类型的成员变量,或者其成员函数来进行调用。但是如果一个类的成员变量是个...

2019-11-07 21:18:25 1046

原创 TextView设置指定字符显示颜色

在项目中做了一个简单的搜索功能(本地缓存搜索),产品需要对搜索结果中针对搜索词进行高亮显示,类似于百度搜索后每个条目中满足的分词结果进行高亮显示,这里由于只是一个简单功能,所以并不存在分词功能,就用全词进行精确搜索,对满足要求的结果进行颜色设置即可,方式如下: String itemStr = searchItem.getDes(); String keywor...

2019-11-07 21:06:15 59

原创 Android BLE蓝牙管理类

/** * 蓝牙扫描管理类 */public class BleScannerManager { public static final String TAG = "BleScannerManager"; /** * 默认扫描间隔 */ public static final long DEFAULT_SCAN_TIME = 12000; ...

2019-07-29 20:57:32 65

原创 Android工具类之Keyboard

public class KeyboardUtils { private KeyboardUtils() { throw new UnsupportedOperationException("u can't instantiate me..."); } /** * 隐藏软键盘 * * @param activity The...

2019-06-22 16:51:15 158

原创 Android工具类之TextSpan

public class TextSpanUtils { // 由一多个 private static final String START = "start"; private static final String END = "end"; private static final String REGEX = "regex"; public st...

2019-06-22 16:47:20 326

原创 Android工具类之线程池

public class ThreadUtils { //线程池核心线程数 private static int CORE_POOL_SIZE = 5; //线程池最大线程数 private static int MAX_POOL_SIZE = 100; //额外线程空状态生存时间 private static int KEEP_ALIVE_TIM...

2019-06-22 16:44:21 379

原创 Android工具类之SharedPreferences

public class SPUtils { public static String PREFERENCE_NAME = "config"; public static void clear(Context context) { SharedPreferences settings = context.getSharedPreferences(PREFERE...

2019-06-22 16:40:40 133

原创 Android工具类之GZip

public class GzipUtil { public static final String GZIP_ENCODE_UTF_8 = "UTF-8"; public static final String GZIP_ENCODE_ISO_8859_1 = "ISO-8859-1"; private static final char ARRAY_LEFT = ...

2019-06-04 20:21:48 219

原创 Android工具类之屏幕处理

public class ScreenUtil { /**将px值转换为dip或dp值,保证尺寸大小不变*/ public static int px2dip(Context context, float pxValue) { final float scale = context.getResources().getDisplayMetrics().densi...

2019-06-04 20:13:35 167

原创 Android工具类之内存信息获取

public class MemInfoUtil { public static List<String> getMemInfo() { List<String> result = new ArrayList<>(); try { String line; Buffer...

2019-06-04 20:11:04 211

原创 Android工具类之CPU信息获取

public class CpuUtils { private static final String TAG = CpuUtils.class.getSimpleName(); public static final String AARCH_64 = "aarch64"; public static final String STRING_OX = "0X"; ...

2019-06-04 20:08:58 392

原创 Android多用户处理及相关广播发送

多用户环境由于Android 多用户环境下,进程会有多实例,由此会引发用户切换后,后台进程继续占用资源的问题。在多用户切换的过程中,之前用户在后台运行,新创建用户在前台运行。为了解决后台用户占用资源导致前台用户功能无法使用的问题,可以监听Intent.ACTION_USER_FOREGROUND和Intent.ACTION_USER_BACKGROUND 这两个系统广播:当收到ACTI...

2019-05-10 22:24:00 1555 1

原创 Android USB读写封装

一个简单的USB读写封装类,支持Android AOA和ADB读写模式,支持不同方式的读写格式(ByteBuffer和byte[])。public class UsbDeviceManager { private static final String TAG = ECUsbDevice.class.getSimpleName(); // USB device types ...

2019-05-10 21:45:08 463

原创 iPerf3的使用

介绍iPerf3是用于主动侦测IP网络上最大可实现带宽的工具。它支持时序、缓冲区、协议(TCP,UDP,SCTP与IPv4和IPv6)有关的各种参数。对于每个测试,它都会报告带宽,丢包和其他参数。iPerf3与原始iPerf不共享代码,也不向后兼容。iPerf最初由NLANR / DAST开发。iPerf3主要由ESnet/Lawrence Berkeley国家实验室开发。iPerf3采用...

2019-03-22 20:25:19 6407

原创 ADB模拟按键操作

模拟点击adb shell input tap posX posY模拟滑动adb shell input swipeposX1 posY1 posX2 posY2 scrollTime在屏幕上做划屏操作,前四个数为坐标点,后面是滑动的时间(单位毫秒)输入文本adb shell input text string模拟按键adb shell input keyeven...

2019-03-22 19:56:04 707

原创 CarAppFocusManager使用

CarAppFocusManager位于android.car.jar中。官方介绍CarAppFocusManager allows applications to set and listen for the current application focus like active navigation or active voice command. Usually only o...

2019-03-06 20:49:06 862

转载 Java中15种锁的介绍

(转载至https://www.itcodemonkey.com/article/13204.html)在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下:1.公平锁 / 非公平锁2.可重入锁 / 不可重入锁3.独享锁 / 共享锁4.互斥锁 / 读写锁5.乐观锁 / 悲观锁6.分段锁7.偏向锁 / 轻量级锁 / 重量级...

2019-03-03 21:28:05 58

转载 颜色值透明度百分比与十六进制数对应表

颜色值(#AARRGGBB)透明度百分比和十六进制对应关系透明度 十六进制 100% FF 99% FC 98% FA 97% F7 96% F5 95% F2 94% F0 93% ED 92% EB 91% E8 90% E6...

2019-03-01 21:19:09 285

原创 Android项目多module设置项一致性管理

在Android开发项目中,经常遇到多Module模式,这样也带来了一些比如sdk设置版本的一致性问题,第三方依赖包的版本一致性问题等。怎样才能在一个地方进行统一的设置,然后各个子模块包括主模块也能用呢?方法如下:在project目录下的build.gradle文件中加入如下设置:ext { versions = [ "compileSdkVersio...

2019-02-13 20:44:45 313 1

原创 Android倒计时解决方案之CountDownTimer

CountDownTimer构造函数:CountDownTimer (long millisInFuture, long countDownInterval)millisInfuture: 要倒计时的总时间, 单位ms。countDownInterval: 要倒计时的间隔时间, 单位ms。CountDownTimer是个抽象类,在实际运用中我们会去构造一个匿名实现类对象来进行处理...

2019-02-12 22:20:10 226

原创 Android悬浮贴边按钮实现(含动画效果)

效果图代码实现package com.dingo.newexproration.ui;import android.animation.ObjectAnimator;import android.annotation.SuppressLint;import android.content.Context;import android.graphics.Canvas;imp...

2019-01-22 21:27:53 4862 1

原创 Android音频处理之AudioTrack、AudioRecord

AudioTrack声道/音轨,该类为Java应用管理和播放一个单声道资源。它可以使用音频接收器来回放PCM格式的音频缓冲流。AudioRecord在Java应用中,AudioRecord类管理着音频来源,使用平台的音频输入硬件来录音。应用import android.content.Context;import android.media.AudioAttributes;...

2019-01-17 20:44:03 169

原创 微信公众号自动回复聊天机器人实现(PHP)

1、服务器配置在“微信公众平台”上将“服务器配置”启用,填写“服务器地址”(即关注者输入消息后调用的回调接口,返回回复文本),“令牌”(在接口验证中要用到),“消息加解密密钥”、加解密方式暂时设为明文模式,先简单入手。2、配置接口public function valid(){ $echoStr = $_GET["echostr"]; if ($echoStr) {...

2019-01-13 22:12:35 1382 1

原创 自定义注解并生成类文件(kotlin实现)

1.新建一个Java Library 的module(文中示例为extent)2.修改module gradle文件apply plugin: 'java-library'apply plugin: 'kotlin'dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) im...

2019-01-12 22:27:48 966

原创 排序算法集锦

选择排序 public void selectSort(int[] array) { for (int i = 1; i &lt; array.length; i++) { int index = i - 1; for (int j = i; j &lt; array.length; j++) { ...

2019-01-06 20:46:46 57 2

原创 Android开发之在Gradle中自定义生成的APK名称

Gradle插件3.0之前applicationVariants.all { variant -&gt; variant.outputs.each { output -&gt; output.outputFile = new File(output.outputFile.parent, defaultConfig.applicationId + "-"...

2018-12-20 20:16:41 102

原创 CentOS下Xampp对Apache设置多站点访问

一、修改httpd.conf文件进入lampp/etc目录下,编辑httpd.conf文件。需要监听几个端口就写几个,注意系统得配置好这几个端口的访问权限再注释掉如下行这里的配置是apache默认的配置,当存在多站点时,这个默认的显然就不对了,否则就只能一直访问该站点。最后还有一个地方需要修改,如下图红框中的配置需要把注释解开,因为随后的多站点配置需要利用htt...

2018-12-19 21:05:15 494

原创 Android获取文件路径的总结

EnvironmentEnvironment类是一个提供访问环境变量的类。getDataDirectory() 方法:返回 File ,获取 Android 数据目录。即data的目录(/data)  getDownloadCacheDirectory() 方法:返回 File ,获取 Android 下载/缓存内容目录。即(/cache) getExternalStorageDire...

2018-12-18 21:12:30 1283

原创 头部吸顶布局的RecycleView简单实现

效果图原理实际上就是绘制一个头部item在RecycleView上显示即可,该Item没有随着滑动变动所以看起来就像一个固定的头部。实现ItemDecoration,重写其onDraw、onDrawOver和getItemOffsets。//将decoration绘制到canvas上,会优先于itemView进行绘制,所以超出绘制区域会被itemView覆盖,不会有影响(可以...

2018-12-16 21:34:11 251

原创 Android项目简单的日志打印框架

项目结构无任何第三方依赖,轻量简洁,易根据自身需要扩展支持Java的System.out输出,支持Android的Log类输出支持日志筛选和拦截处理,可自定义输出格式(需要自己去扩展)对同标签日志进行缓存,避免性能浪费调用简单 ,只需传递一个TAG字符串便可以LogManager.getInstance().getLog(TAG)具体LogManager日...

2018-12-11 22:19:51 159 1

原创 Android Toast BadTokenException分析及解决方案

现象Fatal Exception: android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@fcd9ef6 is not valid; is your activity running? at android.view.ViewRoot...

2018-12-11 21:49:59 355

原创 基于OKHttp3简单封装的网络请求类

使用implementation "com.squareup.okhttp3:okhttp:latest_version"构造链式调用生成OKHttpClient对象。设置拦截器基础的日志输出拦截器 loggingInterceptor,此时还得引入如下包:implementation 'com.squareup.okhttp3:logging-interceptor:...

2018-12-06 22:13:53 68

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除