- 博客(93)
- 资源 (10)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Android:基于OpenCV实现身份证识别(C++)——图像处理
OpenCV是什么?OpenCV(Open Source Computer Vision Library)是一个开源、跨平台(Windows、Linux、Android、Mac OS)的图像处理库;比如常见的身份证识别,车牌识别,抖音的视频特效,人脸识别等,都是用它来实现的。OpenCV支持在Windows、Linux、Mac OS上开发,推荐大家在Windows上开发,不为别的,就为少折腾。亲测,在Mac、Linux上面折腾的都是泪!😥Windows上配置环境比较简单(具体教程,可自行搜索):(1.
2022-06-14 15:53:13
2638
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Android:玩转网络请求架构 Retrofit+Kotlin协程简单使用(MVVM架构模式)
MVVM架构模式(Jetpack)引入lib,APP模块:build.gradledependencies { // 添加Jetpack中架构组件的依赖,注意viewmodel要添加viewmodel-ktx的依赖 api "androidx.lifecycle:lifecycle-livedata:${rootProject.ext.lifecycle}" api "a...
2020-01-13 17:35:11
5999
3
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Android:玩转Retrofit+OkHttp+Kotlin协程 网络请求架构
文章目录引言实战1、引入开源库2、简单封装3、开始使用引言目前做APP网络API请求Retrofit+OkHttp+Kotlin协程应该是比较流行的,相比之前Retrofit+RxJava 有了太多的优势,Rx可以做的事情,协程一样可以做,而且可以做到更方便,更简洁。还不会用协程的童鞋可以看下这篇[Kotlin:玩转协程],接下来我们进行网络请求框架的实战。实战1、引入开源库在app m...
2020-01-13 16:00:18
9006
6
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Android:开发中遇到的异常Error解析
这里的method和上一句是同一个对象,也就是说,我这里的接口方法名和action的名字是一模一样的,所以如果后台配置的这两个名字不一样,那就会报上面这个错误信息,后台也不会收到你发的请求,它更不会报错。在使用原生Intent方式分享图片给第三方应用时, 微信好友和朋友圈都可以正常分享,并能读到图片,唯独QQ无法分享,分享时,界面会显示一个透明的界面,切换时后台管理可以看到确实拉起了QQ。解析:这个错误是我在用ksoap2库请求后台WebService接口时报出的错误,下面是Android的网络请求方法。
2015-09-19 09:51:54
3338
1
原创 第二章 编译运行Android Wenet语音识别
本文继续前一章内容,开始前,请先准备好Wenet源码。至此Wenet的Android Demo 已跑通运行。注意:此方式运行的Android Demo 语音识别过程无需移动网络或Wifi。参考。
2024-06-21 16:48:25
1149
5
原创 第一章 基于Ubuntu 24.04 搭建wenet语音转文字
环境:Ubuntu 24.04+python3.12以上就是今天要讲的内容,本文仅仅简单介绍了wenet的基本搭建与使用,识别准确率还有待提高,替换更好的训练模型数据。
2024-06-21 09:15:37
1025
原创 【HarmonyOS】鸿蒙应用开发基础认证题目
随着鸿蒙系统的不断发展,前不久,华为宣布了重磅消息,HarmonyOS next 开发者版本会在明年(2024)开放,并不再支持Android应用!这也意味着,移动端开发者今后又多了一个适配平台,也到了必须学的时候了。目前已知一线大厂均已开始适配鸿蒙应用。至于他们如何适配的...
2023-11-20 11:59:52
6036
1
原创 Android: Activity的启动流程(基于Android 13)
随着Android版本的不断迭代,代码常常会有所变更,本文就基于Android 13再次走一遍Activity的启动流程。以上就是今天要讲的内容,本文仅仅简单地走了一遍在Android13中Activity的启动流程,只是有些许变化,整体流程思路还是和以前版本一致。想要了解源码思路,画时序图还是很有帮助的,跟踪代码不迷路。
2022-11-01 16:41:15
1799
2
原创 项目管理:成为项目经理,是怎样的经历?
什么?“项目经理”?我们没有,大公司才有的吧?!其实不然,公司不论大小,只有有项目 就会存在管理,只不过由于规模大小不同, 这部分的重视程度也不同。一切都是为了项目可以顺利进行,避免或减少项目实施过程中出现的问题,使项目达到我们的预期。“常总结,常反思” 对于技术人员如是,对于项目管理人员更是如此,从总结中认识不足,从反思中自我成长。因此,常常在项目结束时或达到阶段性节点时,团队复盘讨论是十分必要的,作为项目经理在团队中也会收到强烈的认同感。
2022-10-04 22:40:13
744
原创 Android:玩转Jetpack Compose之MVI架构——基类中使用页面UiState
自去年Google发布了Compose正式版后,就开始将其逐渐应用至项目中,页面编码方式在改变,架构也在变化,也就是现在Google官方建议的MVI。本文不打算再叙述对于架构的理解,官网和其他博主已有许多文章;今天主要讲下我在架构迁移中遇到的一些问题,以及解决方案;官方应用架构指南: https://developer.android.google.cn/topic/architecture#common-principles注:本文全部内容均为Kotlin语言。
2022-10-03 01:01:50
3077
原创 Android:Jetpack Compose——实用的小技巧
Compose已经正式推出1年多了, 随着使用度越来越高,声明式UI已成趋势,以后必然成为原生开发首推方式,本文就介绍了Compose使用过程中的一些细节问题解决方案,助你纵享丝滑~以上就是今天要讲的内容,本文仅仅简单介绍了常使用的几个方法 ,适合快速查阅,后面不定时加入新的内容。
2022-08-19 16:57:44
1823
原创 Android:使用Jetpack Compose画渐变背景
如上图所示,当UI设计中有渐变背景的控件时,传统方式可以使用xml来画,但是,渐变色最多只能设置3种(即起始颜色,中间颜色,结束颜色),更多的颜色不支持;或者直接美工切图,由于内容长度不固定,可能还需要制作.9.png图片,并设置拉伸区域,麻烦且会比较占用APK大小。现在我们完全可以使用Compose纯Kotlin代码来实现,支持多个色渐变。系统默认提供了五种Brush(笔刷),分别是:horizontalGradient(横向渐变)、verticalGradient(纵向渐变)、linearGradien
2022-07-05 18:26:07
4228
3
原创 Android:使用Jetpack Compose实现自动轮播Banner
自动轮播Banner 相信大多数APP 都会有此需求,本文主要是使用Compose 来实现自动无限轮播图效果。代码如下:四、使用示例代码如下:总结以上就是今天要讲的内容,本文的源码已全部贴出,方便大家自取并快速使用。.........
2022-07-03 18:24:48
2004
3
原创 Android:使用Jetpack Compose 实现Text控件跑马灯效果
想要用Compose实现一个跑马灯效果的文本,在官网和Text源码中找了一圈没有找到api,貌似官方压根就没提供,之前我们在xml中使用TextView 实现文字跑马灯效果很简单,Compose现在既然没有,那我们就自己动手,丰衣足食!如果用Xml画界面,官方SDK是提供了属性android:ellipsize=“marquee”,实现起来很简单,代码如下:三、Compose方式实现1、动画效果使用TargetBasedAnimation来创建,原因是方便自定义动画的执行时间。2、通过Subcompo
2022-07-03 17:34:38
1874
原创 Android:基于OpenCV实现身份证识别(C++)——移植图像算法
第一章 Android:基于OpenCV实现身份证识别(C++)——图像处理第二章 Android:基于OpenCV实现身份证识别(C++)——移植图像算法我们要做一个Android上的身份证号码识别功能,在上一篇用OpenCV做了图像处理,本文目标是将我们的C++程序移植到Android程序中。新建项目——选择Native C++——点击Next;修改名称和包名——点击Next;这里可以选择C++的标准库版本,我这里保持默认,点击Finish。在官网下载opencv-4.5.5-android
2022-06-15 16:29:16
2404
原创 Android: 彻底搞懂Lifcycle——原理篇
上一篇我们认识了Lifecycle,并且学会了它怎么用。本篇再深入了解下它的原理,你会明白它是怎么做到感知生命周期的?【一句话概括】就是会向当前界面添加一个隐藏的fragment,由这个fragment来触发生命周期通知,然后观察者再做出具体的响应处理。现在我们知道了思路,如需详细了解,咱们接着看源码。先看Lifecycle抽象类,下面是Lifecycle 2.4.1的源码:lifecycle-common-2.4.1.jar—— androidx.lifecycle.Lifecycle.java;Li
2022-06-06 15:47:48
3249
3
原创 Android: 彻底搞懂Lifecycle——使用篇
你真的了解lifecycle吗?本文的目标就是要“打破砂锅问到底”,带你真真切切了解它。lifecycle 是属于Android Jetpack(官方开发工具包)—— Architecture(架构组件)中的一员。【官方介绍】构建生命周期感知型组件,这些组件可以根据 Activity 或 Fragment 的当前生命周期状态调整行为。【白话】lifecycle可以和Activity或Fragment生命周期绑定,方便我们做一些跟生命周期相关的业务逻辑。【应用场景】【示例】为了方便李(理)姐(解),下
2022-06-05 04:19:54
12130
原创 Android:六一,是时候来一盘了~
今天六一节,想到了儿时一款火爆的卡牌游戏**“象狮虎豹”**,也叫“斗兽棋”。曾经我们买一张,剪开,在课间时候玩的不亦乐乎~ 哈哈 倍儿开心😂kotlin + Compose + ViewModel +Lifecycle界面部分 纯Compose实现。下载地址:https://share.weiyun.com/5I9615je或者扫码下载↓↓↓...
2022-06-01 22:36:52
599
原创 解决Android studio无法引入GitHub三方库
使用Android studio 新建项目;在引入GitHub三方库时报错:Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.解决方法:settings.gradle默认是这样的dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REP
2021-12-06 15:12:46
2878
2
原创 Android: Jetpack Compose如何禁用涟漪(水波纹)效果
默认Modifier.clickable() 点击事件 自带点击水波纹效果;若不想要此效果, 可使用如下两个方法。可以将indication设为null,方法二使用pointerInput设置点击事件总结如果你还有其他方法,欢迎留言讨论。.........
2021-12-01 17:30:52
4871
7
原创 IntelliJ IDEA 重装后无法启动
问题描述:之前装了IntelliJ IDEA 2019版本,想着升级最新版2021;卸载重装后就打不开了,双击IDEA无反应。原因:这是由于之前只配置了破解,新版本不支持旧的PJ方法才引起的无法启动。解决过程:1、查看错误信息(1)在安装目录下找到D:\Program Files\JetBrains\IntelliJ IDEA 2019\bin\idea.bat文件;(2)然后编辑此文件,在最后一行添加 pause,用于报错后暂停;(3)双击此文件运行,就可以查看错误信息了。由于我在卸载
2021-11-07 12:17:50
10898
7
原创 基于Android10的忽略HTTPS证书校验
为什么要忽略证书校验从Android 9 开始 APP默认访问的URL 必须是HTTPS协议的,虽然可以配置回支持HTTP,但这种做法不建议使用,已经0202年了,HTTPS早已经是主流。既然要使用HTTPS协议,就少不了CA证书,这个证书是收费的,也有些平台可以什么一年有效期的免费证书,但作为个人开发者,自己建个项目,开发用,完全没必要,我们使用JDK下的keytool生成 https证书。...
2020-03-31 13:03:21
8282
3
原创 Android:图片加载框架最新解析——从源码的角度理解Glide的执行流程
文章目录准备源码开始阅读1、with()2、load()3、into()众所周知Glide是Android开发中普遍使用的图片加载框架,功能非常强大,API非常简便,也是Google官方唯一推荐的图片加载框架。基本用法,本文不再叙述,详情请参阅官方Github主页一般情况下,我们想在界面上显示一张图片,只需要一行代码即可实现。图下所示:Glide.with(this).load(url)....
2020-03-04 02:26:19
604
原创 Android:Activity、Service启动过程(Android 10源码)
本文源码均取自Android 10Activity启动过程当我们使用startActivity() 启动另一个Activity后,主要会调用以下的一些函数。MyActivity.startActivity() Activity.startActivity() Activity.startActivityForResult Instrumentation.execStartActivty...
2020-01-08 17:26:59
507
原创 Android:仿“某音”APP 多头像跳动动画+轮播动画+心跳动画+输入框抖动动画
文章目录序言效果一:(多头像)跳动动画效果展示Code效果二:(多头像)轮播动画效果展示Code效果一、二的使用效果三:(单头像)心跳动画——放大&缩小效果展示Code效果四:(输入框)抖动动画效果展示CodeGitHub序言仿“某音”APP 多头像跳动动画+轮播动画+心跳动画+输入框抖动动画GitHub源码地址:https://github.com/sange93/CoolAni...
2019-10-18 09:22:46
3214
4
原创 Android:仿住宿APP入住时间选择控件(Kotlin)
文章目录calendar使用说明1、引入两种功能场景calendar一个垂直方向的日历选择控件,用于酒店APP入住时间选择。(Kotlin)开源地址:https://github.com/sange93/calendar/下载DEMO 体检效果使用说明1、引入方式一:gradle 引入(推荐)Step 1. Add the JitPack repository to your ...
2019-10-15 19:58:44
1173
原创 Kotlin:玩转协程
文章目录协程是什么——它就是个线程框架。基本使用准备工作1、创建协程的三种方法:2、协程的使用3、协程生命周期管理,随Activity销毁而取消。参考协程是什么——它就是个线程框架。协程是 Kotlin 提供的一套线程封装的 API。优点:不用关注多线程,就能够让复杂的并发代码,写起来变得简单且清晰。相似内容:像 Java 中的 Executor线程池来进行线程管理;像Android...
2019-10-14 00:18:31
684
原创 Android:解决TextView设置textIsSelectable=true后,第一次点击无效
问题:TextView设置textIsSelectable=true后,第一次点击无效,第二次以后有效。解决:重写TextView,拦截点击事件 并处理。/** * 解决Selectable开启时 点击第一次失效 * @author sange */class SelectableTextView : AppCompatTextView { // 记录按下时间 pr...
2019-06-05 11:26:12
3995
1
原创 Flutter:异常处理
异常信息:Gradle task assembleRelease failed with exit code 1此信息是在执行终端命令:flutter build apk 打包APK时 报出的,原因:没有配置Android打包签名;配置签名:1、在android模块下创建文件“key.properties”,并填写密钥信息.(如何创建APP密钥 这里不再叙述,百度一下你就知道了)s...
2019-05-11 15:30:36
1354
原创 Android:解决华为手机隐藏虚拟按键Activity被重新创建的问题
解决华为手机隐藏虚拟按键Activity被重新创建的问题问题描述解决方法分析问题描述在华为手机P9上 屏幕底部虚拟按键用户可以随时隐藏或显示,在改变后 返回上一页,会导致页面重新创建,页面操作出现问题。解决方法在AndroidManifest.xml中出问题的activity 增加android:configChanges=“screenLayout”,这样页面就不会重建。例如: &...
2019-01-10 18:05:30
2427
3
原创 Android探索:六种IPC方式(上)——Bundle、文件共享、Messenger
Android探索:六种IPC方式Android探索:六种IPC方式引言1、Bundle2、文件共享3、Messenger引言我们了解完Android IPC基础,接下来学习Android中的六种IPC方式:Bundle、文件共享、AIDL、Messenger、ContentProvider、Socket。1、BundleAndroid四大组件...
2018-05-12 11:37:31
404
原创 Android探索:IPC基础
Android IPC基础Android IPC基础引言Android的多进程模式1、开启多进程2、多进程运行机制对象的两种序列化1、Serializable 接口2、Parcelable 接口Binder(粘合剂)的使用1、什么是Binder?2、Binder的工作机制试一试引言IPC(Inter-Process Communi...
2018-04-27 17:29:54
306
原创 这一晚,搭建Nginx + rtmp流媒体服务器
这一晚,搭建Nginx + rtmp流媒体服务器安装环境 1、安装nginx服务器 2、配置nginx服务器 2.1、开启点播视频服务 2.2、配置直播视频服务安装环境操作系统:deepin 15.5桌面版(为什么要用这个?支持国产!) nginx版本: nginx-1.10.3 RTMP:nginx-rtmp-module1、安装nginx服...
2018-04-17 00:21:59
6032
原创 Android探索:全面分析Activity的生命周期&IntentFilter匹配规则
全面分析Activity的生命周期&IntentFilter匹配规则转载请注明出处: https://blog.csdn.net/sange77/article/details/79922503引言 1、Activity 的启动流程 2、生命周期的两种情况 2.1、正常情况 2.2、异常情况 3、如何在系统配置发生改变后,让Activity不重建? 4、隐式调用的I...
2018-04-13 01:13:28
569
原创 横向listview的最佳实现——RecycleView
横向listview的最佳实现——RecycleListView转载注明出处: 前些天,要写一个横向的列表,想着是将平时竖向的listview 横着来弄,挺麻烦的。后来,发现RecycleListView这货就可以实现,体验效果也是很好!看效果上代码gradle 中引用compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'Act
2017-06-26 23:06:47
1701
原创 使用Tortoisegit与csdn code管理项目
个人笔记,仅供参考!1.安装Git必须要先安装msysgit,否则TortoiseGit是不可用。 打开Git Bash 输入下面命令 (1)配置用户名(csdn id从网页地址栏就可以看到) git config –global user.name “csdn id” (2)配置邮箱 git config –global user.email “csdn邮箱” (3)生成新的密钥
2017-04-24 01:38:45
1209
原创 如何简简单单地自己动手磨刀
一开篇二我们先来了解下磨刀石三下面开始正儿八经的磨刀1水泡磨刀石2摆好姿势3磨刀开始4上菜四结尾 分享个网友大神磨刀的技能一、开篇:作为一个苦逼的程序猿,不!作为一个天天做饭的苦逼的程序猿,自己如何打造好自己的兵器!(重达一万三千五百斤的—— 菜刀) 俗话说“磨刀不误切菜工”首先,你得有块磨刀石————MD,这不是废话吗! 然后,你得有把刀————又是废话! 接下来是正儿八经的!
2017-03-15 00:00:36
3540
转载 Android Studio 2.3版本 Run项目不能自动启动APP的问题
转 http://blog.csdn.net/lucasey/article/details/61071377Android Studio 升级到2.3版本后 运行项目后,只是安装上了,而APP不能自动打开; 看到官方解释:Known issue: Some device manufacturers block apps from automatically launching after
2017-03-11 20:35:52
6408
6
Android:基于OpenCV实现身份证识别(C++)
2022-07-12
ADBKeyBoard.apk 输入中文的输入法
2017-02-10
android-pdfview(含libvudroid.so)
2016-09-01
View旋转刷新数据动画
2014-11-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人