自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学无止境

学如逆水行舟,不进则退

  • 博客(389)
  • 资源 (7)
  • 问答 (4)
  • 收藏
  • 关注

原创 【AIoT】智能硬件GPIO通信详解(一)

在生产线监测中,DI(数字输入)引脚读取电机转速传感器的脉冲信号,DO(数字输出)引脚则驱动继电器控制阀门开闭。类似地,温湿度传感器通过 GPIO 传输数据至 MCU,经处理后控制空调或加湿器,实现环境的自主调节。在物联网、工控机与微控制器(MCU)的控制系统中,通用输入输出(GPIO)接口如同神经末梢般存在,将数字指令转化为物理世界的感知与行动。代码的主要功能是控制 GPIO 引脚(这里是 GPIO38),让连接到该引脚的 LED 每隔一秒闪烁一次,总共闪烁 100 次,最后释放该 GPIO 引脚。

2025-03-08 23:13:51 152

原创 【AI工具】DeepSeek使用详解

这得益于它采用强化学习进行后训练,构建了智能训练场,能动态生成题目和实时验证解题过程,极大提升了推理能力 ,在数学、代码和推理任务上可与 OpenAI 的 O1 相媲美。其研发成果已在多个领域得到应用,为各行业带来了新的解决方案和发展机遇,比如在智能客服领域,大幅提升了服务效率和客户满意度。而且,DeepSeek-R1 完全开源,采用 MIT 许可协议,这意味着开发者可以自由使用、修改和分发,甚至用于商业用途,无需担心版权问题。这不仅降低了 AI 应用的开发门槛,也为开源社区的发展注入了强大动力。

2025-02-23 21:23:03 899

原创 人工智能专业术语详解(A)

人工智能不仅是指寻求如何替代人类的机器人或人类寻求自我挑战的游戏,更是指运用复杂的程序化数学,其结果与高质量的训练数据相结合,推动了我们在日常生活中所看到的技术进步。从无人驾驶汽车到寻找癌症的治疗方法,人工智能正在逐渐渗透我们的生活之中。

2025-02-04 18:28:48 766

原创 软件设计师笔记-标准化和软件知识产权基础&软件系统分析与设计

不为公众所知的、能为权利人带来经济利益、具有实用性并经权利人采取保密措施的技术信息和经营信息,包括经营秘密和技术秘密。人们基于自己的智力活动创造的成果和经营管理活动中的经验、知识而依法享有的权利。对重复性事务和概念所做的统一规定。

2025-01-05 15:51:40 508

原创 软件设计师笔记-算法设计与分析&面向对象技术

它不仅体现了一类语言的主要特点,更是执行设施的基本集合,或者说是关于计算机系统的思考方法。在编程的世界里,不同的程序设计范型犹如不同的工具箱,帮助程序员以不同的视角和方式解决问题。通过遵循单一职责原则,开发者可以将复杂的类拆分成多个简单的类,每个类只负责一个特定的职责,从而使得系统更加清晰和易于管理。这一原则确保了软件系统的继承关系具有良好的行为特性,即子类在继承父类的同时,不会破坏父类的行为。接口隔离原则要求将庞大的、臃肿的接口拆分成更小的、更具体的接口,使得客户端只需要知道它们感兴趣的方法。

2024-12-03 22:38:20 677

原创 软件设计师笔记-数据结构

每个节点子树个数=2,其他节点子树个数=0。左子树上所有节点的值小于根节点的值,右子树上所有节点的值大于根节。有向图中有向边表示活动,边上的权值表示该活动持续的时间。有向图中顶点表示活动,有向边表示活动间的优先关系。每个节点有两个指针,分别指出直接前驱和直接后继。仅由字符构成的有限序列,是取值范围受限的线性表。一个节点的前驱节点和后继节点数目没有任何限制。数据元素的集合及元素间的相互关系和构造方法。关键字和给定值进行过比较的记录个数的平均值。从源点到汇点的路径中长度最长的。

2024-11-02 18:59:31 900

原创 软件设计师笔记-数据库技术基础

创建(create)修改(alter)删除(drop)表(table)视图(view[as select])索引(index[on])封锁技术是指当一个事务在对某个数据对象进行操作之前,先向系统发出请求,对其加锁。成功加锁之后,该事务就获得了对该数据的控制权,其他事务在锁被释放之前不能对该数据进行更新。这种机制有效地防止了并发事务之间的数据不一致问题。

2024-10-02 21:12:56 1996

原创 软件设计师笔记-多媒体基础知识

采样是在时间轴上对模拟信号进行数字化的过程。具体方法是在某些特定的时刻对模拟信号进行测量,每隔相等或不相等的一小段时间采样一次。

2024-09-01 21:43:56 2625

原创 软件设计师笔记-网络基础知识

例如,通过在网络中部署多个路由器和交换机,并配置适当的路由协议和故障转移机制,可以在一个设备发生故障时,自动将流量转移到其他设备上,从而确保网络的连通性和服务的连续性。数据通信是计算机网络最基本的功能。计算机网络的分类主要依据其覆盖的地理范围大小来区分,常见的分类包括局域网(LAN)、城域网(MAN)和广域网(WAN),每种网络类型都有其特定的应用场景和特点。网络拓扑结构是描述网络中各个节点(如计算机、交换机、路由器等)之间的物理或逻辑连接方式的图形表示,不同的拓扑结构适用于不同的网络需求和环境。

2024-08-04 19:50:13 1028

原创 并口、串口和GPIO口区别

另外,为了使用的方便,很多mcu把glue logic等集成到芯片内部,增强了系统的稳定性能,比如GPIO接口除去两个标准寄存器必须具备外,还提供上拉寄存器,可以设置IO的输出模式是高阻,还是带上拉的电平输出,或者不带上拉的电平输出。另外需要注意的是,对于不同的计算机体系结构,设备可能是端口映射,也可能是内存映射的。所谓“并行”,是指8位数据同时通过并行线进行传送,这样数据传送速度大大提高,但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,数据也就容易出错,目前,并行接口主要作为打印机端口等。

2024-07-06 18:10:12 975

原创 Kotlin协程使用详解

协程的挂起可以理解为协程中的代码离开协程所在线程的过程,协程的恢复可以理解为协程中的代码重新进入协程所在线程的过程。而恢复这个功能是协程的,如果你不在协程里面调用,恢复这个功能没法实现,所以也就回答了这个问题:为什么挂起函数必须在协程或者另一个挂起函数里被调用。因为一个挂起函数要么在协程里被调用,要么在另一个挂起函数里被调用,所以不管是直接还是间接地,总是会在一个协程里被调用的。协程范围,指的是协程内的代码运行的时间周期范围,如果超出了指定的协程范围,协程会被取消执行。都不对,我们挂起的对象是协程。

2024-07-06 17:41:00 904

原创 软件设计师笔记-系统开发和运行知识(三)

在软件质量保证中,应用技术方法、进行正式的技术评审、测试软件、实施标准、控制变更、度量、记录保存和报告都是关键的活动。通过技术评审,可以发现和纠正潜在的问题和缺陷,提高软件的质量。新系统的逻辑模型基于[描述采用的技术或方法论,如微服务架构、云计算等],旨在构建一个[描述系统目标,如高效、稳定、易扩展等]的业务处理平台。总之,结构化分析方法是一种自顶向下、逐层分解的系统分析方法,它通过数据流图、数据字典、小说明和补充材料等工具和技术,对系统进行全面的分析和描述,为系统的设计和实现提供了坚实的基础。

2024-06-28 21:40:49 755

原创 软件设计师笔记-操作系统知识(二)

以下是关于线程的一些关键点:存储器管理(Memory Management)是操作系统中一个至关重要的部分,它负责有效地管理计算机的主存(或称为RAM)。以下是存储器管理的主要功能的详细解释:分配和回收主存空间:提高主存利用率:扩充主存:有效保护主存信息:存储器的层次结构是计算机系统中非常重要的一部分,它体现了存储设备的速度、容量和成本的权衡。这个层次结构通常包括以下几个级别,从快到慢、从容量小到容量大、从成本高到成本低排列:寄存器(Registers):快速缓存(Cache Memory):主存(Main

2024-06-28 21:31:01 237

原创 软件设计师笔记-系统开发和运行知识(二)

变换分析和事务分析是从数据流图导出程序结构图的两种常用方法。变换分析适用于处理具有明显变换流特性的系统,而事务分析则适用于处理具有事务流特性的系统。在实际应用中,需要根据系统的具体特性选择合适的方法。

2024-06-24 22:20:32 320

原创 软件设计师笔记-系统开发和运行知识(一)

软件工程是一门研究用工程化方法构建和维护有效、实用和高质量软件的学科。它涉及计算机科学、数学、管理科学等多领域的原理和技术。其核心目标是应用这些原理和技术来提高软件的生产效率、质量,并降低其成本。关键组成部分:工程化原则和方法:软件工程强调使用工程化的原则和方法来解决软件问题。这包括:目标:总之,软件工程是一个综合性和实践性很强的领域,它依赖于计算机科学、数学和管理科学等多学科的知识和技术,旨在提高软件的生产率、质量和成本效益。软件生存周期(也称为软件开发过程或软件生命周期)是一个描述从软件项目的概念化、开

2024-06-23 22:44:21 857

原创 软件设计师笔记-操作系统知识(一)

进程同步是指多个进程在执行过程中,由于直接的相互制约关系而相互发送消息、进行互相合作、互相等待,从而确保各进程能够按照一定的速度或顺序执行,以共同完成某一任务。

2024-06-23 17:20:03 325

原创 软件设计师笔记-程序语言基础知识

程序设计语言是计算机能够理解和识别用户操作意图的一种交互体系,它按照特定规则组织计算机指令,使计算机能够自动进行各种运算处理。程序设计语言也叫编程语言,是用于书写计算机程序的语言,其基础是一组记号和一组规则。程序设计语言具有三个核心要素:语法、语义和语用。语法:表示程序的结构或形式,亦即表示构成语言的各个记号之间的组合规律。具体来说,语法定义了如何组织和排列这些记号以形成有意义的程序。在编程中,语法规则决定了哪些指令和表达式是合法的,以及它们应该如何组合在一起。

2024-06-10 20:46:59 268

原创 软件设计师笔记-计算机系统基础知识

CISC指令集的特点在于其丰富性,包含了多种不同的操作,每个操作都能执行复杂的任务,如乘法、除法、浮点运算等。在RISC处理器中,流水线技术被广泛应用,通过将指令的执行过程划分为多个阶段(如取址、译码、执行、访存和回填等),并允许不同指令的不同阶段重叠执行,从而提高了处理器的吞吐量和效率。由于计算机中的各种部件都是在时钟信号的同步下工作的,因此各种部件的动作必须有时间上的协调。通过增加流水线的级数,超流水线技术能够减少每个阶段的执行时间,并允许更多的指令在同一时间内并行执行。

2024-06-10 18:11:28 276

原创 物联网开发你需要知道这些

新增加的设备,如果是同一类型的,在设计、研发中,会遵循相同的功能定义,有相同的特征,实现相同的服务。它是一种把中央处理器(CPU)的频率与规格做适当缩减,并将内存(Memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。它是物理空间中的实体,如传感器、车载装置、楼宇、工厂等在云端的数字化表示,从属性、服务和事件三个维度,分别描述了该实体是什么,能做什么,可以对外提供哪些信息。

2024-05-28 23:43:16 805

原创 Android内存碎片化调优

在Android系统中,内存碎片化是指内存中存在很多小块的空闲内存,这些内存块之间不连续,难以找到足够大的连续内存块来满足某些大型对象的内存分配需求。通过优化内存使用、采用合适的内存管理策略以及定期清理内存,可以有效地减少内存碎片化并提升系统的性能和稳定性。在实际应用中,你可能需要在关键的内存分配操作前调用内存压缩,例如在Bitmap的分配和回收过程中,以保持内存的连续性。另一种是空闲分散的内存页,凑不齐一个组物理地址连续的空闲内存页,就没办法分配了,这些散落的内存页被称为。

2024-05-26 16:06:52 375

原创 Jetpack Compose 初探

是用于构建原生 Android 界面的新工具包。它使用更少的代码、强大的工具和直观的Kotlin API,可以帮助您简化并加快 Android 界面开发。与传统的XML布局文件和Java代码相比,采用了声明式的方式来构建用户界面,提供了一种更简洁、更直观的UI开发体验。围绕可组合函数构建,这些函数允许开发者以程序化方式定义应用的界面,只需描述应用界面的外观并提供数据依赖项,而不必关注界面的构建过程。

2024-05-15 18:48:18 230

原创 leetcode刷题:买卖股票的最佳时机

动态规划(Dynamic Programming,简称 DP)是一种在数学、计算机科学和经济学中使用的,通过把原问题分解为相对简单的子问题的方式来求解复杂问题的方法。动态规划方法的基本思想是:将待求解的问题分解成若干个相互重叠的子问题,求解一个子问题时,将其解存储起来,以便以后利用。这样,在求解任何一个子问题时,所利用的子问题的解都是已经计算过的,从而避免了重复计算。解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。

2024-05-12 20:33:42 797 1

原创 leetcode刷题:搜索插入位置

二分查找的思路不难理解,但是边界条件容易出错,比如循环结束条件中 left 和 right 的关系,更新 left 和 right 位置时要不要加 1 减 1。这里是为了让读者更加深入理解二分查找算法的原理,在实际项目使用中,Java二分搜索算法已经有现成的API库。输入: nums = [1,3,5,6], target = 5。输入: nums = [1,3,5,6], target = 2。)的时间复杂度,但是如果二分的话则可以降低到 O(之间的大小进行判断,相等则直接返回下标,

2024-05-12 19:25:04 914

原创 重新认识Flutter跨平台技术(下)

首先 Skia 肯定是一个优秀的通用 2D 图形库,例如 Google Chrome 、Android、Firefox 等设备都是用了 Skia ,但是也因为它的「通用性」,所以它不属于 Flutter 的形状,它无法专门针对 Flutter 的要求去进行优化调整,例如 Skia 附带的许多功能超出了 Flutter 的要求,其中一些可能会导致不必要的开销并导致渲染时间变慢,而目前来看,Skia 的通用性给 Flutter 带来了性能瓶颈。然后,框架会将可渲染的对象缝合在一起,组成可渲染对象树。

2024-05-12 18:59:33 250

原创 leetcode刷题:腐烂的橘子

在 BFS 中,每遍历到一个橘子(污染了一个橘子),就将新鲜橘子的数量减一。然后进行 BFS 遍历,每个结点的相邻结点可能是上、下、左、右四个方向的结点,注意判断结点位于网格边界的特殊情况。解释:左下角的橘子(第 2 行, 第 0 列)永远不会腐烂,因为腐烂只会发生在 4 个方向上。输入:grid = [[2,1,1],[1,1,0],[0,1,1]]输入:grid = [[2,1,1],[0,1,1],[1,0,1]]一开始,我们找出所有腐烂的橘子,将它们放入队列,作为第 0 层的结点。

2024-05-11 20:38:16 353

原创 重新认识Flutter跨平台技术(上)

Flutter 是一个跨平台的 UI 工具集,它的设计初衷,就是允许在各种操作系统上复用同样的代码,例如 iOS 和 Android,同时让应用程序可以直接与底层平台服务进行交互。如此设计是为了让开发者能够在不同的平台上,都能交付拥有原生体验的高性能应用,尽可能地共享复用代码的同时,包容不同平台的差异。在开发中,Flutter 应用会在一个 VM(程序虚拟机)中运行,从而可以在保留状态且无需重新编译的情况下,热重载相关的更新。

2024-05-11 18:47:41 1175 1

原创 leetcode刷题:对称二叉树

广度优先遍历(Breadth-First Search, BFS)是一种从图的某一节点(源节点)出发,先访问该节点的所有相邻节点,然后对每个相邻节点再访问它们的相邻节点,如此层层推进,直到访问完所有节点为止的遍历方法。深度优先遍历(Depth-First Search, DFS)则是一种从图的某一节点(源节点)出发,尽可能深地访问图中的节点,当达到图的某个叶节点时,再返回上一级节点继续搜索,直到访问完所有节点为止的遍历方法......

2024-05-10 21:49:30 672

原创 深度解析Android 14新特性

Android 14是谷歌公司于2023年5月11日正式发布的一款操作系统。这款新系统无论从ROM角度还是应用程序(App)角度,都带来了多方面的提升和改进。

2024-05-09 20:04:27 781 1

原创 leetcode刷题:反转链表

考虑使用递归法遍历链表,当越过尾节点后终止递归,在回溯时修改各节点的 next 引用指向。考虑遍历链表,并在访问各节点时修改 next 引用指向,算法流程见注释。给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。):变量 pre 和 cur 使用常数大小额外空间。输入:head = [1,2,3,4,5]): 遍历链表使用线性大小时间。输入:head = [1,2]):遍历链表使用线性大小时间。): 遍历链表的递归深度达到。输出:[5,4,3,2,1]输入:head = []

2024-05-08 19:34:08 778

原创 leetcode刷题:三数之和

给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!= k ,同时还满足 nums[i] + nums[j] + nums[k] == 0。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]输入:nums = [0,1,1]输入:nums = [0,0,0]解释:唯一可能的三元组和为 0。输出:[[0,0,0]]

2024-05-07 21:17:29 904 1

原创 重新认识Kotlin语言特性

Kotlin 是一种静态类型的开源编程语言,它既支持面向对象的编程,又支持函数式编程。Kotlin 提供的语法和概念与其他语言(包括 C#、Java 和 Scala 等等)类似。Kotlin 的目标并不是独树一帜,而是从几十年的语言发展中汲取灵感。它以变体的形式存在,这些变体以 JVM (Kotlin/JVM)、JavaScript (Kotlin/JS) 和原生代码 (Kotlin/Native) 为目标。

2024-05-07 13:38:43 188

原创 leetcode刷题:移动零

即遍历的时候每遇到一个 非0 元素就将其往数组左边挪,第一次遍历完后,j 指针的下标就指向了最后一个 非0 元素下标。这里参考了快速排序的思想,快速排序首先要确定一个待分割的元素做中间点 x,然后把所有小于等于 x 的元素放到 x 的左边,大于 x 的元素放到其右边。这里我们可以用 0 当做这个中间点,把不等于 0(注意题目没说不能有负数)的放到中间点的左边,等于 0 的放到其右边。其实就是把零的位数先全部去掉数据前移,最后面按照零的个数设置零数,可以进一步优化:避免数组开头是非零元素的交换。

2024-05-06 19:07:51 351

原创 2022年下半年软件设计师上午真题及答案解析(一)

ECC的主要优势是在某些情况下,它比其他方法使用更小的密钥就能提供相当的或更高等级的安全。DES算法是对称加密算法体系中的代表,使用相同的密钥进行加密和解密操作。RSA算法基于数论,利用两个大素数的乘积作为加密密钥,而这两个大素数的选择使得其乘积的因式分解变得极其困难,从而保证了加密的安全性。此外,还可以采取其他网站页面防篡改措施,如使用HTTPS协议、输入验证和过滤、使用防火墙、定期更新和修补漏洞、强化访问控制、监控和日志记录、使用内容安全策略(CSP)等,以提高网站的安全性和防护能力。

2024-05-06 13:37:39 450

原创 车载开发-Android Automotive平台

Android Automotive是一个基于Android操作系统的开源平台,专为车载信息娱乐系统设计。它利用了Android的通用框架、语言和API,以提供一个全栈、高度可定制的平台。Android Automotive不是Android的分支或并行开发,而是Android生态系统的一部分,与手机、平板电脑等安卓设备上的Android共享相同的代码库和存储库。该平台为车载信息娱乐系统和车机提供了开放性、自定义和规模化特性。

2024-05-04 13:48:34 492 1

原创 车载开发-操作系统介绍

车载操作系统(Automotive Operating System,简称车载OS)是管理和控制车载软件、硬件资源的程序系统,它支持汽车的上层软件开发、数据连接和人机界面(HMI)。车载操作系统与车控操作系统同属于汽车操作系统,但并不直接管理车辆动力、底盘、车身等基础硬件。管理车载系统的数据资源、硬软件,并控制应用程序的运行。提供多形式的人机界面,支持上层软件的运行。

2024-05-03 11:40:10 312

原创 leetcode刷题:最长连续序列

HashSet是Java中的一种集合数据结构,它是基于哈希表的`Set`接口的实现。HashSet不允许包含重复的元素,如果尝试将重复的元素添加到HashSet中,那么添加操作将不会成功,并且原始集合的状态也不会改变。

2024-04-29 21:07:02 273

原创 leetcode刷题:字母异位词分组

同一组字母异位词中的字符串具备相同点,可以使用相同点作为一组字母异位词的标志,使用哈希表存储每一组字母异位词,哈希表的键为一组字母异位词的标志,哈希表的值为一组字母异位词列表。遍历每个字符串,对于每个字符串,得到该字符串所在的一组字母异位词的标志,将当前字符串加入该组字母异位词的列表中。输入: strs = [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出: [[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]输出: [[“a”]]

2024-04-28 17:24:55 370

原创 leetcode刷题:两数之和

面试造火箭,工作拧螺丝,话虽如此,背背八股文,刷刷算法题,也可以提高自己的编程素养,一切目的是为了上岸,在此就不咬文嚼字,追求茴香豆的茴有几种写法了,换句话说,就是不考虑时间或者空间复杂度,直接采用最容易想到的常规手段。解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。输入:nums = [2,7,11,15], target = 9。输入:nums = [3,2,4], target = 6。输入:nums = [3,3], target = 6。只会存在一个有效答案。

2024-04-28 11:58:37 325 2

原创 简单了解裸眼3D呈现技术

这项技术利用传感器或摄像头实时监测观众的位置和视角,然后根据观众的位置信息动态调整投射的图像,确保不同位置的观众都能看到一致的3D效果。这种技术不仅可以在电影院和家庭影院中应用,还可以用于虚拟现实设备和大型展览等领域。裸眼3D呈现是一种不需要佩戴任何特殊设备(如3D眼镜或头盔)即可观看到3D效果的技术。这种技术近年来得到了快速发展,为观众带来了更加沉浸式的视觉体验。总之,裸眼3D呈现技术的发展为观众带来了更加真实、沉浸式的视觉体验。随着技术的不断进步和创新,相信未来裸眼3D将会在更多领域得到应用和推广。

2024-04-02 19:53:02 931

原创 简单理解AIGC大模型

AIGC是人工智能生成内容(Artificial Intelligence Generated Content)的缩写,是一种新的内容创作方式,它利用人工智能技术来生成文本、图像、音频和视频等多样化的内容。AIGC代表了AI技术发展的一个新阶段,其核心是自主生成内容,被认为是继专业生产内容(PGC)、用户生产内容(UGC)之后的新型内容创作方式。

2024-04-02 19:43:09 887

IoT(物联网)开发使用的低功耗蓝牙库

基于BLE4.0版本实现的专为IoT(物联网)开发用的低功耗蓝牙库。

2024-06-02

基于Android无障碍服务实现的自动连点器

基于Android无障碍服务实现的自动连点器,可以自由设置坐标和点击速度,操作简单,功能稳定。

2024-05-10

支持倍速播放的TV视频播放器源码

使用Kotlin语言编写的一款集成了ijkplayer的视频播放器,同时实现了本地和在线播放功能,支持倍速播放。

2018-08-23

gradle-4.1-all.zip离线包

Android Studio3.0对应的Gradle插件离线下载包 官网https://services.gradle.org/distributions/

2017-10-30

Kotlin语法学习

Kotlin语法学习-变量定义、函数扩展、Parcelable序列化、编写工具类、Activity跳转

2017-08-16

仿微信点击图片放大,并可滑动浏览效果demo

仿微信点击图片放大,并可滑动浏览效果

2017-08-16

Android RecyclerView 间距全适配

RecyclerView自定义行列间距

2017-08-16

Android侧滑编辑、删除效果Demo源码

一种易扩展、使用简单的Android侧滑删除控件。

2017-08-16

Android实现一种简易的Banner效果

使用ViewPager简单实现循环播放多个广告图片的banner效果,利用Handler与Runnable配合实现指定功能模块的定时循环执行。

2017-04-05

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

TA关注的人

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