- 博客(60)
- 资源 (2)
- 收藏
- 关注
原创 工模、老化apk中Framewok定制开发的场景
场景:工厂模式APK或老化测试APK需要访问某些非公开或自定义硬件(如特殊的传感器、马达、电源控制模块等)。解决方案:通过添加自定义或扩展已有的服务(如PowerManager、SensorManager)来暴露接口给APK调用。场景:APK需要与底层服务(例如由 HAL 层提供的服务)进行跨进程通信。解决方案:通过Framework层暴露一个AIDL接口,APK通过AIDL进行调用,避免直接调用JNI或底层C/C++代码。场景类型示例说明硬件访问自定义SystemService、AIDL。
2025-06-10 21:35:16
489
原创 android debug包和release包的区别
在 Android 开发中,Debug 包和 Release 包是两种不同的构建类型,主要区别在于优化、调试信息和安全性等方面。
2025-06-06 11:25:39
822
原创 Python中处理JSON文件
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。在Python中,处理JSON数据是一项常见且重要的任务,特别是在数据科学、网络编程和API交互等领域。本文将深入探讨Python中如何处理JSON文件,包括读取、解析、修改和写入JSON数据。JSON格式由键值对组成,其中键总是字符串类型,而值可以是字符串、数字、数组(列表)、布尔值或其他嵌套的JSON对象。
2025-03-11 17:58:00
824
1
原创 python读、写CSV文件
如果文件正在被记事本、excel等工具软件打开,此时想往文件里写数据,那么就会报权限错误必须先关掉打开的文件,再执行具体的write写操作。
2025-03-09 14:53:16
1092
原创 Python Script Programming
学习异常处理、装饰器、生成器,探索库如`NumPy`、`Pandas`。学习变量、数据类型、运算符、条件语句、循环等基础语法。学习模块导入与使用,如`math`、`random`。开发小型项目,如爬虫、自动化脚本、数据分析。理解类与对象,掌握封装、继承、多态。熟悉列表、字典、元组、集合的操作。练习数据处理,如排序、过滤、统计。掌握函数定义、参数传递、返回值。5. 面向对象编程(1~2周)1. 基础语法(1~2周)3. 数据结构(1~2周)6. 实战项目(2~3周)2. 函数与模块(1周)
2025-02-28 15:10:04
261
原创 运维基础知识(一)
总的来说,Telnet由于其明文传输的缺陷,安全性较低,而SSH通过加密传输提供了更高的安全性。)是Linux、Unix、Mac及其他网络设备最常用的远程CLI管理协议,SSH使用秘钥对数据进行加密,保证了远程管理数据的安全性。SSH:SSH是一种加密传输协议,通过公钥加密和密钥交换技术确保数据在传输过程中是加密的,从而保护用户的隐私和数据的安全性。Telnet:Telnet是一种明文传输协议,所有的数据(包括用户名和密码)都是以明文形式在网络上传输,容易被截获和篡改。
2025-02-27 13:09:59
1104
原创 手把手教你本地部署deepseek
点击 “DeepSeek-R1” 后,您将进入模型的详情页面,页面中会显示多个可选择的参数规模。这里的 “B” 代表 “Billion”,即“十亿”,因此:1.5B 表示该模型具有 15 亿个参数,适合轻量级任务或资源有限的设备使用。官网下载OLLAMA工具。选择不同的参数规模意味着你可以根据自己的硬件配置和应用需求,决定使用哪个版本的模型。基于ollama官网具体模型版本右侧的指令,比如1.5b对应的ollama run deepseek-r1:1.5b,在终端进行执行,按回车键即可开始下载模型。
2025-02-21 15:58:09
389
原创 计算机网络协议(二)
如果你需要使用的协议不在 HTTP 的范畴内,像某些专有协议,或者需要实现低层次的协议(如自定义的 TCP/UDP 协议),就需要手动使用。高层次的库提供了 HTTP 请求的封装,处理了连接管理、请求/响应处理、错误处理等复杂细节,开发者无需关心底层的连接和数据传输。当有了高层次的网络库之后,就可以直接通过http进行网络操作了,而不再基于socket进行基本的(TCP/UDP)接口编程。:如果你需要对网络通信有精细的控制,比如实现自定义的协议或直接操作 TCP/UDP 的细节,
2025-02-17 14:57:09
252
原创 计算机网络协议(一)
TCP/IP的体系结构比较简单,只有四层层次名称单 位功 能协 议网络接口帧负责实际数据的传输,对应OSI参考模型的下两层HDLC(高级链路控制协议)PPP(点对点协议) SLIP(串行线路接口协议)网络层数据报负责网络间的寻址数据传输,对应OSI参考模型的第三层IP(网际协议) ICMP(网际控制消息协议)ARP(地址解析协议) RARP(反向地址解析协议)传输层报文段负责提供可靠的传输服务,对应OSI参考模型的第四层TCP(控制传输协议) UDP(用户数据报协议)
2025-02-17 11:31:17
844
原创 1.5 python文件 demo
读写文件(read()、write()、readline()、readlines())异常链与上下文管理(raise from、__context__)打开与关闭文件(open()、close())try-except-finally结构。文件模式(r、w、a、b、+)上下文管理器(with语句)内置异常类型与捕获多异常。
2025-02-12 15:59:41
263
原创 1.2 python数据结构 demo
栈 (Stack):后进先出(LIFO)数据结构,常用于递归和回溯问题。队列 (Queue):先进先出(FIFO)数据结构,适合排队管理。字符串方法(split(), join(), replace())OrderedDict:需要保持插入顺序的字典,如历史记录、缓存等。deque:适合双端队列操作,如任务调度、缓存等。1.2.7 集合模块(collections)常用操作(切片、格式化、拼接)集合运算(并集、交集、差集)1.2.4 集合(Set)常用操作(增删改查)常用操作(增删改查)
2025-02-12 11:18:48
444
原创 1.1 python基础语法demo
变量与数据类型(int, float, str, bool)比较运算符(==,!=, >, <, >=, <=)循环控制(break, continue, pass)算术运算符(+, -, *, /, %, , //)输入与输出(input(), print())赋值运算符(=, +=, -=, *=, /=)条件语句(if, elif, else)逻辑运算符(and, or, not)循环语句(for, while)1.1.2 基本语法。1.1.4 控制结构。
2025-02-12 10:11:52
319
原创 1.4 OOP 通过多个类展示python的封装,继承,多态,组合
Battery 类的 describe_size 和 get_range 方法提供了访问和操作电池容量的方式,而不是直接暴露 dc_size 属性。Battery 类的 get_range 方法根据 dc_size 计算续航里程,但具体的计算逻辑被封装在方法内部,外部无法直接访问。Battery 类封装了电池的容量(dc_size)和相关行为(describe_size、get_range)。Electric_car 类的 describe_information 方法提供了访问电动汽车信息的方式。
2025-02-11 16:03:17
305
原创 python学习目录
Python的特点Python的应用领域Python的安装与环境配置通过这种由浅入深的学习路径,你将能够更有针对性地掌握 Python 及其相关框架和工具。从基础语法到 Web 开发,再到数据分析和机器学习,每一步都为你后续的深入学习奠定了基础。重点是根据实际场景和需求选择学习路径,逐步积累经验。你可以选择从你最感兴趣的方向入手,或者根据职业需求来决定学习的先后顺序。
2025-02-10 16:49:17
719
原创 YModem在Android上的实现(三)
从原始的128模式切换到1024的模式,prepareData函数中以1024为block长度准备数据,sendDataPackage函数中还是以133一包发的,总长度是1029 = 133*7 =98;标准ASCII对照表。
2024-12-11 16:44:44
249
2
原创 python自动化unittest框架
前言接下来会展开核心要素来认识unittest框架:首先介绍下unittest的用例规则: 1、测试文件必须导包:import unittest 2、测试类必须继承 unittest.TestCase 3、测试方法必须以 test_开头一:TestCase(测试用例)1、是一个代码文件,在代码文件中来书写真正的用例代码 (里面的print均是模拟测试用例)说明:def 定义的test_是测试用例,的时候会执行测试用例,其他普通函数则不执行,通过self来调用执行。
2024-11-28 16:23:22
850
原创 Shell从入门到精通(一)
12.22 输入五个 100 数之内的字符,统计和、最小和最大。7.Shell 文本处理三剑客(grep,sed,awk)12.27 Expect 实现 SSH 免交互执行命令。12.15 监控目录,将新创建的文件名追加到日志中。3.8 其他运算工具(let/expr/bc)12.10 检查 MySQL 主从同步状态。10.Shell 编程时常用的系统文件。8.Shell 标准输入、输出和错误。10.1 Linux 系统目录结构。2.Shell 字符串处理之${}12.28 批量修改服务器用户密码。
2024-11-28 10:19:03
489
原创 1.6.3 python 网络编程demo:基于 Requests 请求数据
【代码】python own codes:基于 Requests 请求数据 (附全部代码)
2024-11-27 16:42:23
623
原创 基于Python的自动化测试(一)
Robot Framework***:是一个基于关键字驱动的自动化测试框架,它支持多种测试类型,如功能测试、回归测试、验收测试等,广泛应用于 Web 测试、API 测试、数据库测试等领域。Requests***:一个流行的 HTTP 请求库,常用于测试 Web API,掌握如何发送 GET、POST 等请求,解析返回结果,并对接口进行断言。它提供了多种功能,可以用来访问网络资源、发送请求、获取响应内容等。unittest***:Python 的标准测试框架,了解如何编写测试用例、组织测试套件、使用断言等。
2024-11-27 15:26:29
873
原创 基于Python脚本进行测试(一)
编写 Python 测试脚本主要用于验证代码的正确性、功能和性能。测试脚本可以用于单元测试、集成测试、功能测试等。以下是编写测试脚本需要学习的 Python 知识点。
2024-11-25 14:46:16
947
原创 基于阿里云服务器部署静态的website
域名备案的时候,需要先有符合要求的服务器再提交备案申请,用哪一个接入商的服务器,在哪一个接入商提交备案,若是不访问阿里云的内地节点服务器,无需在阿里云备案的,在阿里云提交备案的话,会通过备案服务码验证在阿里云有满足备案条件的服务器;纯IP调用,使用流量没有域名信息,不阻断可以不进行备案。内地节点服务器IP也需要备案,阿里云不支持IP备案,建议可以通过备案域名使用,如果有监管下发要求IP阻断的要求,IP访问可能也会有影响 当您的域名需要解析阿里云内地节点服务器使用的时候是需要在阿里云提交您域名的备案申请的。
2024-11-20 16:05:51
1478
原创 Python安装(Linux + Windows)
通过上述步骤,尽管python3.11 --version返回的是Python 3.11.10,但是通过python3 --version返回的仍然是3.8.10。【root cause】:这是因为系统默认的。仍指向 Ubuntu 自带的 Python 版本(在我的系统中是 3.8.10)。python3 --version直接返回ubuntu自带的3.8.10的版本。后,它不会自动替换系统默认的。通过指令直接安装,会报错如下;
2024-11-15 14:32:41
567
原创 静态测试工具QAC(一)
主要功能: 静态代码分析工具,用于检查 C、C++ 代码中的语法错误、潜在的运行时错误、编码规范违反等问题。提供详细的诊断信息,帮助开发者快速定位问题。能够深入代码内部,发现深层次的缺陷。可定制规则,以适应不同的项目需求。要求高可靠性的软件系统。
2024-11-11 16:37:27
638
原创 静态测试与动态测试(一)
特征静态测试动态测试是否运行程序不运行运行发现问题类型语法错误、逻辑错误、设计缺陷运行时错误、功能错误、性能问题测试阶段开发早期开发后期需要环境无需硬件环境需要硬件环境测试方法代码走查、静态分析等白盒测试、黑盒测试等目的尽早发现问题,提高代码质量验证软件功能和性能。
2024-11-11 13:56:22
295
原创 指令(一):Android OS实用指令
将上面的pkgName 替换为 具体的app的包名,比如:com.weifu.daozharadar.xtqapp。其中app-release_V1.0.5.apk部分可以替换成具体的apk文件名称。方法一:dumpsys指令。方法二:aapt指令。
2024-10-28 11:21:18
583
原创 Android 中的串口开发
串行端口 ,即:SerialPort,简称串口,主要用于数据被逐位按顺序传送的通讯方式称为串口通讯(简单来讲就是按顺序一位一位地传输数据)。
2024-10-21 16:52:53
3062
原创 nrf Connect低功耗蓝牙APP 使用教程
nRF Connect是专门用于BLE测试的APP,仅支持Android OS。这款APP可以扫描并搜索BLE蓝牙设备,并进行通信。它支持许多蓝牙 SIG 采用的配置文件,以及Nordic Semiconductor或谷歌的Eddystone的设备固件更新配置文件(DFU)。
2024-10-18 16:38:02
4351
原创 一周掌握MySQL(三):主键、外键、可视化软件
*主键(Primary Key)和外键(Foreign Key)**是关系数据库中的两个重要概念,用于确保数据的一致性和完整性。主键:是表中用来唯一标识每一行数据的字段(或字段组合)。每个表只能有一个主键,主键的值不能重复,也不能为NULL。它确保了表中每一行数据都是唯一的。例如,在一个用户表中,用户ID通常会作为主键,因为每个用户都有一个唯一的ID。外键:是一个表中的字段,它引用另一个表的主键。外键用于建立和维护两个表之间的关系,确保引用的值在另一个表中存在。外键可以包含重复值或为空(如果允许的话)。
2024-07-31 16:33:20
1087
1
原创 YModem在Android上的实现(一)
定义了传输步骤(HELLO、FILE_NAME、FILE_BODY、EOT、END)和一些控制字符(ACK、NAK、CAN、ST_C)以及MD5校验相关的字符串。
2024-07-09 19:00:34
1312
原创 Docker学习
容器生命周期:学习如何停止、启动、重启和删除容器,使用 docker stop、docker start、docker restart、docker rm 等命令。创建镜像:学习使用 Dockerfile 来创建自定义镜像,了解 Dockerfile 的基本语法和指令如 FROM、RUN、COPY、EXPOSE 等。修改Docker配置文件。基本命令:熟悉基本命令如 docker run、docker ps、docker stop、docker rm 等,用于管理和操作容器。官方文档提供详细的安装步骤。
2024-06-24 15:18:40
1022
原创 AndroidMJ-系统综合
Systrace 是一个强大的性能分析工具,可以生成包含系统级别信息的详细跟踪报告。通过分析这些报告,开发者可以找出性能瓶颈,如线程调度、CPU 负载、I/O 等。Traceview 是一个可视化的性能分析工具,可以展示应用执行时的方法调用和执行时间。它帮助开发者识别性能瓶颈,如长时间执行的方法调用等。
2024-06-18 19:19:48
642
1
原创 AndroidMJ-frameworks-interview
一:Framework 深入理解之理论,原理篇。二:Framework定制修改的案例。
2024-06-18 14:42:36
241
原创 AndroidMJ-客户端
一个线程只能属于一个进程,线程可直接使用同进程的资源,线程依赖于进程而存在。•SharedPreferences:存储键值对,适合轻量级数据。•文件存储:使用File API在内部或外部存储空间保存文件。进程之间不能共享资源,而线程共享所在进程的地址空间和其它资源。进程是cpu资源分配的最小单位,线程是cpu调度的最小单位。•SQLite数据库:关系型数据库,适合结构化数据存储。一个进程内可拥有多个线程,进程可开启进程,也可开启线程。四:四大组件的生命周期和使用案例。【进程和线程的区别】
2024-06-17 23:47:41
434
1
原创 Android.mk的用法
Android.mk文件是 Android 编译系统中用于描述项目源文件、库和模块的 Makefile。它采用 GNU Make 的语法,但也包含了一些特定于 Android 编译系统的规则和变量。以下是对其语法和使用方法的详细解释及示例。
2024-06-16 15:41:25
1107
原创 Android系统基础(一)
MTK(MediaTek)平台的Android代码结构大体上与标准的AOSP(Android Open Source Project)代码结构类似,但会有一些特定于MediaTek的扩展和定制。: 包含设备专有的二进制文件和驱动程序,这些文件可能需要更新以支持新的硬件特性或修复驱动程序中的问题。: 包含MediaTek平台相关的定制代码,可能需要修改以集成新的系统服务或修改现有的服务。: 处理特定架构(如ARM)的内核配置和实现,可能需要修改以支持新的硬件或优化性能。和 Android.mk。
2024-06-16 12:42:26
817
原创 android中的JNI的DEMO
找到地址后,执行对应的C函数,实现本地方法调用。在JNI(Java Native Interface)中,Java中的本地方法和C/C++中的实现方法之间通过特定的命名约定进行映射。Jni的进阶知识:jni添加日志,复制对象的调用,C++调用Java方法,Jni方法的动态注册和静态注册,Jni报错分析等等,这些都是有一定的难度的,经过一定的学习了解就可以掌握了。Jni基础很简单,比如:Java 代码中加载so库,定义native方法,jni代码中执行简单的实现,相信很多人都是会的;
2024-06-12 23:53:59
872
C++基础编程 学习笔记
2024-05-13
C++ 核心编程 学习笔记
2024-05-11
移动开发+android+listView+EditText+实现搜索ListView功能
2024-04-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人