android
文章平均质量分 57
奋斗的小鹰
记录自己的成长历程
展开
-
Activity四种启动模式分析
而提到这四种启动方式的差异,必然要提到一个重要的概念Activity的Task任务栈,我们需要明确的一点是Activity从静态上来看它属于某一个Application,但Task并不对应某一个Application,Task是系统层级的调度结构,即一个Task中可以有多个Application的Activity,或一个Application中的不同Activity会存在于多个Task中。四种启动模式的差异主要在于创建新的Activity实例时不同的复用逻辑。二、四种启动模式差异。原创 2023-05-06 16:28:06 · 864 阅读 · 1 评论 -
Android Studio Electric Eel:Could not resolve com.android.tools.build:gradle:7.4.1
Could not resolve com.android.tools.build:gradle:7.4.1原创 2023-02-21 17:12:56 · 315 阅读 · 0 评论 -
Camera2:获取Depth16深度图并进行可视化转换
到此,我们根据官方文档提供的方法可以得到每个像素点的深度值和置信度值,但遗憾的是这种格式的Image对象并不能像ImageFormat.JPEG格式的Image对象能直接生成Bitmap位图,而对于此种格式如何进行可视化操作,官方文档中也没有提及,可能官方也没想到会有这种需求吧。的api获取,在查看文档时捕捉到一个关键信息:即ImageFormat.DEPTH16的深度信息值为0~8191mm。,后来发现8191是2进制13位的值,也就是文档中提到的16位数据中,高3位是置信度值,低13位是深度值。原创 2022-12-30 16:45:22 · 1607 阅读 · 2 评论 -
Android设备上直接运行C/C++程序,无需ROOT!!!
在Android开发过程中难免和JNI NDK打交道做混合开发,按一般方式当交叉编译完成得到so库后,我们将so库集成到Android项目里,打包成apk安装到手机上验证运行效果。但当我们想快速在手机上验证so的功能与性能时,上面提到的传统方式就过于繁琐了。那我们能不能在Android设备上直接运行C/C++程序来直接调用so库呢?答案是肯定的,因为我们在linux系统就可以直接运行C/C++程序,而Android系统与Linux系统的关系大家也都了解。下面来看一下具体的实现流程:首先先展示一下我需要用到的原创 2022-06-07 15:54:11 · 8696 阅读 · 4 评论 -
djinni使用实践(二) -- djinni究竟都有哪些配置选项
djinni使用实践(一) -- 官方文档上一篇是官方文档的中文译文方便大家查阅,这一篇整理下djinni究竟都有哪些配置选项,大家也可以在djinni项目根目录下运行命令查看。src/run --helpAlready up to date: DjinniUsage: djinni [options] --help --idl test.djinni 此命令后接我们自己写的idl文件,后缀名为“.djinni”,如:test.djinni,需要原创 2021-08-18 11:48:03 · 460 阅读 · 0 评论 -
djinni使用实践(一) -- 官方文档
djinni项目地址DjinniDjinni 是一个生成跨语言类型声明和接口绑定的工具。 它旨在将 C++ 与 Java 或 Objective-C 连接起来。 Python 支持在 python 分支上的实验版本中可用。Djinni 可用于在 Android 和 iOS 上将跨平台 C++ 库代码与特定于平台的 Java 和 Objective-C 接口。 我们在 CppCon 2014 上发布了 Djinni。你可以看到幻灯片和视频。 有关 Djinni 以及其他人如何使用它的更多信息,请查原创 2021-08-17 17:23:30 · 2164 阅读 · 1 评论 -
自定义带放大镜功能的图片剪裁框
最近项目中需要做图像边缘识别矫正的功能,需要用到手动做细节调整,大概长成这个样子。整个相机预览加识别过程涉及到一些识别算法和模型就不上整个链路了,把裁剪view单拿出来记录一下,大部分参考了SmartCropper这个项目,自己加入了局部放大的功能来解决手指调节边缘时看不准的尴尬局面public class CropImageView extends AppCompatImageView { private float density; /** * 画点的原创 2021-04-30 14:20:17 · 357 阅读 · 1 评论 -
android知识点结构整理
在这里我打算将读过得一些比较好的博文进行收集,从而完善自己的android知识点学习体系。自定义viewscroller-让view平顺的滑动原创 2021-04-12 11:50:26 · 67 阅读 · 0 评论 -
Android:AIDL简单使用
AIDL\color{#FF3030}{AIDL}AIDL全称:(Android Interface Definition Language)android接口定义语言应用场景:只有在需要不同应用的客户端通过 IPC(Inter-Process Communication:进程通信) 方式访问服务,并且希望在服务中进行多线程处理时,您才有必要使用 AIDL。官方文档我与AIDl的相识源于一次...原创 2020-03-06 10:52:42 · 459 阅读 · 1 评论 -
flutter:一个带指示器的PageView
在学习flutter练手时,就打算把公司项目翻一个flutter版的,需要用到一个带指示器的PageView(如下图所示),然鹅百度了一圈大多都是类似banner的带原点的指示器且没有动画效果,所以憋了一天半终于自己手撸了一个(刚学太菜了:sweat_smile:)![在这里插入图片描述](https://img-blog.csdnimg.cn/20200303104333549.gif)...原创 2020-03-03 14:19:22 · 636 阅读 · 0 评论 -
sqlite3 :创建数据库文件到指定路径
想要把sqlite3创建数据库文件到指定路径:(windows 为例)1.cmd进入到你想要保存文件的路径2.sqlite3 database.db原创 2018-03-21 10:32:26 · 13336 阅读 · 0 评论 -
Android:java中写布局addRule(RelativeLayout.RIGHT_OF,tvPrice.getId());相对布局添加规则没效果?
最近在工作中遇到一个小问题,那就是给RelativeLayout里的子view添加规则时无效,试验了两次后还是一样,回头看下方法addRule(RelativeLayout.RIGHT_OF,tvPrice.getId());,一共两个参数,第一个肯定不会出问题,那难道是getId()出了问题?简单搬出debug大法,果然,getId() 返回了-1,what?有经验的小伙伴应该很诧异,因为...原创 2018-07-09 09:45:07 · 2181 阅读 · 0 评论 -
Android studio:工程中大面积报红,但不影响运行
这个大面积报红的问题可能好多小伙伴都遇到过,导致问题的原因也不太一样。我遇到过两次,第一次就是最常见的缓存问题,这个比较好解决,可以参考这位小伙伴的博客:https://blog.csdn.net/liujie33852964/article/details/80590554第二次我也以为是同样的问题,清缓存,rebuild,重下gradle,本以为轻松搞定,what?又...原创 2018-09-06 11:02:46 · 4656 阅读 · 1 评论 -
画gridview边框
先上效果图试了多种方案,记录一种方案最好的,在每个item上设置背景,而这个背景是xml文件画出的,如下,store_list_bg.xml<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- This is the line --> &l...原创 2019-04-29 09:48:15 · 299 阅读 · 0 评论 -
Android:Paint画笔的常用设置,高级方法使用
无参创建画笔对象mPaint = new Paint();设置画笔颜色mPaint.setColor(Color.red);通过ARGB设置 颜色mPaint.setARGB(255,255,255,0);设置透明度mPaint.setAlpha(100);设置抗锯齿mPaint.setAntiAlias(true);设置画笔样式 STROKE:描边 FILL...原创 2019-04-29 10:56:21 · 6998 阅读 · 0 评论 -
NDK实践(四)视频直播分析及nginx服务器搭建
上一篇我们已经实现了使用ffmpeg实现视频的播放,接下来再来一波骚操作,我们来探索一下近两年火热的视频直播是如何实现的。简单来说就是一端推流,多端拉流(流即视频流和音频流),也就是一个主播对应多个观众。视频流的传输是通过rtmp协议而非以往的http协议在敲代码之前我们需要做一些准备工作,首先我们来搭建一个nginx服务器。那nginx又是什么呢?nginx是一个高性能的HT...原创 2019-06-06 00:38:22 · 286 阅读 · 0 评论 -
AOP思想实现集中式登录,用户行为统计框架
最近学习到了AOP这种架构思想,感觉很巧妙很实用,能应用到很多开发场景,在此就以常见的登录及用户行为统计功能来实践一下。对于AOP的概念大概是这样的(百度百科):AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各...原创 2019-07-22 16:38:20 · 513 阅读 · 2 评论 -
设置全屏dialog
设置全屏dialog原创 2017-04-17 10:41:10 · 405 阅读 · 0 评论