自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于Android studio调试功能使用

优先级调试内容原因说明🥇设置断点所有调试的基础,精准定位问题起点🥈调试操作控制决定你能否高效进入/跳出代码逻辑🥉变量观察是否能发现真正的 bug 依赖它🟡调用堆栈分析理解执行顺序和逻辑非常关键🟠线程调试多线程环境下问题排查必备🟢热更新与即时运行提高调试效率但非必须🔵远程/真机调试环境特有问题才需要参考文献:Android Studio 调试机制及性能优化工具使用_androidstudio断点有哪几种类型-CSDN博客。

2025-08-07 23:33:10 1095

原创 软件测试模型(一)

RAD(Rap Application Development,快速应用开发)模型是软件开发过程中的一个重要模型,由于其模型构图形似字母V,所以又称软件测试的V模型。V模型是瀑布模型的扩展,将开发活动与测试活动对称排列,强调测试从开发早期阶段就开始设计,与需求和设计密切相关。

2025-08-04 22:12:17 579

原创 开发规范(一)移动端

选择Includes标签页 → 编辑添加自定义模板(示例)/*** 描述:$NAME*/

2025-08-04 22:11:03 298

原创 YModem在Android上的实现(四)

1)一开始流程没有走对,主要是蓝牙连接的雷达设备返回数据时,没有调用onDataReceivedFromBLE(bytes)方法,调用onDataReceivedFromBLE(bytes)方法后会进一步执行public void onReceiveData(byte[] respData),具体里面的case(如:case。前面的handle系列的方法,主要会对返回的值如:C,ACK,NAK进行分值处理!基于对协议规范进行逻辑修改!Step 1:修改manifest.xml。

2025-07-21 23:02:11 658

原创 移动端开发的package命名规范

要通过Ctrl + Shift + R进行全局替换(通常资源文件的import,build.gradle,manifest都可能存在旧包的引用)1)从不规范包名refactor再rename到规范包名后,Scope要选择All Places。3)通过Ctrl + Shift + F找不到旧包的引用之后,再进行以下操作。2)基于1),还要全局搜索是否还有旧包的引用,如果有,如下图。:全小写,符合 Java/Android 包命名惯例。后缀建议体现项目或模块,如。等,有利于模块划分与组织。

2025-07-20 10:47:19 508

原创 git GUI

Git可视化教程——Git Gui的使用[通俗易懂]-腾讯云开发者社区-腾讯云

2025-07-14 16:46:04 159

原创 Git commit message

Git —— Commit Message 规范介绍_git commit message-CSDN博客

2025-07-14 15:33:42 343

原创 C codes运行(一)

将 C:\mingw64\bin 添加到系统环境变量 PATH。打开终端,输入 gcc --version,看到版本信息即成功。创建工作目录,如下图的c_demo,exe文件是后生成的。在VS code中安装相应的插件。红色框中的支持win10,11。(Windows)或。

2025-07-04 14:36:20 454

原创 kotlin学习路线

Lambda 表达式。

2025-06-25 10:36:16 359

原创 Android组件化和插件化开发

Android组件化和插件化开发-CSDN博客

2025-06-20 23:45:07 423

原创 Android Studio Profiler使用

第5步生成内层泄漏日志之后,后面会显示内层泄漏个数和方法列表。如果Leaks的数目不是0,就会出现内层泄漏个数并显示黄色叹号。再根据references对应的类名,找到在项目中调用它的地方。然后就找到内层泄漏的地方啦。测试完成,选择MEMORY,选择_capture_ _heap dump,_然后点击record。开启一个新的分析会话(start a new profiling session),根据包名引入你手机目前运行进行分析的app;此时正常使用你的App功能,把可能出现内层泄漏的模块测试一下;

2025-06-19 20:02:16 723

原创 LeakCanary使用步骤

工具特点LeakCanary自动检测、快速定位、界面友好实时监控内存分配,可导出.hprof文件。

2025-06-19 18:47:18 713

原创 memory leak 和 OOM (内存泄露和内存溢出)

即指 程序在申请内存后,当该内存不需再使用但却无法被释放& 归还给 程序的现象下面,我将用一张图总结Android中内存泄露的原因 & 解决方案。

2025-06-19 16:55:18 1008

原创 Android 性能优化

内存泄露和 OOM(内存溢出)是应用稳定性的致命伤,必须优先解决。ANR(主线程阻塞)与 UI 卡顿(Jank)严重影响用户体验,两者紧密相关。优化主线程耗时操作、提高渲染效率是预防关键。

2025-06-19 15:40:01 569

原创 android IPC 进程间通信

https://juejin.cn/post/7494695992878202914

2025-06-19 15:12:45 144

原创 android UI 布局

这个示例展示了 ConstraintLayout 的三种核心约束技巧:位置约束、尺寸百分比和链式连接,适合作为中等复杂度的布局参考。下方并排显示两个按钮("确定"和"取消")宽度占父布局 40%(使用百分比宽度)响应式布局:按钮宽度按比例自适应屏幕。点击按钮显示对应的 Toast 提示。按钮点击显示 Toast 提示。顶部显示居中标题"操作面板"在不同屏幕尺寸上保持比例布局。位于标题下方 32dp。水平居中于父布局顶部。文字大小为 24sp。宽度占父布局 40%

2025-06-19 11:05:30 347

原创 Android开发中的适配

在Android开发中,是确保应用在各种设备上都能良好运行和显示的关键。这不仅仅是UI层面的调整,更是涉及到系统行为、API兼容性等多个方面。屏幕适配:让你的应用在任何屏幕上都光彩照人。Android设备拥有极其多样的屏幕尺寸、分辨率和像素密度,因此屏幕适配至关重要。

2025-06-19 10:35:53 745

原创 callback的原理和机制

Callback(回调)就是把“我处理完再通知你”的机制。你把一个“接口对象”传给别人,别人处理完后“反过来调用你提供的方法”,这就叫回调。

2025-06-14 14:28:43 915

原创 AndroidMJ-mvp与mvvm

如果有缓存,调用 view.showData() 后就执行了 return, loadData 方法会立即终止,不会继续执行后面的联网逻辑。这是典型的“缓存优先”策略,避免不必要的网络请求。fetchData 回调里调用了view,是不是意味着 View 和 Model 没解耦?Model 本身完全不知道 View 的存在,它只是调用了。的存在,它只关心如何拿数据和把结果通过接口通知出去。同时持有两者的引用,作为中间人来协调工作。,解耦仍然存在,只是回调链路由。,在回调方法体中调用的。

2025-06-14 14:21:29 692

原创 AndroidMJ-基础-05

9:测试相关postmangenemotionespresso10:性能相关profiler。

2025-06-13 10:35:39 337

原创 工模、老化apk中Framewok定制开发的场景

场景:工厂模式APK或老化测试APK需要访问某些非公开或自定义硬件(如特殊的传感器、马达、电源控制模块等)。解决方案:通过添加自定义或扩展已有的服务(如PowerManager、SensorManager)来暴露接口给APK调用。场景:APK需要与底层服务(例如由 HAL 层提供的服务)进行跨进程通信。解决方案:通过Framework层暴露一个AIDL接口,APK通过AIDL进行调用,避免直接调用JNI或底层C/C++代码。场景类型示例说明硬件访问自定义SystemService、AIDL。

2025-06-10 21:35:16 781

原创 android debug包和release包的区别

在 Android 开发中,Debug 包和 Release 包是两种不同的构建类型,主要区别在于优化、调试信息和安全性等方面。

2025-06-06 11:25:39 1768

原创 Python中处理JSON文件

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。在Python中,处理JSON数据是一项常见且重要的任务,特别是在数据科学、网络编程和API交互等领域。本文将深入探讨Python中如何处理JSON文件,包括读取、解析、修改和写入JSON数据。JSON格式由键值对组成,其中键总是字符串类型,而值可以是字符串、数字、数组(列表)、布尔值或其他嵌套的JSON对象。

2025-03-11 17:58:00 1041 1

原创 python读、写CSV文件

如果文件正在被记事本、excel等工具软件打开,此时想往文件里写数据,那么就会报权限错误必须先关掉打开的文件,再执行具体的write写操作。

2025-03-09 14:53:16 1210

原创 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 336

原创 运维基础知识(一)

总的来说,Telnet由于其明文传输的缺陷,安全性较低,而SSH通过加密传输提供了更高的安全性。)是Linux、Unix、Mac及其他网络设备最常用的远程CLI管理协议,SSH使用秘钥对数据进行加密,保证了远程管理数据的安全性。SSH:SSH是一种加密传输协议,通过公钥加密和密钥交换技术确保数据在传输过程中是加密的,从而保护用户的隐私和数据的安全性。Telnet:Telnet是一种明文传输协议,所有的数据(包括用户名和密码)都是以明文形式在网络上传输,容易被截获和篡改。

2025-02-27 13:09:59 1242

原创 手把手教你本地部署deepseek

点击 “DeepSeek-R1” 后,您将进入模型的详情页面,页面中会显示多个可选择的参数规模。这里的 “B” 代表 “Billion”,即“十亿”,因此:1.5B 表示该模型具有 15 亿个参数,适合轻量级任务或资源有限的设备使用。官网下载OLLAMA工具。选择不同的参数规模意味着你可以根据自己的硬件配置和应用需求,决定使用哪个版本的模型。基于ollama官网具体模型版本右侧的指令,比如1.5b对应的ollama run deepseek-r1:1.5b,在终端进行执行,按回车键即可开始下载模型。

2025-02-21 15:58:09 512

原创 计算机网络协议(二)

如果你需要使用的协议不在 HTTP 的范畴内,像某些专有协议,或者需要实现低层次的协议(如自定义的 TCP/UDP 协议),就需要手动使用。高层次的库提供了 HTTP 请求的封装,处理了连接管理、请求/响应处理、错误处理等复杂细节,开发者无需关心底层的连接和数据传输。当有了高层次的网络库之后,就可以直接通过http进行网络操作了,而不再基于socket进行基本的(TCP/UDP)接口编程。:如果你需要对网络通信有精细的控制,比如实现自定义的协议或直接操作 TCP/UDP 的细节,

2025-02-17 14:57:09 314

原创 计算机网络协议(一)

TCP/IP的体系结构比较简单,只有四层层次名称单 位功 能协 议网络接口帧负责实际数据的传输,对应OSI参考模型的下两层HDLC(高级链路控制协议)PPP(点对点协议) SLIP(串行线路接口协议)网络层数据报负责网络间的寻址数据传输,对应OSI参考模型的第三层IP(网际协议) ICMP(网际控制消息协议)ARP(地址解析协议) RARP(反向地址解析协议)传输层报文段负责提供可靠的传输服务,对应OSI参考模型的第四层TCP(控制传输协议) UDP(用户数据报协议)

2025-02-17 11:31:17 927

原创 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 366

原创 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 526

原创 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 434

原创 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 377

原创 python学习目录

Python的特点Python的应用领域Python的安装与环境配置通过这种由浅入深的学习路径,你将能够更有针对性地掌握 Python 及其相关框架和工具。从基础语法到 Web 开发,再到数据分析和机器学习,每一步都为你后续的深入学习奠定了基础。重点是根据实际场景和需求选择学习路径,逐步积累经验。你可以选择从你最感兴趣的方向入手,或者根据职业需求来决定学习的先后顺序。

2025-02-10 16:49:17 1086

原创 设计模式基于Android(二)

一:Android中的使用 (结构型)二:Android中的使用 (行为型)

2025-01-06 14:01:57 284

原创 YModem在Android上的实现(三)

从原始的128模式切换到1024的模式,prepareData函数中以1024为block长度准备数据,sendDataPackage函数中还是以133一包发的,总长度是1029 = 133*7 =98;标准ASCII对照表。

2024-12-11 16:44:44 345 2

原创 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 581

原创 1.6.3 python 网络编程demo:基于 Requests 请求数据

【代码】python own codes:基于 Requests 请求数据 (附全部代码)

2024-11-27 16:42:23 715

原创 基于Python的自动化测试(一)

Robot Framework***:是一个基于关键字驱动的自动化测试框架,它支持多种测试类型,如功能测试、回归测试、验收测试等,广泛应用于 Web 测试、API 测试、数据库测试等领域。Requests***:一个流行的 HTTP 请求库,常用于测试 Web API,掌握如何发送 GET、POST 等请求,解析返回结果,并对接口进行断言。它提供了多种功能,可以用来访问网络资源、发送请求、获取响应内容等。unittest***:Python 的标准测试框架,了解如何编写测试用例、组织测试套件、使用断言等。

2024-11-27 15:26:29 964

原创 基于Python脚本进行测试(一)

编写 Python 测试脚本主要用于验证代码的正确性、功能和性能。测试脚本可以用于单元测试、集成测试、功能测试等。以下是编写测试脚本需要学习的 Python 知识点。

2024-11-25 14:46:16 1092

C++基础编程 学习笔记

C++基础编程,适合小白和跨专业的同学学习,涉及 C++介绍(注释,变量,关键字,标识符命名规则)、 数据类型(整型,sizeof关键字,实型(浮点型),字符型,布尔型,数据的输入)、 运算符(算数运算符,赋值运算符,比较运算符,逻辑运算符)、 程序流程结构(选择结构,循环结构,跳转结构)、 数组(一维数组,二维数组)、 函数(函数定义,函数调用,值传递,函数的常见样式,函数的声明,函数的分文件编写) 指针(指针变量定义使用,指针的内存空间,空指针与野指针,const修饰指针,指针和数组,指针和函数,指针,数组,函数)、 结构体(结构体定义和使用,结构体数组,结构体指针,结构体嵌套结构体,结构体做函数参数,结构体中const使用场景)

2024-05-13

C++提高编程 学习笔记

C++提高编程 学习笔记

2024-05-11

C++ 核心编程 学习笔记

内存分区模型: 程序运行前,程序运行后,new操作符 引用: 引用的基本使用,引用注意事项,引用做函数参数,引用做函数返回值,引用的本质,常量引用 函数提高: 函数默认参数,函数占位参数,函数重载 类和对象: 封装,对象的初始化和清理,C++对象模型和this指针,友元,运算符重载,继承,多态 文件操作: 文本文件,二进制文件

2024-05-11

移动开发+android+listView+EditText+实现搜索ListView功能

基于gradle7.0.0,java移动开发+android+listView+EditText+实现搜索ListView功能,基于TextWatcher的onTextChanged,beforeTextChanged,afterTextChanged进行搜索功能的函数filterData的执行,并在合适的位置如:onCreate中为编辑控件EditText添加监听addTextChangedListener

2024-04-25

基于AndroidStudio的天气app(适合初学者)

结合《第一行代码》这本书,效果很好!! 原生Android开发的初学者值得一看!!

2018-11-04

apache7压缩包

apache下载解压后,立刻可以使用,win64的操作系统适合使用,当然你也可以访问Apache官网。

2016-02-29

空空如也

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

TA关注的人

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