自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(625)
  • 资源 (77)
  • 收藏
  • 关注

原创 架构的力量

本文提出从"铺代码"到"做架构"的四维进阶路径:1)理论输入,推荐《架构整洁之道》等经典书籍培养架构思维;2)深度拆解现有代码,通过画逻辑图、模拟破坏等方式理解设计原理;3)刻意练习,写代码时思考单点依赖、职责边界等架构问题;4)角色转变,从执行者变为标准制定者,用"懒人思维"提升效率。文章强调架构思维是通过实践培养的全局博弈感,而非单纯理论学习。

2026-04-07 15:31:38 73

原创 初级开发者→架构师核心分水岭:从 “铺代码” 到 “编写协议”

从"铺代码"到"编写协议":程序员思维升级的关键跃迁 职业发展的核心在于思维转变:初级开发者关注具体实现("铺代码"),而架构师注重建立规范("编写协议")。前者直接处理细节(如写死数值、重复逻辑),导致修改成本高;后者通过定义统一标准(如间距函数、容器组件),实现高效协同和灵活扩展。这种转变体现在数值管理、逻辑封装、布局处理等维度,本质是建立开发契约——用前期设计成本换取后期维护便利。实践建议:抽离属性命名、封装通用逻辑、预判

2026-04-07 15:27:18 19

原创 推荐页核心 UI 实现逻辑说明

这篇代码分析展示了推荐页面的核心UI实现逻辑,主要包含三个关键部分: 分层架构设计: 容器层处理基础布局和状态管理 规则层动态控制网格项跨度 表现层专注于UI渲染 核心功能实现: 通过getxxxxxGridItemSpan函数智能分配网格空间,支持不同内容类型(歌曲、横幅等)的自适应布局 使用getItemPadding扩展函数实现类型感知的内边距控制 SimpleDataScreen组件封装了加载状态管理 技术特点: 采用Compose声明式UI 实现内容与布局的完全解耦 通过类型系统保证UI一致性 支

2026-04-07 15:21:35 153

原创 Kotlin 语法深度拆解:从 Java 匿名内部类到极简 Lambda 完整演进

摘要: 本文通过三个阶段展示了Kotlin从Java匿名内部类到极简Lambda的语法演进:1)传统匿名内部类写法;2)利用SAM转换和尾随Lambda优化代码结构;3)最终使用隐式参数it实现极简写法。核心概念包括Lambda表达式(支持单参数it简写)、SAM转换(适用于单方法接口)和尾随Lambda语法。关键结论指出:it代表回调参数而非函数入参,且多方法接口无法使用SAM转换和Lambda简写,必须采用完整匿名类实现。这种演进显著提升了代码简洁性和可读性。

2026-04-07 11:23:03 185

原创 架构设计深度解析:策略模式 + 抽象工厂在UI适配中的高级应用

摘要:本文解析了一种结合策略模式与抽象工厂的UI适配架构设计。通过BasePageConfig抽象基类定义布局规则,LandPageConfig和PortPageConfig具体实现类分别处理横竖屏布局参数,实现了业务逻辑与布局参数的彻底解耦。该设计具有三大优势:1) 将琐碎的布局数值抽离到配置类,保持业务代码整洁;2) 利用SpanSizeLookup实现灵活布局分配;3) 通过单例模式和抽象方法强制保证类型安全。这种配置化思想使UI调整变得简单高效,只需修改配置类即可实现全局布局变更。

2026-04-07 10:15:58 167

原创 Android Navigation 组件页面跳转方法说明

这段代码展示了Android Navigation组件实现页面跳转的典型方法。它通过NavController执行跳转,使用三个关键参数:1)目的地ID(R.id.action_to_history)指定目标页面;2)null表示不传递参数;3)navOption配置跳转动画和栈管理规则。该方法被设为private,说明仅供当前组件内部使用。整个过程类似于打车:指定目的地、不携带行李、选择特定路线和速度要求。

2026-04-07 09:54:22 215

原创 Kotlin 协程:withContext 与 async 核心区别与使用场景

Kotlin协程中withContext和async的核心区别在于定位:withContext用于获取结果,async用于并发。withContext在单任务场景下更优,写法直观(直接返回结果)、异常处理安全(立即抛出异常)、性能更轻量(不创建新协程)。而async则适用于需要并行执行多个任务的场景,如同时发起多个网络请求。单任务切换线程优先使用withContext,多任务并行必须使用async。

2026-04-07 09:41:27 173

原创 Jetpack Compose 对齐核心金律(彻底避坑)

Jetpack Compose中对齐的核心规则是:Modifier的.align()仅作用于组件自身在父容器中的位置,不影响子组件排列。要让Column内部子组件居中,必须在Column构造参数中设置horizontalAlignment = Alignment.CenterHorizontally,而非使用Modifier。.align()控制组件在父容器中的位置,horizontalAlignment才控制子组件排列。当Column撑满宽度时,Modifier中的水平对齐会失效,必须通过构造参数实现子组

2026-03-31 15:43:42 34

原创 Compose 布局进阶:height vs heightIn 深度解析

Android UI开发中,Modifier.height()和.heightIn()的选择直接影响布局质量:.height()强制固定高度,可能导致内容截断;.heightIn()设置最小高度,内容超限时自动扩展。固定导航栏推荐.height(),列表项和多语言场景应选.heightIn()。最佳实践包括为动态内容添加垂直padding,避免同时使用两种修饰符,并配合垂直对齐。核心原则:固定布局用height,弹性需求用heightIn。

2026-03-25 10:16:55 199

原创 Kotlin 进阶指南:中缀函数 (Infix Function)

摘要:Kotlin中缀函数(infix)是一种特殊的函数调用方式,通过省略点和括号使代码更接近自然语言。本文介绍了中缀函数的定义方法(需使用infix关键字、必须是成员/扩展函数、仅接收一个参数),并展示了实际应用场景,包括创建键值对、位运算和Compose配置等。文章还澄清了中缀函数的实现原理并非依赖空格,而是编译器检查机制,最后给出了使用建议:适合表达二元关系时使用,复杂逻辑仍需普通函数。

2026-03-25 10:02:02 200

原创 CompositionLocal provides 核心逻辑讲解

CompositionLocal通过键值对机制实现隐式数据传递,类似Map的put/get操作。LocalAppColors作为Key,provides建立与具体colors对象的绑定关系。相比Map的优势在于自动注入和动态响应——数据变化时相关组件自动更新。本质上,provides创建了一个ProvidedValue对象,在指定UI分支内为LocalAppColors提供具体值,无需显式传递参数。

2026-03-25 09:58:57 27

原创 颜色透明度转换技术文档(Android/Compose)

本文介绍了Android/Compose开发中颜色透明度转换的技术要点。核心原理是将透明度百分比转换为十六进制值(如40%→66),并提供了常见透明度速查表。重点分析了Android XML(#AARRGGBB格式)和Compose(0xAARRGGBB格式)的差异,特别强调Compose中错误的顺序会导致颜色异常。最佳实践推荐使用.copy()方法设置透明度,既避免计算错误又提升可读性。注意事项包括:不完整色值会导致全透明,以及Figma导出的RRGGBBAA格式需要调整顺序。开发者应特别注意不同平台的颜

2026-03-25 09:52:43 172

原创 排名组件 RankingBadge

摘要:本文介绍了一个通用排名组件RankingBadge的实现方案。该组件采用Kotlin编写,具有以下特点:1) 支持自定义背景色和排名数字;2) 遵循项目UI规范(appDimens & Tokens);3) 优化视觉效果(移除冗余阴影,采用微圆角);4) 适配列表布局(weight(1f)保证不挤压)。组件优势包括性能优化、结构清晰、自适应强和代码精简,并提供了3位数字排名的适配建议。该组件可直接放入项目UI组件库使用。

2026-03-25 09:28:51 33

原创 Jetpack Compose 抽象属性 @Composable 函数类型 完全解析

本文深入解析了Jetpack Compose中@Composable注解与函数类型结合的核心用法。通过定义抽象属性backgroundColor作为动态颜色生成函数,实现了在Compose组合环境中灵活获取颜色值的能力。文章详细拆解了抽象属性、@Composable注解和函数类型三部分的含义与协同机制,对比了固定值与动态函数的区别,并提供了完整代码示例。这种模式特别适用于主题切换、暗黑模式适配和动态换肤等场景,是构建灵活UI架构的核心技术。

2026-03-24 17:33:25 184

原创 compose remember 与 rememberSaveable 核心区别

remember与rememberSaveable核心区别在于状态保存方式:remember仅保留重组期间状态,在配置更改时重置;rememberSaveable通过Bundle保存状态,可在横竖屏切换等场景恢复数据。remember适用于临时UI状态,rememberSaveable适合保存用户输入等持久数据。自定义对象需实现Saver或添加@Parcelize注解才能使用rememberSaveable保存。

2026-03-24 13:42:56 179

原创 Compose 规范:Modifier 顺序对按压态与透明度的影响

摘要:Jetpack Compose中Modifier顺序影响UI表现,特别是.alpha()位置对按压效果至关重要。将.alpha()放在链式末尾(推荐做法)能确保整个组件统一应用透明度,避免禁用状态下按压遮罩异常显示。规范建议:基础属性→交互逻辑→交互装饰→全局状态表现(alpha/scale等)。关键检查点:禁用态下按压效果异常时,应检查.alpha()是否位于clickable或pressedOverlay之前。(149字)

2026-03-19 17:39:45 317

原创 MVI架构3--实战示例:我的收藏页面

本文展示了一个基于MVI架构的“我的收藏”页面实现。核心包含三个要素:1) UiState管理页面状态(加载状态、收藏项、收藏状态);2) Intent处理用户操作(获取数据、切换收藏);3) UiEffect处理一次性事件(如Toast提示)。ViewModel负责逻辑处理,根据Intent更新状态和发送Effect。Compose UI负责渲染状态和监听Effect,实现单向数据流。这种设计能有效保持状态一致性(如旋转屏幕后收藏状态保留),同时避免重复触发副作用,使代码结构清晰、职责分明。

2026-03-19 13:39:32 30

原创 mvi架构2-UiEffect作用

MVI架构中UiEffect的作用 在MVI架构中,UiEffect用于处理瞬时UI动作(如弹Toast、导航跳转),与UiState形成互补。UiState描述持久界面状态(如列表数据),而UiEffect代表一次性事件,避免因状态恢复导致重复触发。例如播放音乐时,UiState控制播放按钮状态,UiEffect触发播放动作,防止旋转屏幕时音乐重复播放。这种分离确保了逻辑清晰,避免内存泄漏和测试难题,符合单向数据流原则。

2026-03-19 13:18:23 234

原创 MVI架构1--理解mvi架构

MVI架构通过三个核心组件实现单向数据流:Intent(用户动作)、UiState(界面状态)和UiEffect(一次性效果)。Intent触发ViewModel处理逻辑,产生新的UiState(持久状态)和UiEffect(瞬时动作)。典型场景包括数据加载(Intent→UiState)、简单操作(Intent→UiEffect)和混合操作(Intent→UiState→UiEffect)。关键区分在于UiState存储持久界面状态,而跳转等瞬时动作必须使用UiEffect避免重复触发。这种架构通过明确职

2026-03-19 13:13:10 160

原创 Compose 调用层参数设计规范(基于默认值复用原则)

本文提出了Compose调用层参数设计规范,基于"默认值复用原则"的核心思想:调用层仅传递差异化数据,通用UI配置应在中间层通过默认参数定义。通过类比订购笔记本电脑的分层决策过程,形象说明各层级职责。文章对比了错误写法(重复传递通用配置)和正确写法(仅传差异化数据),并阐述了该规范的优势:提升代码可读性、降低改版成本。最终总结出调用层应遵循"最小传参原则",仅传递与默认配置不同的数据,而通用配置统一在中间层定义,从而优化代码结构并提高维护效率。

2026-03-17 10:59:56 54

原创 Compose 三层结构设计规范1(基于Slot API)

Jetpack Compose三层结构设计规范基于Slot API,将组件开发分为结构层、中间层和调用层。结构层专注布局骨架,不设业务默认值;中间层定义业务默认配置;调用层仅传递差异化数据。这种分层设计实现了单点维护、视觉统一和高效开发,使UI改版只需修改结构层,业务调整只需改动中间层默认值,调用层代码保持简洁。规范通过明确各层职责和参数处理规则,提升了组件复用性和维护性。

2026-03-17 10:57:23 414

原创 Jetpack Compose ChipItemWithTwoLinesCard 组件 API 规范实现

本文介绍了遵循Jetpack Compose官方API设计规范实现的双行文本Chip卡片组件。组件参数严格按必填参数→Modifier→可选参数→尾随Lambda的顺序排列,确保调用便捷性和一致性。实现上优化了颜色默认值处理,保证主题切换时颜色实时刷新,并支持动态调整文本间距,副标题为空时自动隐藏。该设计使组件使用更直观,与系统组件保持一致,降低了学习和使用成本。

2026-03-12 09:49:45 157

原创 颜色中的Alpha小结

本文介绍了颜色表示中的Alpha通道及其转换方法。Alpha表示不透明度,范围0-1(0完全透明,1完全不透明)。以rgba(166,131,106,0.16)为例,16%不透明度可通过公式计算:255×0.16≈41(十进制),转换为十六进制29。文章提供了两种代码实现方式,并给出常用透明度对照表(如16%对应29)。同时解释了计算机图形学中0-1到00-FF的映射原理,方便开发者在Figma等工具中快速查询透明度值。

2026-03-10 15:37:32 245

原创 Jetpack Compose 中的 CompositionLocalProvider 指南

摘要: Jetpack Compose中的CompositionLocalProvider用于隐式传递全局数据(如主题),避免显式参数传递的繁琐。实现分为三步:1) 定义CompositionLocal键;2) 使用CompositionLocalProvider注入数据;3) 通过.current在子组件中消费数据。与显式传递相比,它更优雅且精准,仅需组件按需获取。建议封装为对象(如AppTheme)提升可读性,并遵循就近原则和默认值保护,避免滥用非全局数据。适用于主题、国际化等横切关注点场景。

2026-03-06 15:25:01 142

原创 compose中什么是中缀函数

摘要: 中缀函数的核心在于"infix"关键字,而非空格格式。"缀"指连接/附着,"中缀"即函数名位于两个参数中间。中缀函数本质是语法糖,将a.f(b)简化为a f b,提升可读性(如Compose的provides绑定)。使用时需满足:1)必须是成员/扩展函数;2)仅一个参数。空格仅是中缀调用的书写形式,真正定义来自infix关键字。这种设计借鉴数学运算符(如+),使代码更直观。

2026-03-06 14:22:35 271

原创 基于协议的依赖注入主题引擎:从“硬编码”到“一键换肤”

本文提出了一种基于协议的依赖注入主题引擎,将主题管理流程分解为生产、运输、广播、消费四个环节。通过定义接口协议(IAppTheme)、实现具体主题(如CommonAppTheme)、使用CompositionLocal广播机制,以及提供便捷消费方式(appShapes扩展属性),实现了主题一键切换功能。该系统解决了传统硬编码带来的修改成本高、难以复用等问题,支持多品牌换肤、设计规范落地和跨端适配,显著提升了大型应用的视觉风格管理效率。

2026-03-06 13:39:05 367

原创 基于 IAppTheme 的响应式主题引擎架构

本文档介绍了一种基于 IAppTheme 接口的响应式主题引擎架构,采用抽象工厂与依赖注入模式,实现 UI 样式与业务逻辑的解耦。架构分为三层:定义层(接口协议)、实现层(具体数值)和注入层(环境绑定)。通过 CompositionLocal 将主题数据注入全局环境,组件只需从环境中获取资源,无需硬编码。该架构支持多品牌/车型适配,修改主题只需替换实现类,具有高内聚低耦合、零重构压力等优势,使样式修改更安全高效,同时提供清晰的依赖关系。

2026-03-06 13:27:00 318

原创 Compose 中的 Indication

摘要:Compose中的Indication机制专门处理点击反馈视觉效果(如水波纹扩散),通过InteractionSource收集交互信号,Indication呈现视觉响应。开发者可使用默认Ripple效果或自定义颜色/边界,也可完全禁用反馈。关键点包括:1) 默认.clickable自带波纹;2) 用rememberRipple定制效果;3) 设置indication=null可移除反馈。注意执行顺序(clip需在clickable前)和必须传递interactionSource。该机制通过视觉反馈增强

2026-03-06 10:46:29 247

原创 Android View 与 Compose 布局裁剪差异(clipChildren 机制)

本文对比了Android传统View系统与Jetpack Compose在布局裁剪行为上的差异。View系统默认开启clipChildren=true自动裁剪超出边界的子控件,而Compose容器默认不裁剪子项,允许自由溢出显示。要实现XML中的裁剪效果,Compose需显式使用clipToBounds()或形状裁剪Modifier。这种设计差异源于性能优化(避免不必要的Canvas操作)、动画友好性(支持元素临时溢出)以及Offset机制纯粹性(仅影响绘制层)。开发者应根据场景选择是否裁剪:装饰性元素建议

2026-03-03 17:29:39 276

原创 compose 实现自定义按压背景色

本文介绍了一种实现按压背景色反馈的方案,通过监听点击事件在内容上方绘制半透明遮罩层。核心原理是利用InteractionSource获取交互状态,配合collectIsPressedAsState()转换为可感知状态,并使用drawWithContent进行高效绘制。代码实现包含一个pressedOverlay修饰符函数,支持自定义遮罩颜色和形状。使用时需注意clickable和pressedOverlay必须共享同一个interactionSource实例,并建议禁用默认的Ripple波纹效果。该方案避免

2026-03-03 16:57:22 72

原创 Figma 查看间距方法

摘要:Figma查看间距的快捷方法是按住Alt/Option键并悬停元素,会显示间距数值和参考线。进阶技巧包括用Ctrl/Cmd选中嵌套元素,以及开发模式自动显示间距。还可使用Spacing Measure等插件一键生成标注。这些方法帮助设计师快速测量UI元素间的精确距离。

2026-03-02 15:21:19 416

原创 Compose 中 Box 布局核心概念:ContentAlignment vs Modifier.align

Jetpack Compose中Box布局的对齐机制分为容器级(contentAlignment)和元素级(Modifier.align)两种方式。contentAlignment作为Box构造参数影响所有子组件,而Modifier.align则允许单个子组件覆盖全局设置。Box支持二维对齐(9种方位),不同于Row/Column的单维度对齐。Modifier.align优先级更高,适用于需要特殊定位的场景,而contentAlignment适合统一对齐的情况。注意不同布局的作用域限定:Box支持二维对齐,

2026-02-27 16:48:50 527

原创 adb查看android设备像素和密度

摘要:使用adb命令可以查看Android设备的显示参数。adb shell wm size可获取设备像素分辨率,显示物理硬件分辨率或手动修改后的覆盖分辨率;adb shell wm density则用于查询设备显示密度。这两个命令有助于开发者了解设备显示特性并进行适配调试。(99字)

2026-02-27 11:06:56 38

原创 深入掌握 Jetpack Compose Image 的 contentScale:图片缩放完全指南

Jetpack Compose的contentScale参数提供了7种图片缩放策略,可精确控制图片在容器中的显示方式。主要分为三类:基础填充型(FillBounds/FillWidth/FillHeight)会改变原始比例;适应裁剪型(Fit/Crop)保持比例但可能留白或裁剪;特殊型(Inside/None)控制缩放边界。选择时需考虑是否允许裁剪、是否要填满容器以及是否保持比例,结合alignment参数可进一步优化显示效果。常用场景推荐:完整显示用Fit,无空白用Crop,精确控制用None。掌握这些策

2026-02-27 09:52:44 732

原创 Compose编程思想-compose中的 UI 本质上是“没有大脑”的

Compose UI 采用"无大脑"设计,完全由状态驱动。UI组件仅被动渲染接收到的状态,不处理任何业务逻辑,所有状态判断和管理都由上层逻辑完成。这种设计将UI作为纯粹的执行者,与状态管理逻辑解耦,体现了Compose状态驱动的核心思想。

2026-02-26 14:44:08 270

原创 compose 编程思想-UI 完全由状态驱动

Compose采用声明式UI框架,核心思想是UI完全由状态驱动。与传统命令式UI不同,开发者只需定义状态与UI的对应关系,Compose自动监听状态变化并更新UI,无需手动操作控件。状态是UI唯一数据源,与业务逻辑解耦,提升了组件复用性。优势包括简化代码、易于维护和提升复用性,只需调整状态传入即可适应新业务场景,无需修改UI组件本身。

2026-02-26 14:38:51 65

原创 compose 编程思想-组件只关心UI展示

本文阐述了Compose声明式UI的核心设计原则:UI应是状态的纯粹映射而非类型判断。文章对比了命令式与声明式编程的区别,指出类型判断会破坏组件纯粹性、增加耦合度。正确的做法是将业务逻辑转化为UI状态后传入组件,使组件仅关注展示能力而非业务含义。通过案例解析,展示了如何将状态推导移至上层,保持组件的"纯函数"特性。最终目标是让UI代码直接描述界面展示,而非隐含业务逻辑,实现可预测的组件行为。

2026-02-26 14:33:13 321

原创 compose中 align使用小结1-Modifier中的align

本文介绍了Compose布局中的Modifier.align()修饰器在不同容器中的作用。在Box中可实现二维平面上的九种对齐方式;在Column中仅控制水平方向对齐(左/中/右);在Row中仅控制垂直方向对齐(顶/中/底)。文章对比了三种容器的对齐特性,并给出最佳实践建议:注意作用域区分、与weight()配合使用,以及了解对齐优先级规则。该修饰器是精准控制子控件位置的重要工具。

2026-02-26 10:46:38 368

原创 Compose 中 Text 控件对齐方式深度总结

本文总结了Compose中Text控件的对齐方式:1)内部对齐通过textAlign、lineHeight和wrapContentHeight控制文字在文本框内的位置;2)外部对齐由父容器(Box/Column/Row)的特性决定。核心区别在于点击热区和基线对齐的差异,Box(contentAlignment=Alignment.Center)是最推荐方案,提供最大点击面积且代码清晰。文章还对比了不同场景下的推荐写法和视觉效果,并附有代码示例说明。

2026-02-18 17:42:36 337

原创 ConstraintLayout写法和Box写法比较

本文介绍了两种在Jetpack Compose中实现复杂布局的方案:方案一使用ConstraintLayout实现链式布局,通过约束条件精确控制元素位置;方案二采用原生Box布局,通过align修饰符实现元素居中/置底。分析指出方案二更优,因其具有更小的渲染开销、更简洁的代码结构,且能达到相同的布局效果。特别强调了在Compose中应避免使用Spacer占位,推荐采用更高效的布局方式来实现扁平化布局层级。

2026-02-15 17:53:09 71

Android app缓存清理实现

Android app缓存清理,封装了一个获取和清理缓存的工具类,可以直接使用,简化了开发的麻烦。

2018-02-08

Office2010安装需要的MSXML文件

Office2010安装需要MSXML版本6.10.1129.0,这个错误是缺少msxml文件,上面是下载连接。安装教程 https://jingyan.baidu.com/article/a948d6517babeb0a2ccd2e71.html

2018-02-10

手机图像转pdf文件

利用iText第三方开源库,实现Android手机 拍照以及从相册选取把图像转化为pdf文件

2018-03-01

android 自定义view比较综合的例子

android 自定义view比较综合的例子,涉及到一些复杂的实现效果,有一些基础的人可以参考下。

2018-04-01

反编译工具apktool dex2jar jd-gui

反编译工具apktool dex2jar jd-gui,这个是我经过测试有效而放上来的。

2018-04-19

imageToPdf

通过itext框架把图片转化为pdf格式,即jpg或者png格式转化为pdf格式的文件

2018-02-22

Android大屏幕适配demo

Android大屏幕适配demo,这个是仿照郭林文章中的例子,他的例子是用eclipse写的,直接运行会不兼容最新的sdk,我改成了AndroidStudio可以直接运行的demo.郭林此代码文章的连接 http://blog.csdn.net/guolin_blog/article/details/8744943

2018-02-02

retrofit2与rxjava结合的demo

文章地址 http://blog.csdn.net/qq_26296197/article/details/79372460。

2018-03-01

VolleyDemo

这个是参考网上的资料,结合google官方的文档写的一个volley的简单demo,并做了简单的封装,想更加系统的学习volley可以参考google官方文档以及郭林的博客

2018-01-19

自定义view学习一

这个代码是自定义view练习demo,对应的文章地址是https://blog.csdn.net/qq_26296197/article/details/79729892。

2018-03-31

自定义view-google文档代码整理

代码是google官方文档的代码,把代码放入到项目中,加入了一些注释。文章链接 https://blog.csdn.net/qq_26296197/article/details/79775388

2018-04-01

python基础教程第二版

python基础教程第二版,高清pdf书籍(180M)和随书源代码

2018-01-26

Android MVPDemo

这个demo是学习Android mvp和retrofit的,retrofit文章链接地址 http://blog.csdn.net/qq_26296197/article/details/78011188

2018-02-27

rxjava学习代码

学习 《这可能是最好的RxJava 2.x 入门教程》而写的代码,代码有非常详细的注释,和我的个人笔记,非常适合学习java2.x的新手,就算是原作者,注释也没有这样详细

2018-02-13

Android 屏幕适配总结

Android 屏幕适配思维导图,花了两天的时间总结出来的,看思维导图会以一个整体的印象,有利于快速理解Android 屏幕适配的问题。

2018-02-12

android 屏幕适配思维导图

汇总Android 屏幕适配比较优秀的文章加上本人的理解,制作出一张思维导图,方便大家学习和理解

2018-02-01

Android drawerLayout

android 抽屉布局,使用了drawLayout布局,并配合toolbar一起展现。例子中还有两个google官方的例子,我做了少许的修改。

2018-01-19

volley.jar文件

使用说明 Android Volley Jar,Android Volley框架是Android开发中不可或缺的一个重要框架,想使用Android开发更加便捷的途径就是使用Volley框架了。

2018-01-11

android fragment生命周期测试

测试了下fragment生命周期,之前一直看别人的文章知道生命周期,但是过后就忘了,现在实际操作了一遍fragment生命周期还是很有意义的,加深了印象解决了自己概念模糊不清的地方。

2018-04-24

Android photoWallDemo

仿照郭林博客http://blog.csdn.net/guolin_blog/article/details/34093441写的demo,androidStudio版本,他下载的链接是eclipse的代码,在高版本的AndroidStudio运行会不方便

2018-02-05

手指触摸红点,让其消失

代码: android 功能: 手指触摸红点,让其消失。2支持四个边和对角线显示红点。

2024-08-17

Recyclerview单选和多选实现

Recyclerview单选和多选实现,通过简单的demo来展示单选和多选状态,最后写了一个综合的实用demo.

2018-12-10

RNRedux.zip

RNRedux学习实用demo,redux可以实现数据共享,处理数据。 1 redux包含 store 保存数据,传入action给reducer action 触发动作 reducer 改变数据的值 provider 把数据传给子组件

2020-07-23

android 快速点击demo

android 快速点击demo,分析快速点击原因,次数,时间间隔,对快速点击做了两种方法的封装

2018-12-09

跑马灯效果

真正的跑马灯效果,实现原理就是设置textView为singleLine,android :ellipsize =marquee,同时新建一个自定义TextVIew让textView获得焦点

2018-04-24

ContactBackupStudy.zip

android 通讯录备份和还原,经过测试调试可行,500多条数据备份只要2秒钟,网上的代码大多要15秒到24秒.通讯录还原在10s内

2019-11-13

gradle-3.4-all和gradle3.5-all

androidStudio下载会很慢,这是下载好的gradle包,放在C:\Users\Administrator\.gradle\wrapper\dists路径下解压后可以直接用,不需要下载。

2018-05-09

ExpandableListView.zip

expandableListView demo

2021-10-26

app-debug.apk

实现js 调用安卓原生方法.具体例子为调用百度网址,获取百度标题显示在界面上....经过验证有效,项目中可以直接拿来用.如果需要清理缓存可以使用 webview.clearCache(true);就可清除webview缓存

2020-01-15

TablayoutStudy.zip

tablayout+viewpager丰富的例子,适合快速上手用与项目中。

2021-08-09

MarkdownPad2.5安装文件和注册码

MarkdownPad2.5文件和 注册码 Soar360@live.com ;GBPduHjWfJU1mZqcPM3BikjYKF6xKhlKIys3i1MU2eJHqWGImDHzWdD6xhMNLGVpbP2M5SN6bnxn2kSE8qHqNY5QaaRxmO3YSMHxlv2EYpjdwLcPwfeTG7kUdnhKE0vVy4RidP6Y2wZ0q74f47fzsZo45JE2hfQBFi2O9Jldjp1mW8HUpTtLA2a5/sQytXJUQl/QKO0jUQY4pa5CCx20sV1ClOTZtAGngSOJtIOFXK599sBr5aIEFyH0K7H4BoNMiiDMnxt1rD8Vb/ikJdhGMMQr0R4B+L3nWU97eaVPTRKfWGDE8/eAgKzpGwrQQoDh+nzX1xoVQ8NAuH+s4UcSeQ==

2018-06-04

android-sdk_r24.4.1-windows

资源名称:android-sdk_r24.4.1-windows,Android下载sdk的时候打开SDK Managerhi闪退,把这个解压缩之后覆盖sdk根目录的文件,就可以解决

2018-11-06

loading.png

Android 自定义图片旋转资源,博客文章对应的图片资源.不能省略掉.不能省略掉.不能省略掉.不能省略掉

2019-11-22

AwesomeProject.zip

react-native 安卓初始化项目,以及安卓原生与react-native交互,含有三种常见的交互方式,丰富的代码示例.极大的方便新手入门学习.

2020-02-15

source_insight4.0破解版

1.首先安装sourceinsight4087-setup.exe 2.使用下载好的sourceinsight4.exe替换已安装好的sourceinsight4.exe (我自己使用的时候,第二步就显示了激活) 3.启动sourceinsight,导入下载好的si4.pediy.lic

2018-07-09

android 传值

android intent(传递对象) 广播 eventbus传值,另外还有文件存储实现。

2018-12-31

gradle-4.7-all和gradle-4.7-bin

androidStudio下载会很慢,这是下载好的gradle包,放在C:\Users\Administrator\.gradle\wrapper\dists路径下解压后可以直接用,不需要下载。

2018-05-09

sourceInsight4

压缩包里面有两个sourceInsight 4.0版本,都是可以直接激活使用,而且还有我使用习惯的配置文件,适合新手、懒人。也可以直接下载官方最新版本,查看里面的文档激活。

2018-10-16

google浏览器字节码转换扩展程序

google浏览器字节码转换扩展程序,从google官网上下载的,现在发出来给不需要就可以得到,使用方式:在扩展程序中选择本地扩展程序就可以安装成功。

2018-05-26

gradle.rar

gradle-4.10.1-all,gradle-4.10.3-all,gradle-5.1.1-all实现

2019-06-04

空空如也

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

TA关注的人

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