- 博客(76)
- 资源 (5)
- 收藏
- 关注
原创 使用百度 PaddleOCR对身份证识别的简单处理
PaddleOCR是百度深度学习框架PaddlePaddle开源的OCR项目,旨在打造一套丰富、领先、且实用的OCR工具库,助力使用者训练出更好的模型,并应用落地。PaddleOCR包含丰富的文本检测、文本识别以及端到端算法。
2023-05-23 23:56:43 4645 1
原创 人脸活体检测人脸识别:眨眼+张口
使用dilb、face_recognition库实现,眨眼+张嘴的活体检测、和人脸识别功能。包含摄像头和视频
2022-08-23 16:11:54 30873 10
原创 face_recognition库的使用
face_recognition库基于dlib的使用,包含dlib的安装,及face_recognition库各个方法的使用
2022-08-19 10:39:12 8138 1
原创 对称加密与非对称加密
一:对称加密1:原理通信双⽅使⽤同⼀个密钥,使⽤加密算法配合上密钥来加密,解密时使⽤加密过程的完全逆过程配合密钥来进⾏解密。举个简单的例子:按规则使⽤不同的⽂字来替换掉原先的⽂字来进⾏加密。 码表:原始字符:ABCDEFGHIJKLMNOPQRSTUVWXYZ密码字符:BCDEFGHIJKLMNOPQRSTUVWXYZA原始书信:how are you加密书信:ipx bsf zpv解读后: how are you加密算法:替换⽂字 密钥:替换的码.
2022-04-23 23:02:53 3797
原创 如何实现Android指纹登录
一、概述指纹识别通过指纹传感器采集信息,进行指纹图像的预处理,然后进行特征点提取,最后进行特征匹配。一般指纹识别的用途有:系统解锁、应用锁、支付认证、普通的登录认证。 指纹识别两种场景 本地识别:在本地完成指纹的识别后,跟本地信息绑定登陆;后台交互:在本地完成识别后,将数据传输到服务器; 无论是本地还是与服务器交互,都需要对信息进行加密,通常来说,与本地交互的采用对称加密,与服务器交互则采用非对称加密,下面我们来简单介绍下对称加密和非对称加密 对称加密、非对称加密和签名 在
2021-09-28 22:31:30 13121 2
原创 项目发布到MavenCentral的流程
1、注册sonatype账号首先前往【https://issues.sonatype.org】注册账号注册需要填写邮箱(重要,请填写真实的邮箱)、名字、用户名(重要,用于登录)、密码(需要特别复杂的组合密码),和验证码完成注册。2、创建Project工单在顶部的栏目中找到新建按钮进入到创建问题页面,基础信息安装图片里的描述填写即可,域名前缀分两种:1)你没有自己的域名,并且你的代码托管在github上,你可以使用io.github.xxx来作为域名前缀,xxx
2021-09-27 16:55:18 1121 2
原创 AccessibilityService的使用
一:什么是AccessibilityService AccessibilityService是Google为了方便那些身体不便的用户来使用Android设备而提供的一种无障碍服务,该服务可以帮助那些身体不便的用户更加简单的使用和操作Android设备,这些操作包括文字转语音,触觉反馈,收拾操作,轨迹球和手柄操作等。AccessibilityService提供的这种服务就是用来监听指定的应用的,例如监听指定应用页面内容的边界,页面的跳转,焦点的变化等等。因此我们可以利用该服务做我们想做的小外挂...
2021-07-27 18:34:33 5290 1
原创 序列化Serializable和Parcelable的区别详解
什么是序列化,为什么要进行序列化答:对象要进行传输(如:activity 与activity间 ,网络间 进程间等等)、存储到本地就必须进行序列化 。这种可传输的状态就是序列化。怎么序列化??两种1.Serializable (java 自带)Serializable的作用是为了保存对象的属性到本地文件、数据库、网络流、RMI(Remote Method Invocation)以方便数据传输,当然这种传输可以是程序内的也可以是两个程序间的。使用了反射技术,并且期间产生临时对象.
2021-07-01 16:00:45 965
原创 SVG在Android上的使用
阿里巴巴图片库:https://www.iconfont.cn/collections/detail?cid=9638一:什么是SVGSVG是指可伸缩矢量图形 (Scalable Vector Graphics),它不同于传统的位图(像GIF、JPEG、PNG等都是位图图像格式),不是通过存储图像中每一点的像素值来保存与使用图形,而是通过 XML 文件来定义一个图形,通过一些特定的语法和规则来绘制出我们所需的图像——同样是使用一张图片,SVG 的方式是事先定义好怎么去画这个图,然后等要用的时候再把它
2021-05-21 16:04:04 6781 8
转载 Android支持库AndroidX和support-v4、appcompat-v7的前世今生!
Android技术迭代更新很快,各种新出的技术和名词也是层出不穷。不知从什么时候开始,总是会时不时听到AndroidX这个名词,这难道又是什么新出技术吗?相信有很多朋友也会存在这样的疑惑,那么今天我就来写一篇科普文章,向大家介绍AndroidX的前世今生。Android系统在刚刚面世的时候,可能连它的设计者也没有想到它会如此成功,因此也不可能在一开始的时候就将它的API考虑的非常周全。随着Android系统版本不断地迭代更新,每个版本中都会加入很多新的API进去,但是新增的API在老版系统中并不存
2021-05-20 16:33:07 3237
原创 用 kotlin 的方式自定义回调事件
一:传统java 中自定义回调事件的写法创建 interface类,创建 interface 对象,实现 set 方法: public Listener listener; public void setListener(Listener listener) { this.listener = listener; } public interface Listener { void onSure(String carNo); ...
2021-04-14 11:23:24 1901
原创 Android Studio使用时出现的bug
报错一:Could not resolve all files for configuration :app:debugCompileClasspath在模拟器上运行后,报错以上的错误解决的方案:打开你的工程项目,按照下图操作步骤,在指定地方(下图示4、5处)加上maven{ url 'https://maven.aliyun.com/repository/google'}报错二:error:style attribute '@android:attr/windowEnterA..
2021-03-19 16:50:07 270
原创 AndroidStudio同步上传项目代码到GitHub
前提是在Git已经配置好的前提下进行,这里就不在进行赘述,我们直接进行与GitHub的操作一:在AndroidStudio中登录GitHub1)选择GitHub2-3)添加账号4)输入账号和密码后登录,如果登录成功直接选择5保存应用6)不知道为什么我一直登录不了,一直显示错误的验证数据,百度,看视频琢磨了好久硬是不行,最后还是细心的搜到了一位小伙伴的分享,用UseToken(令牌)登录,没错就在输入账号登录的右上角可以选择用令牌登录。二:创建Token(令牌)1)登录GitHub到
2021-03-17 10:30:47 1315
原创 github如何创建Repository(代码仓库)
一:登录你的github账户主页,在你的Repository界面中选择“New”,进入新建Repository流程,系统会弹出新建Repository页面。二:Repository页面,在Owner下面的列表中选择Repository的拥有者,这个一般就是自己了,在Repository name下面的文本框中输入代码库名称,同时如果有必要可以在Description下面的文本框中输入该代码库的描述信息。三:接下来需要选择代码库的公开程度,有两种,一个是Public(公开),另一种是Priva
2021-03-16 18:14:49 5507 1
原创 Android 解决在RecyclerView/ListView 复用中Edittext数据显示混乱
开发中,经常会遇到需要在适配器中设置Edittext进行文字的输入,就会出现滑动时文字错乱等问题,今天做个记录一:ViewHolder里的设置在适配器中,实现TextWatcher,通过MyTextWatcher(DataViewHolder holder) 构造函数,将ViewHolder对象传入,在afterTextChanged方法中,通过ViewHolder,获取对应控件设置的tag,tag为当前的位置,即数据的position, getData()为我们设置的获取适配器的数据list,通.
2021-01-21 10:53:03 963
转载 使用gitlab网页将代码合并分支
下面将dev分支代码合并至master1.点击request merge2.源分支为当前分支,目标分支默认为master,确认无误,点击提交3.提交后出现下面的界面,点击Merge进行合并
2020-12-17 12:19:52 3868
原创 Android Studio下载gitLab项目
一:克隆项目打开“File”—>“New”—>“Project from Version Control”—>“Git”,弹出界面如下图:也可直接VCS—>Get from Version Control...点击clone按钮将文件克隆到本地二:如果项目要下的是分支里的内容按步骤一处理后,在Android Studio里进行切换分支,在check out 加载出来就ok了 ...
2020-12-17 12:12:50 915
原创 安卓开发获取签名文件MD5,SHA1,SHA256签名方法
有时用到第三方的库,后台注册的时候需要用到签名文件的一些信息,如签名文件MD5,SHA1,SHA256等等,来看下具体怎么获取1,首先,我们要知道cmd的打开方式。开始-运行-输入cmd即可打开,或者win+R快捷打开输入cmd。2,输入安装的JDK bin文件路,按回车。比如我的是C:\Program Files\Java\jdk1.8.0_181\bin,可用cd /d 直接进入想要的文件夹cd /d C:\Program Files\Java\jdk1.8.0_181\bin
2020-12-16 16:32:48 1190
原创 Android Studio Project 中Module打包成aar包或jar
一:说明将一个独立的应用嵌入其他应用当中;相关方法有两种:第一种是将被嵌入的应用打包成 jar 包,但是这样的局限性是无法将被嵌入的应用所使用的资源性文件一起打包;第二种是将被嵌入的应用打包成 aar 包,这也是 Android Studio 的一种新特性,可以将应用所使用的资源性文件一起打包;如果Project 中 Module 是一个应用,则在 Module 的 build.gradle 文件中定义属性为:apply plugin: 'com.android.application'
2020-12-01 19:47:51 5637
转载 安卓四大组件之ContentProvider(内容提供者)
首先我对ContentProvider(内容提供者),知道的太少太少,因为使用也非常少,所以,接触的少,自然就不了解了,这篇文章只是一个学习的过程吧。基本介绍:ContentProvider在Android中的作用是对外共享数据,也就是说可以通过ContentProvider把应用中的数据共享给其他应用访问,它还提供了一套完整的机制,允许一个程序,访问另一个程序中的数据,重要的是能保证被访数据的安全性,目前,使用内容提供者是Android实现夸程序共享数据的标准方式。不同于文件存储和Share.
2020-11-25 18:07:17 889
原创 Android工程初始化关联Gitlab指南
在AS上新建一个工程,输入好工程名和包名2:创建成功后创建本地git仓库3:选中当前新建项目的根目录,点击确定4:配置项目关联的远程库5:点击新增按钮6:到gitlab上对应的项目目录下,点击SSH路径的复制按钮7:把路径粘贴进来点确定8.进到当前工程的文件夹里,空白地方右键,点击Git Bash Here9:输入下面拉取远程库指令...
2020-10-16 10:41:10 1059
原创 记录下RxJava系列教程、Retrofit也很好
这位哥们真的很用心RxJava系列教程写的特别好:https://www.jianshu.com/nb/14302692Android Retrofit 2.0 的详细 使用攻略(含实例讲解):https://www.jianshu.com/p/a3e162261ab6
2020-09-02 09:57:22 124
转载 Android Binder跨进程通信机制 原理
来着大神的杰作,转载记录学习目录目录1. Binder到底是什么?中文即 粘合剂,意思为粘合了两个不同的进程 网上有很多对Binder的定义,但都说不清楚:Binder是跨进程通信方式、它实现了IBinder接口,是连接ServiceManager的桥梁blabla,估计大家都看晕了,没法很好的理解 我认为:对于Binder的定义,在不同场景下其定义不同 定义在本文的讲解中,按照大角度 -> 小角度去分析Binder,即:先从机制、模型的角度去分析...
2020-09-01 16:35:56 343
转载 Android Studio中直接写入JSON格式字符串
来自郭霖大神的杰作,记录下方便自己学习那么今天,我就跟大家分享一个Android Studio中比较冷门的快捷键小技巧,方便大家可以更好地开发(zhuang bi)。JSON是我们日常开发工作中必然会用到的技术,绝大多数情况下,我们都是从服务器接口中得到响应的JSON数据,然后在客户端进行解析。但有的时候,我们可能只是想要在本地对JSON数据进行测试,这个时候从服务器去获取JSON数据太麻烦了,所以很多人会选择将JSON数据硬编码到本地。可是写过JSON的人应该都知道,在本地对JSON进行硬
2020-09-01 09:33:26 3002 2
转载 Java中的注解以及自定义注解
1、Annotation(注解) 概述(1)、注解起到标识做用,比如Junit的@Test注解。Junit会在运行时检查方法上是否存在此注解,如果存在,就通过反射来运行你的方法。注意标红的反射两个字,反射在注解里相当重要,写完你的自定义注解类后没啥用,必须要用反射才能让它动起来!所以需要对反射有了解,感兴趣的小可爱可以看下这篇:用最直接的大白话来聊一聊Java中的反射机制(2)、从 JDK 5.0 开始,Java 增加了对Annotation(注解)的支持。(3)、注解其实就是代码里...
2020-08-27 17:11:38 226
原创 ObjtctBox的使用(Kotlin)
一:ObjectBox介绍ObjectBox是一个专门为物联网和移动设备打造出的非常快速的面向对象的数据库,它有一下几个特点ObjectBox是小于1MB的,所以非常适用于移动App和小的物联网设备, ObjectBox是第一个高性能,NoSQL,并且兼容ACID的边缘数据库 目前已经有8万多个APP使用ObjectBox, ObjectBox比我们经常使用的SQlite数据库快10倍。 当数据更改时,不需要做手动的迁移 多平台支持,C,java,swift,go 边缘计算: 在靠近物.
2020-08-19 19:42:02 643
原创 ADV虚拟机使用遇到的问题
有时遇到一些需要模拟器的测试时,需要遇到使用ADV,之前都好好的这次确越到了问题。问题一:The APK failed to install. Error:Could not parse error string可以打开模拟器,但是apk安装不进去搜索解决方案:模拟器CPU是X86-64架构,而apk只支持ARM架构我们可以在build.gradle中有ndk这段代码,只要在后面加上“x86”,再sync now一下,就发现可以运行了。ndk {abiFilters "armea
2020-08-12 11:43:41 988
转载 Chrome调试WebView加载的网页
有时候我们需要在WebView上打开网页,有的还需要两端交互,但是如果出现了问题,就很难找到问题原因,因为没法像浏览器那样可以调试。Chrome有个黑科技就解决了这个问题,可以调试在手机上打开的任何网页,包括手机浏览器和应用内的WebView。但是要注意的一点是需要FQ,不然到了第四步是出不来的。要求1.Chrome 32 以上版本;2.Android 4.0 以上版本。一:打开Chrome的菜单 - 更多工具 - 开发者工具二:在开发者工具的窗口,点击三个点,打开Mor..
2020-07-24 17:57:46 5056
原创 android布局文件显示异常design editor is unavailable until a successful build
问题:该显示布局文件的地方,却显示了design editor is unavailable until a successful build。方法:在gradle.properties中添加:android.enableAapt2 = false
2020-07-14 17:31:27 710 1
转载 Android 多渠道打包实操(更改包名、图标、主题资源 、替换常量、第三方SDK Appkey配置)
最近在做一个通用版的会员系统,给予不同的公司使用,先前是通过切换版本分支来管理的,后面发现实在是繁琐和痛苦管理,仅仅是需要更改不同的常量、主题资源、包名、图标等等,主体代码逻辑功能基本不变。先前了解过多渠道包的使用,其实这里完全可以通过 Gradle 的多渠道打包来这个痛点,期间也踩了坑,在这里做个记录一、初识productFlavors无疑要实现一个壳工程打出不同样式的包,这个技术解决方案Android已经替我们考虑到了,也就是使用Gradle中的productFlavors,在做定制或适配
2020-07-10 10:36:13 3051 1
转载 Android Studio修改工程项目名称以及修改包名
文章目录 1.修改Android项目名称 2.修改包名称 1.修改Android项目名称例如:将项目名称为“MyWeather”修改为“Weather”在编译器中直接修改项目名称会出现以下情况:所以修改项目名称需要关闭androidstudio的此项目,在项目的文件夹中进行修改,以下是步骤:关闭Android Studio,修改项目文件夹名称,将MyWeather修改为Weather 重新打开此工程,会发现项目名变为新修改的名称,但是这还不能结束,找到MyWeather
2020-07-09 18:19:51 11184
原创 git生成SSH KEY并添加到Github、Gitlab
进入C:\Users\****\.ssh删除原本的ssh key 执行:ssh-keygen -t rsa -C "your_email@example.com"然后连续回车3次生成key 添加key执行:eval $(ssh-agent -s) 再执行:ssh-add ~/.ssh/id_rsa 把key复制到剪贴板 win:clip < ~/.ssh/id_rsa.pub mac:pbcopy < ~/.ssh/id_rsa.pub 到github添加一...
2020-07-05 16:40:11 466
转载 Rxlifecycle使用详解
随着Android第三库的普及,RxJava(https://github.com/search?q=RxJava)和RxAndroid(https://github.com/ReactiveX/RxAndroid)越来越被人熟知,简洁的语法,配合Java8 Lambda表达式,使代码的结构更加清晰,通过线程调度器更容易控制和切换线程,种种优点,使用它的人也越来越多。但是使用不好,很容易导致内存泄露。Rxlifecycle (https://github.com/trello/RxLifecycle)就使被
2020-07-02 17:09:37 4820
原创 AndroidStudio 升级后遇到的问题
一:Android studio升级后,格式化布局文件时代码会变化Android studio 又来搞事情了,更新到3.5版本后,格式化布局文件代码时,布局文件代码竟然会发生变化,意思是不让格式化代码了呗? 垃圾的IDE。解决办法:“File”-"Settings"-"Editor"-"Code Style"-"XML"-"Set from..."-"Predefined Style"-"Android"。暂时可解决。二:Androidstudio更新后android:screen.
2020-06-11 17:10:55 1178
转载 kotlin-常用操作符
1:Elvis操作符 如果 ?: 左边表达式非空,elvis操作符就会返回左边的结果,否则返回右边的结果。请注意,仅在左侧为空的时候,右侧的表达式才会计算。fun elvisTest(b: String?) { val a= b?.length ?: -1 // 等价于 val a:Int = if( b!= null) b.length else -1 Log.d("alen","b is${b}" + ",a is " +a)}2:类型转换as和安全转换 as...
2020-06-05 10:16:47 471
原创 Kotlin- object
一、 object关键字object 关键字可以表达两种含义:一种是对象表达式,另一种是 对象声明。1、对象表达式继承一个匿名对象val textView = findViewById<TextView>(R.id.tv)textView.setOnClickListener(object : OnClickListener { override fun onClick(p0: View?) { Toast.makeText(this@
2020-06-04 17:43:38 385
使用dilb、face_recognition库实现,眨眼+张嘴的活体检测、和人脸识别功能。包含摄像头和视频
2022-08-23
包含:dlib cp37、38、39、310
2022-08-18
clearSvn.bat
2020-01-07
ChangeRadiobutton.zip
2019-07-31
安卓 实现亮屏 可保持常亮 也设置息屏
2017-02-24
ViewPager 套fragment 再套 ViewPager 套fragment
2016-10-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人