- 博客(52)
- 收藏
- 关注
原创 aaaaaaa
am broadcast -a com.hbt.mock.COMMAND -n com.ford.sync.voicerecognition/com.hbt.mock.MockCommandReceiver --es commandId “e9057f2f-5f7d-4eac-9d0b-d974c5e5e39e” --es zone “driver” --es command “mock_wakeup”
2025-12-19 09:49:14
87
原创 Android Maven私服搭建(Windows)
(2) net start SonatypeNexusRepository,启动服务。(1) install-nexus-service.bat,安装服务。2.压缩包解压后,进入bin目录。
2025-10-11 23:18:51
205
原创 仓库SSH配置
git config --global user.name “你的用户名”git config --global user.email “你的邮箱@example.com”
2025-07-28 13:40:59
327
原创 协程的基本使用
kotlin 协程一个系列前提:熟悉kotlin语言对多线程,rxjava 并发编程 有一定的基础什么是协程?kotlin 1.3开始引入的协程的概念:1958 javascrip c# python ruby go lua 基于来自其他语言的既定概念Android平台上一. 协程的基本使用小结: 启动一个新的协程并阻塞调用它的线程,直到里面的代码执行完毕,返回值是泛型T): JobCoroutineStart:启动模式返回参数: Job。
2025-07-13 21:33:22
876
原创 关于Kotlin与Java的思考
问:我得一个感受 就是基于 代码简洁之道里的 代码要小而美的思想 将Java的里方法转化一个一个小的方法 结果出现了大量方法 调用的时候很难聚合 能衍生了大量的类 类的组合又涉及到了各种的设计模式 调用一个方法各种跳转 而Kotlin就比较简单 使用when 模型匹配方法 代码简洁清晰。问:相比于Kotlin 我觉得Java的面相对象思想 严重限制了代码的 让变的代码冗长。Kotlin的Flow和协程对事件流和状态流的提供了原生支持,转化成代码业务特性:事件流和状态流。
2025-06-27 11:44:49
224
原创 行为型-模板模式
我发现Android开发中,也很多人喜欢这么写,比如:在BaseAvtivity 写一堆init loadview。这种写法一点不清晰,只是代码上方便,耦合度高,属于模板模式的滥用。比如UI的绘制,每个View都需要画顶部,画主体,画底部。模板模式就是执行固定的行为。
2025-06-04 17:46:34
323
原创 创建型-享元模式
所谓“享元”,顾名思义就是被共享的单元。享元模式的意图是复用对象,节省内存,前提是享元对象是不可变对象。现在的硬件设备性能强大,资源远没有那么紧张,所以这种享元模式,在实际的开发中,见到的不多。而且目前开发也是推荐使用Hilt,所以我感觉目前这种模式似乎是一种伪模式。二来享元的安全型存在问题,有可能造成数据错误和回收问题。
2025-06-04 16:34:47
105
原创 结构型-组合模式
组合模式(Composite Pattern)是一种结构型设计模式,用于将对象组织成树形结构以表示“部分-整体”的层次关系,使客户端能够统一处理单个对象和组合对象35。其核心思想是通过抽象组件接口,模糊叶子节点(单个对象)和容器节点(组合对象)的差异,实现递归结构的透明化操作。这个段解释来自Ai,不过我在实际开发中还没有用到过,先Mark一下。
2025-06-04 16:21:56
102
原创 创建型-门面模式
门面模式的核心是提供一个统一的高层接口,封装子系统的复杂性,让客户端只需要与这个高层接口交互,而不需要了解子系统内部的复杂实现细节。
2025-06-04 16:07:30
228
原创 创建型-适配器模式
适配器模式的英文翻译是 Adapter Design Pattern。顾名思义,这个模式就是用来做适配的,它将不兼容的接口转换为可兼容的接口,让原本由于接口不兼容而不能一起工作的类可以一起工作。
2025-06-04 14:54:08
91
原创 结构型-桥接模式
桥接模式通过"组合优于继承"的原则,解决了多层继承带来的类爆炸问题。它将一个对象的抽象和实现解耦,使得两者可以独立变化。// 实现者接口// 具体实现者// 抽象// 修正抽象// 使用。
2025-06-04 14:18:20
214
原创 结构性-代理模式
指定代理类需要实现的接口数组(如new Class[]{A.class, B.class}),代理对象将具备这些接口定义的方法能力35。注意该参数仅定义接口而非具体被代理对象1。负责加载动态生成的代理类字节码,通常使用目标接口的类加载器(如UserService.class.getClassLoader())23。该参数决定代理类的JVM加载方式1。通过实现invoke方法定义代理逻辑,当调用代理对象方法时会触发此处理器,参数包含代理实例、方法对象及方法参数45。开发者在此实现横切逻辑(如日志、事务)
2025-06-03 18:10:51
336
原创 创建型-设计模式
通过复制现有对象来创建新的对象,而无需显式地调用构造函数。这种方式既可以提高对象的创建效率,又可以避免因为频繁创建对象而导致内存占用过高的问题。3.单例使用注意事项:由于单例是静态修饰的,所以他无法回收。1.单例的使用:我一般就是用饿汉式,因为App开发的开发一般数据处理并不复杂,所以直接使用饿汉式即可。2.单例的特殊使用场景,线程单例。实际开发中很少见到,一般的Android应用开发,对内存的要求还没有这么严格。这个我觉得无需多言,每个学过Java的都知道。这个也没啥好说的,就是根据条件生成不同的对象。
2025-06-03 17:04:22
319
原创 数据结构-栈
栈又名后进先出表,它是一种运算受限的线性表。其限制是仅运行在表的一端进行插入和删除运算。这一端被称为栈顶,相对的,把另一端称为栈底。
2025-06-02 21:10:36
341
原创 LeakCanary源码分析
通过new出来的对象具备强引用,只要强引用存在,垃圾回收器(GC)绝不会回收对象,即使内存不足时JVM会抛出OutOfMemoryError而非回收强引用对象。对象仅被虚引用关联(无强/软/弱引用)时,GC会将其标记为可回收状态。内存充足时保留对象,内存不足时被GC回收。无论内存是否充足,GC运行时立即回收对象。
2025-05-29 13:39:45
148
原创 OkHttp源码分析
由Square公司贡献的一个处理网络请求的开源项目,是安卓目前使用最广泛的网络框架。从Android4.4开始HttpURLConnection的底层实现使用的是okhttp。
2025-05-29 10:33:34
352
原创 计算机网络体系结构
利用通信线路将地理上分散的,具备独立功能的计算机系统和通信设备按不同的形式连接起来,以功能完善的网络软件以及协议实现资源共享和信息传递。
2025-05-29 08:42:40
232
原创 Android的一些坑
2.DataBinding将layout放到module中,由于app和module有同命名layout,DataBinding编译异常,且没有异常日志打印,问题难以定位。1.组价化的时候单独提取module,module里面发生crash会被捕获,且没有日志。3.应用重命名,使用refactor->rename,只能完成部分重命名。
2025-05-14 09:09:33
134
原创 JetPack-LifeCycle
3.标准化生命周期定义:五大状态(INITIALIZED/DESTROYED等)和七大事件的枚举化设计,解决了传统生命周期回调的碎片化问题,便于跨组件复用。1.处理异步生命周期冲突:状态机可通过缓存事件和状态校验保证最终生命周期一致性。2.性能提升:状态缓存。
2025-04-14 13:24:10
305
空空如也
求一份能运行的Retrofit2.8.0代码
2025-01-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅