自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (2)
  • 收藏
  • 关注

原创 Andoird camera app从零养成计划【一】

这里只提供了一个基本的框架和思路。Camera2 API 涉及很多复杂的步骤和概念,如处理相机状态、创建和管理CaptureRequests、SurfaceTexture等。为了完整实现功能,你需要深入研究Camera2 API的文档和示例代码。

2024-09-29 21:42:11 833

原创 打开市面上常用apk冷热启动脚本

【代码】打开市面上常用apk冷热启动脚本。

2024-03-14 14:54:05 738

原创 【python】用ChatGPT使用爬虫

要爬取无锡七日天气,可以使用Python中的第三方库 requests 和 Beautiful Soup。VSCode中安装相关的插件就可以配合chatgpt来实现一些简单的爬虫操作,只能应对比较简单的场景.优化下代码,没有获取到天数,并且这个get_text有报错.打印结果如下: 这个很明显就是date这个数据为None。但是上述实际运行是存在一些小问题的。python 爬取无锡七日天气。

2023-04-19 13:56:40 8496 1

原创 【C++学习笔记】十二、单例模式详解

在C++中,单例模式是一种常用的设计模式,用于确保一个类只有一个实例,并提供全局访问点。以上是常见的C++单例模式的几种实现方式。选择合适的单例模式取决于具体的应用场景和需求。

2023-04-18 18:08:48 671

原创 【C++学习笔记】十一、智能指针的简单使用

智能指针相对于传统的指针来说只有好处没有坏处,更好的管理内存,可以在引用计数为0的时候,自己去析构,释放内存。上述的情况下引用计数都为1,每当我们对一个智能指针进行一次拷贝,其引用计数会+1.智能指针在离开其作用域后会自动销毁释放。我们实际开发中一般用如下两种方式去构建。第一种是配合make_shared去申请。实际使用起来和普通指针的差别不大。实际稍微复杂点的demo。

2023-04-18 17:14:07 264

原创 【STL 笔记、二】容器:map

百度百科摘要内容如下:映射和多重映射基于某一类型Key的键集的存在,提供对T类型的数据进行快速和高效的检索。对map而言,键只是指存储在容器中的某一成员。Map不支持副本键,multimap支持副本键。Map和multimap对象包涵了键和各个键有关的值,键和值的数据类型是不相同的,这与set不同。set中的key和value是Key类型的,而map中的key和value是一个pair结构中的两个分量。添加头文件一般构造函数初始化。

2023-04-18 11:07:12 209

原创 【Qt笔记】5.QWidget源码查阅

QWidget类是所有用户界面对象的基类。从QObject和QPaintDevice里继承过来由上可以看出qt是把其封装成dll供外部接口调用。我们在实际项目中使用QWidget会发现其调用到的头文件都是编译器的形式如下:其实际的源码位置如下路径。

2023-04-17 17:16:17 1187

原创 【Qt笔记】4.文本编辑的简单使用

QT中的文本编辑类常用的有三种,1.QLineEdit:单行普通文本2.QTextEdit:多行富文本3.QPlainTextEdit:多行普通文本富文本指的是多文本格式。可以编辑图片和媒体相关。上述三个文本编辑类他们的继承关系如下:fill:#333;

2023-04-13 22:10:15 576

原创 【C++学习笔记】十、C++设计模式-抽象工厂模式

整个结构示意如下:抽象类只做接口,不做实现,所有具体实现都是集成其抽象类。fill:#333;

2023-04-10 14:43:14 666 1

原创 【Qt笔记】3.各种按钮的简单使用

QPushButton是QT中自带的按钮控件使用需要添加头文件QPushButton从QAbstractButton集成过来,其他同级按钮结构示意如下:fill:#333;

2023-04-05 11:48:46 566

原创 【Qt笔记】2.布局入门

Qt 共提供了 5 种布局管理器,每种布局管理器对应一个类,分别是 QVBoxLayout(垂直布局)、QHBoxLayout(水平布局)、QGridLayout(网格布局)、QFormLayout(表单布局)和 QStackedLayout(分组布局),它们的继承关系如下图所示:fill:#333;

2023-04-04 16:05:56 495

原创 【Qt笔记】1.VSCode搭建Qt运行环境

Qt6之后已经抛弃qmake,使用cmake。cmake相对qmake来说只有优点没有缺点。使用VSCode搭建完Qt的运行环境就能开开心心debug了.vscode需要使用的插件:2.Qt tools3.CMakec++插件可以不关注,缺啥都会提醒你.正常安装即可。

2023-04-02 17:02:29 16612 13

原创 【C++学习笔记】九、vscode配置C++环境

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。这个时候就体现到vscode的强大。

2023-03-31 20:37:10 547

原创 【C++学习笔记】八、C++多线程的基础

添加此头文件可以直接调用线程相关的操作并且需要在对应的CMakeLists.txt编译中添加std::thread 默认构造函数,创建一个空的 std::thread 执行对象。函数指针函数对象lambda表达式cout

2023-03-29 11:54:36 143

原创 【C++学习笔记】七、cmake文件的基础使用

选自百度百科:CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或Windows。

2023-03-24 16:17:51 263

原创 【C++学习笔记】 六、C++设计模式-工厂模式

参考文章实际开发过程中我们往往要使用不同的设计模式来应对不同的场景需求。设计模式的初衷往往是是为了尽量少修改现有的代码,并且做到数据/UI/控制器分离的操作,更方便分模块化去管理,分离耦合,实现更好的拓展性。

2023-03-10 13:49:11 117

原创 【QT】【JSON】qt中json文件读写操作

JSON[]中标识数组{}中标识对象我们可以观察如下的一段Json内容。目标是将此内容读出来,并且填入到表格中,同时可以在表格中更新此部分内容的同时还会更新此文件。"mode": "测试模式1","ev": "","wb": ""},"mode": "测试模式2","name": "模组名字1",},"name": "模组名字2",先观察上述Json文件的构造。能看出要先构造好对应的外圈大数组。

2023-02-04 21:27:04 4950

原创 【Android】 andorid camera自动化测试入门【三】

在之前的内容里面已经大致介绍了python如何实现自动化的操作android设备。这边细分下读取文件内容并且根据相关的数据来画对应的图。首先我上一个系统做的是python自动化测试android设备camera并且记录其内存PSS部分的内容。我们需要使用相关的命令把camera 对应的PSS dump下来保存到一个文件中。对应的adb命令如下,只要把这个命令嵌入到python脚本中即可。然后我们写个函数去读取这个文件的内容解析数据并画图即可。是不是很简单。

2023-01-19 21:13:36 462

原创 【Android】 andorid camera自动化测试入门【二】

在之前的内容上我们已经知道如何在python中使用adb和shell。但是实际上每个命令一直要全部手打那是很麻烦。今天对这一部分的内容进行优化。

2023-01-18 19:11:34 308

原创 【数据结构学习】二、链表和二叉树

写个makefile并且加入asan用来检查内存相关的内容。直接在此目录下make即可。因为我老是控制不好申请和释放。

2023-01-17 19:57:46 231

原创 【Android】 andorid camera自动化测试入门【一】

python能做的事情很多,我这边今天来介绍的是配合Shell命令来实现andorid的自动化测试。今天的小目标是自动化打开camera。1.测试次数可以设定2.测试设备可以设定系统要求:linux:要求有adb,可以使用shell。直接使用shell的也是同理的。python本质上是调用shell。使用python的优点是可以更好的搭建和分类管理,并且可以分拣出相关的关键内容,即数据清洗。话不多说。

2023-01-14 14:04:04 972

原创 【Linux】Linux 命令之AWK过滤提取需要的信息

AWK是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一。这种编程及数据操作语言(其名称得自于它的创始人阿尔佛雷德·艾侯、彼得·温伯格和布莱恩·柯林汉姓氏的首个字母)的最大功能取决于一个人所拥有的知识。awk经过改进生成的新的版本nawk,gawk,现在默认linux系统下日常使用的是gawk,用命令可以查看正在应用的awk的来源(ls -l /bin/awk )

2023-01-12 20:05:41 1594

原创 【openCV】Linux下的openCV搭建

搭建系统:Ubuntu18下的openCV环境搭建

2023-01-05 18:26:40 680 1

原创 【Camera】Camera基础概念

CCD与CMOS Sensor是当前被普遍采用的两种影像感测组件,基本上两者都是利用感光二极管(photodiode)进行光与电的转换,将影像转换为数字信息,而其主要差异则在数字信号传送方式的不同。CCD传感器每一行中每一个像素(pixel)的电荷信号都会依序传送到下一个像素中,由最底端的部分输出,再经由传感器边缘的放大器进行放大输出;而在CMOS传感器中,每个像素都会连接一个放大器及模/数转换电路,用类似内存电路的方式将信号输出。

2023-01-05 17:46:13 1337

原创 Android Camera架构

Android Camera架构 分层概述

2023-01-02 16:41:39 357 1

原创 【python】一篇文章入门python简单画图

python 中的画图是直接使用matplotlib,用起来非常简单。先随机生成相关的数据若干个,用于画图。

2022-12-29 20:22:21 1778 1

原创 【Android】火焰图抓取

Simpleperf 是 Android 的原生 CPU 分析工具。它可用于分析 Android 应用程序和在 Android 上运行的本机进程。它可以在 Android 上分析 Java 和 C++ 代码。simpleperf 可执行文件可以在 Android >=L 上运行,而 Python 脚本可以在 Android >= N 上使用。火焰图是基于 perf 结果产生的 SVG 图片,用来展示进程在一段时间 CPU 的调用栈。现代的CPU具有一个硬件组件,称为性能监控单元(PMU)。

2022-12-29 20:16:20 3242

原创 【python】一篇文章入门python去写shell

complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。os.popen() 返回的是 file read 的对象,对其进行读取 read() 的操作可以看到执行的输出。配合下将其修改成如下的内容,就可以把对应的adb设备获取出来,当前只能获取到最上面的那个,可以自己根据逻辑来完善。python在linux的环境下不需要安装,我们使用的图形化界面都是以python和一些桌面管理为基础的。complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。

2022-12-29 20:00:14 1285

原创 【python】anaconda3管理python包环境说明

在实际项目开发的时候,我们往往需要不同的python包版本和环境。pycharm对此就有很好的器包环境。今天要介绍的是anaconda3 这个环境包管理。----Conda官网anaconda相当于一个包的管理者,去管理这些不同的环境,你可以本地建立多个虚拟环境,并且互相不影响。

2022-12-29 19:53:50 487

原创 【android】android 编码文件概述

需要小心的是修改item后要注意CTS测项testGetWithId(android.media.cts.CamcorderProfileTest),也就是high profile一定要和分辨率的profile适配,比如spec为1920 x 1080的spec(平台所supprot的)那么high的分辨率和1080p的分辨率一定要一样

2022-11-20 14:14:51 306

原创 【cameraAPK】API-1

普通View都是共享一个Surface的,所有的绘制也都在UI线程中进行.因为UI线程还要处理其他逻辑.因此对View的更新速度和绘制帧率无法保证.这显然不适合相机实时预览这种情况.因而SurfaceView持有一个单独Surface.它负责管理这个Surface的格式.尺寸以及显示位置,它的Surface绘制也在单独的线程中进行,因而拥有更高的绘制效率和帧率。SurfaceHolder:用于控制Surface的一个抽象接口.它可以控制Surface的尺寸,格式与像素等.并可以监视Surface的变化.

2022-11-19 15:07:37 1328

原创 ITS_Android_S 重构的梳理

谷歌认证

2022-09-30 14:21:02 1448

原创 Android编译概述

编译说明

2022-09-24 14:26:49 1529

原创 【camera】相机camera切换的流程拆解

文章目录1 摘要2 拆解2.1 S0(App)2.2 S1(Hal)2.3 S2(App)2.4 S3(Hal)2.5 S4(App)2.6 S5(Hal)2.7 S6(App)2.8 S7(Hal)2.9 S8(App + Multimedia)1 摘要这里提到的切换主要是前摄<->后摄的切换总的来说可以分成以下的内容:阶段说明S0(App)从点击事件到调用 flush 的间隔S1(Hal)flush + disconnect 的总耗时,即关闭前一个摄像头

2021-03-20 22:49:24 3133 1

原创 Opengrok搭建

OpenGrok克隆仓库git clone https://github.com/JoeNero/OpenGrok.gitvim ~/.bashrc添加如下内容#tomcat export CATALINA_HOME="/home/xtt/OpenGrok/apache-tomcat-8.5.55"#opengrokexport OPENGROK_TOMCAT_BASE=$CATALINA_HOME保存后source ~/.bashrc打开本地端口8080测试http://

2021-02-28 17:59:33 273

原创 【camera】Mtk相机冷启动的拆解笔记

文章目录1 概述2 S0+S13 S24 S35 S46 S57 S68 S71 概述冷启动大致可以分成以下几块内容:S0(system)主要是 Activity 的创建耗时(从 Touch up,即 ptr:up 开始)ptr:upS1App从 Activity 创建成功,到下 open camera 的时间(对应 CameraService::connect); Note:我习惯把 S0 和 S1 算成一大阶段;S2HALopen camera

2021-02-28 17:51:28 1192

原创 CTS camera的基础操作和debug

文章目录手机端1 CTS2 VTS(需要镜像)2.1进入fastbootd模式2.2 system.img2.3 boot-debug.img2.4 手机配置2.5 命令3 ITS3.1 环境包3.2 手机端3.3 电脑端3.4 场景说明3.5 创建报告4 GTS5 STS6 GSI手机端设置永久不锁屏1 CTS进入cts目录tools运行以下命令./cts-tradefedadb devices找设备数串整跑run cts -m CtsCameraTestCases --skip-pr

2021-01-09 15:33:27 2214

原创 【数据结构学习】一、链表

文章目录1 链表的创建1.1 头插1.2 尾插1.3 获取链表长度2 翻转链表1 链表的创建链表是一种物理存储单元上非连续、非顺序的存储结构。摘自百度百科如下存储:struct Node{ int data; //数据域 Node* next;//指针域 Node():data(0),next(nullptr){} Node(int _data,Node* _next) { this->data = _data; this->next = _next; }};

2020-10-02 21:45:01 261

原创 liunx下git的使用

文章目录1.git 下载2 ssh3 git 使用3.1 新建仓库3.2 git它!!!git就万事了1.git 下载最好是更新下镜像源sudo apt-get update下载gitsudo apt-get install git检测git下载成功的版本git version版本显示正确后执行再执行下一步2 sshssh具体内容参考百度词条ssh执行sudo a...

2020-03-02 17:03:04 107

原创 【STL 笔记、一】容器:vector

文章目录1 STL 简介2 容器 vector2.1 构造2.2 成员函数2.2.1 assgin2.2.21 STL 简介STL是Standard Template Library的简称,中文名标准模板库STL可分为容器(containers)、迭代器(iterators)、空间配置器(allocator)、配接器(adapters)、算法(algorithms)、仿函数(f...

2020-02-03 12:49:27 354

非MFC程序调示宏TRACE().zip

如果不是MFC项目或者ATL的项目的话是不能使用这个宏的。这时有一个没有什么额外消耗的办法能够做到向调试输出窗口输出。 非MFC程序显示调示信息,自写TRACE()打印输出的VS的输出窗口。用法和printf()一样。 一个TRACE可以在Debug时向VS的调试输出窗口输出字串符,用来调试时跟踪变量很方便。

2020-02-01

c/c++简易贪吃蛇demo.zip

简易贪吃蛇源代码,内有说明文档。 一份是网上的参考代码,另一份是我整理出来的。 C/C++只要添加相应代码到工程目录下就能正常运行。 VS20119,VC6.0++已经通过验证。

2020-01-29

空空如也

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

TA关注的人

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