自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Zachary的基地

在大海里遨游~~

  • 博客(245)
  • 收藏
  • 关注

原创 Kotlin之实现随机生成汉字

关于编码介绍在Java之将GB2312编码转化为汉字有提。GBK编码,是对GB2312编码的扩展,因此完全兼容GB2312-80标准。GBK编码依然采用双字节编码方案,其编码范围:8140-FEFE,剔除xx7F码位,共23940个码位。共收录汉字和图形符号21886个,其中汉字(包括部首和构件)21003个,图形符号883个。private fun getChineseWord(): String { val encodelist = arrayOf( ...

2021-11-05 13:54:43 2385

原创 Java之判断密码是否是大小写字母、数字、特殊字符中的至少两种组合

代码:public class CheckPassword { //数字 public static final String REG_NUMBER = ".*\\d+.*"; //小写字母 public static final String REG_UPPERCASE = ".*[A-Z]+.*"; //大写字母 public static final String REG_LOWERCASE = ".*[a-z]+.*"; //特殊符号

2021-01-05 16:34:05 3117

原创 AndroidStudio每次构建项目都在download maven-metadata.xml问题

原因及解决方法:1、引用资源版本号不确定,每次构建都会通过资源库中下载maven-metadata.xml,然后得到最新发布版本号或最新版本号,才会根据这个版本号来下载对应的jar。例如:implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'修改为:implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:6.6.

2021-01-05 14:39:29 6734 1

原创 Android之网络状态变化监听

在BaseActivity中,接收网络状态变化广播。使用EventBus进行相应的提示通知。一、自定义NetBroadcastReceiver网络监听import org.greenrobot.eventbus.EventBus;/** * Created by zachary on 2020/04/10. * 全局网络状态监听 */public class NetBroadcastReceiver extends BroadcastReceiver { @Override

2020-09-03 14:46:39 1114

原创 Android Studio报错adb不是内部命令

今天换了笔记本开发,更新了Android Studio最新版本后提示:adb无法使用或不是内部命令。一、在系统环境变量path中配置添加ADB路径,在path路径中添加两个路径:D:\InstallPath\AndroidSDK\platform-tools;D:\InstallPath\AndroidSDK\tools二、之后将platform-tools文件夹中adb.exe、AdbWinApi.dll 和 AdbWinUsbApi.dll三个文件一起复制到windows系统的C:\W..

2020-07-01 15:58:29 1011

原创 Android之5.0至10.0大变化

Android 5.0新特性: MaterialDesign设计风格 支持64位ART虚拟机(5.0推出的ART虚拟机,在5.0之前都是Dalvik。他们的区别是:Dalvik,每次运行,字节码都需要通过即时编译器转换成机器码(JIT)。ART,第一次安装应用的时候,字节码就会预先编译成机器码(AOT)) 通知详情可以用户自己设计 Android 6.0新特性 动态权限管理 支持快速充电的切换 支持文件夹拖拽应用 相机新增专业模式 And

2020-06-30 17:12:13 608

原创 Java之PriorityQueue实现最大堆、最小堆

简要概括学习很多算法知识,力争做到最优解的学习过程中,很多时候都会遇到PriorityQueue(优先队列)。一个基于优先级堆的无界优先级队列。优先级队列的元素按照其自然顺序进行排序,或者根据构造队列时提供的 Comparator 进行排序,具体取决于所使用的构造方法。优先级队列不允许使用 null 元素。依靠自然顺序的优先级队列还不允许插入不可比较的对象,这样做可能导致 ClassCastException。此队列的头是按指定排序方式确定的最小元素。如果多个元素都是最小值,则头是其中一个元素——选

2020-06-29 10:42:42 6868

原创 Android之子线程更新主线程

子线程更新主线程操作的几种方法: //定义handler static final int SUCCESS=1; static final int FAIL=0; Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { ...

2020-06-28 14:56:40 366

原创 Android之设置WebView的UserAgent

设置WebView的UserAgent标记,便于WEB端统计分析、并且这样限制了H5在设置了指定的UserAgent的APP才可以浏览Url中内容。

2020-06-28 14:53:14 3680

原创 Android报错:The apk for your currently selected variant (**-release.apk) is not signed.

今天,AndroidStudio打开原来的项目时出现运行处一个红色叉号。操作:点击选择叉号上面显示的Edit Configurations 查看右下角的错误警告信息。报错:Error: The apk for your currently selected variant(**-release.apk)is not signed.Please specity a signing configuration for this variant(release)原因:项目使用release

2020-06-12 16:05:44 737

原创 Flutter之Json在线转Dart

在flutter中数据的解析转变成我们想要的类。在线Json格式化:Json格式化Json转dart实体类:Json转Dart

2020-05-20 11:22:37 1488

原创 Flutter之显示Toast

在Flutter中实现与原生的Toast一样的展示效果,使用插件fluttertoast的插件。1.添加依赖fluttertoast: ^2.1.12.控制台输入命令,下载插件flutter packages get3.使用Toast方式Fluttertoast.showToast( msg: "提示信息", toastLength: Toast.LENGTH_SHORT, gravity: ToastGravity.CENTER, timeIn

2020-05-19 15:20:52 1929

原创 Flutter报错:Waiting for another flutter command to release the startup lock

由于flutter显示安卓设备无法找到,输入命令:flutter doctor之后Flutter报错:Waiting for another flutter command to release the startup lock原因:现这种情况是因为在等待其他的命令执行完毕。有时其他命令的执行会卡住。解决方式:1.,所以最简单的方式是杀死其他任务,执行命令:killall -9 dart2.进入到你的flutter sdk目录中,然后找到bin/cache/lockfile文.

2020-05-15 17:32:13 283

原创 Flutter报错:flutter Your app isn't using AndroidX

运行flutter项目报错:Your app isn't using AndroidX.To avoid potential build failures, you can quickly migrate your app by following the steps on https://goo.gl/CP92wY.安卓运行需要支持AndroidX,解决这个警告的办法是在gradle.properties添加如下代码即可:android.enableJetifier=trueandroi

2020-05-14 11:23:36 398

原创 Android之集成微信支付

安卓实现微信支付,作为移动端相对来说还是比较简单的。为了保证安全性,校验任务应该放在后台处理。首先注册开发平台,获取集成的能力,申请你的 AppID。微信开放平台:资源下载1.在 build.gradle 文件中,添加如下依赖即可:dependencies { api 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'}2.在AndroidManifest.xml 清单配置文件中添加必要的权限:<us

2020-05-14 10:23:09 2569 1

原创 Android之视图绑定ViewBinding使用

问题:最近使用模块化开发一个新项目,但是Butterknife真是闹心,即使在我成功弄了R2,项目也正常运行之后还是发现很多问题。经常出现的R2爆红,必须重新构建之后才可以找到文件(强迫症表示不服); 又偶尔出现xml文件找不到的问题,之后莫名其妙的有可以找到了。我猜想可能和这个R2有关系,真心不好用。使用视图绑定ViewBinding的优点:简洁、编译安全、编译速度快。原理:...

2020-05-08 10:36:11 4756

原创 Android之原生Js交互框架DSBridge

Android需要与js进行交互,这里选用DSBridge,支持X5内核。

2020-04-28 08:51:58 1177

原创 Android之页面添加水印

先上个效果图:自定义类:import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.ColorFilter;import android.graphics.Paint;import android.gr...

2020-04-24 14:32:07 1939

原创 Android之发布库到jcenter步骤

相信大家平时都用过一些开源的框架,那么我们如何将自己的开源项目分享给大家使用。一、注册bintray账号二、登录bintray,点击Edit Profile—>API key,将API key复制保存下来后面上传会使用...

2020-04-22 16:44:50 495 1

原创 AndroidStudio升级3.6+设置Activity方向screenOrientation报错

AndroidStudio升级3.6,设置Activity方向时<activity android:name=".main.MainActivity" android:screenOrientation="landscape"/>报错信息:Expecting 'android:screenOrientation="unspecified"' or...

2020-04-10 13:50:58 631

原创 AndroidStudio升级3.6+第三方库中日志中文乱码

中文乱码一般仅在AS设置中选择UTF-8就可以,但是发现第三方的信息提示还是中文乱码。解决方法:关闭AS 打开android studio 安装目录下的bin目录 修改bin目录下:studio64.exe.vmoptions文件 以文本文档方式打开,在最后一行添加:-Dfile.encoding=UTF-8 重启AS...

2020-04-10 11:23:49 508

原创 Android之获取移动网络运营商名称

原来的获取方法不好用了,适配安卓10.0设备,最新获取移动网络运营商名称方法。获取权限:android.permission.READ_PHONE_STATE工具类代码:/** * Created by zachary on 2020/04/02. * 获取设备信息 */public class DeviceUtil { /** * 获取网络运营商名...

2020-04-02 16:52:42 4510 4

原创 Android之常见安全问题

Android 常见安全问题组件安全Activity访问权限的控制(可能会导致恶意调用页面,接收恶意数据)1.私有Activity不应被其他应用启动且应该确保相对是安全的2.关于Intent的使用要谨慎处理接收的Intent以及其携带的信息,尽量不发送敏感信息,并进行数据校验3.设置android:exported属性,不需要被外部程序调用的组件应该添加android:expo...

2020-03-16 15:38:58 2223

原创 安卓集成H5+无法获取选择图片的资源

这是一个很坑的问题,在此记录,给自己一个记性!两天的时间,期间高度集中,几度崩溃,最后感恩,问题总会解决!安卓项目集成H5+应用,以Widget方式集成,虽然一路坎坷但也是顺利完成。其中遇到一个问题,集成的H5+中有一个小功能是拍照上传的功能,成功唤起相机或者是相册,选择图片进行上传。但是,图片没有获取成功!!怎么回事?进行所有可能性的排查。1.是不是对接方编写H5+应用的问题?他没有拿...

2020-03-16 14:57:33 810

原创 Android之实现手写电子签名

前一段时间,公司做了一个调查评估的项目,安卓端牵扯到签字确认问题,要在pad上实现电子签名。虽然不知道这有没有相关的法律效应。Github开源库:android-signaturepad网址链接:链接//手写电子签名implementation 'com.github.gcacace:signature-pad:1.2.1'...

2020-03-16 14:51:35 2130

原创 Android之Java与JS交互报错:Java exception was raised during method invocation

混合开发,报错问题:Java exception was raised during method invocation安卓调试发现,JS一直、不停地调用原生方法,让H5同事调试才发现这个问题。在与JS交互的方法中不能直接操作View,需要放在主线程操作才能生效。虽然我并没有操作View,但是一定是调用的方法需要在主线程操作。解决代码: // 使用RxJava ...

2020-03-12 14:51:07 4554

原创 Android报错:Using WebView from more than one process at once with the same data directory is not...

安卓项目中加载网页使用腾讯的TBS,X5内核一直还好用,发现部分用户手机出现了偶尔闪退的情况。研究后发现报错信息:Using WebView from more than one process at once with the same data directory is not supported.完整信息:UncaughtException detected: java.l...

2020-03-05 15:00:57 9816 5

原创 Android之RecyclerView隐藏item显示空白问题

需求要把recycleview的其中一个条目隐掉,把内容隐藏,出现空白区域,item高度不会改变。解决:把 item 的高度宽度设置为 0 来隐藏。 // 防止隐藏item出现空白 public void setVisibility(boolean isVisible, View itemView) { RecyclerView.LayoutParams p...

2020-02-28 17:47:00 2255

原创 Android报错:Received status code 501 from server: HTTPS Required

最近,APP进行一个监控的平台接入研究,果然需要研究,因为接入失败。按部就班的操作,导入包时报错:Received status code 501 from server: HTTPS Required官方的解释如下:从2020年1月15日开始,中央存储库不再支持通过纯HTTP进行的不安全通信,并且要求对存储库的所有请求都通过HTTPS进行加密。如果收到此错误,则需要用其规范的HTTP...

2020-02-28 17:00:13 1438

原创 Android之Service保活

临近年关,这一年的自己也有了一定的进步,想着马上就可以回家过年内心实在欢喜,感谢这一年的所有!临危受命,需要开发一个实时定位坐标采集的小项目。要求很简单:定位、地图划线,然后就是后台服务的保活操作了。今天,在此记录GitHub上好用的轮子:DaemonLibrary。集成方式:Step 1. Add the JitPack repository to your build file...

2020-01-20 14:26:40 3354

原创 Android之RecyclerView自定义滚动条

根据需求针对横向显示的列表增加一个滚动条显示。效果图:Recycleview列表实现原来是啥就是啥,先看看列表下面的滚动条。滚动条布局: <FrameLayout android:id="@+id/lay_slip" android:layout_width="w...

2019-12-13 16:32:24 2547 4

原创 Android之RecyclerView左滑编辑效果

为了模仿QQ聊天列表,实现左滑编辑的效果。推荐万能的适配器:BaseRecyclerViewAdapterHelper地址。但是这个适配器并没有可用左滑编辑的效果。实现侧滑效果,我们可以自定义RecyclerView:import android.content.Context;import android.graphics.Rect;import android.support...

2019-12-13 15:45:48 724

原创 Android之RecycleView类似聊天显示最底部数据

实现类似聊天列表,初始加载显示最底部数据,数据刷新重新显示最底部数据。一、使用setStackFromEnd从底部开始加载数据。LinearLayoutManager linearLayoutManager = new LinearLayoutManager(mActivity);linearLayoutManager.setStackFromEnd(true);rv_view.se...

2019-12-13 15:15:04 2349 2

原创 Android之弹出Dialog监听Back返回键点击事件

需求:弹出Dialog为不可关闭,点击返回按钮时退出页面。推荐一个好用的弹出框:kongzue的github地址,可满足大部分需求。实现监听返回键代码:AlertDialog alertDialog;//省略其他代码alertDialog.setOnKeyListener(new DialogInterface.OnKeyListener() { @Override ...

2019-12-13 14:47:19 2114

原创 Android Studio编译报错:“ java.lang.OutOfMemoryError: Java heap space”

前言:最近换了工作,到了新东家,厂子大了,人也多了,希望在新的环境中不断成长。在上家公司电脑是最好的,新的公司就是一般配置,内存只有8G,因此Android Studio3.5编译报错:java.lang.OutOfMemoryError。原因:java.lang.OutOfMemoryError: GC overhead limit exceeded则表示程序消耗了太多的可用内存...

2019-09-21 10:51:55 7541 4

原创 Android之Apk优化九道工序

针对安卓APP开发,打包的安卓apk之后发布应用。但在实现原有功能的前提下,怎么样保证apk体量尽可能的小又安全是我们需要追求的极致。第一步:使用svg转vector可缩放矢量图形,SVG不会像位图一样因为缩放而让图片质量下降。节约空间与内存,常用于简单小图标。1.在Android Studio中使用:将svg图片转换为VectorDrawable。2.使用注意兼...

2019-07-26 14:54:24 534

原创 Android之一像素保活

在开发中,有一些应用是需要常驻后台运行:长期对某个事物的监听或者长期扫描等。若手机锁屏,有一定几率被系统给杀死。在手机锁屏之后避免应用给杀死,通过提高进程的优先级,使用1像素Activity进行保活。原理:当屏幕熄灭时,锁屏状态,调起一个一像素的Activity,提高进程的优先级。一像素的Activity:import android.content.Context;imp...

2019-07-15 14:18:13 1728

原创 Android之腾讯Bugly采集用户Bug

目前公司推广的APP大部分应用在特定领域,APP的修改及问题由前方一线同事提出,但仍需要开发人员监控异常,及时修改。一分钟接入腾讯Bugly,监控应用报错信息。1.注册:Bugly官网:https://bugly.qq.com,进入官网QQ登录。输入:名称、平台、类型、描述。在产品信息中,获取App ID。2.接入1.在dependencies中引入// ...

2019-07-15 11:10:04 1139

原创 Android之向上滑动某控件至顶部悬浮

最近实现一个答题的页面,大致内容:顶部是分数,下面都是题目。实现滑动题目时仍保留顶部的操作。很常规的操作,因为题目是根据接口动态实现的,极其复杂,所以滑动使用ScrollView实现。效果:实现思路:重写ScrollView中的onScrollChanged方法,通过接口回调计算滑动距离,控制控件的显示隐藏达到这种效果。在布局中,要浮动的控件并不一定在最上面,通过ScrollV...

2019-07-09 17:18:10 1560

原创 Android之图片类型转换(drawable、bitmap、file、url、byte),压缩

安卓开发涉及到图片的各种处理时,不论是压缩还是上传文件,经常会用到drawable、bitmap、file类型的转换。drawable转bitmap:Bitmap mBitmap = BitmapFactory.decodeResource(getResources(),R.mipmap.pic);file转bitmap:File mFile = new File();Bit...

2019-07-09 15:21:29 4241

空空如也

空空如也

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

TA关注的人

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