- 博客(105)
- 资源 (27)
- 问答 (3)
- 收藏
- 关注
原创 我开源了一个 ADB 桌面 GUI 工具:AdbLite,Android 调试终于不用反复敲命令了
文章摘要: AdbLite 是一款开源的 ADB 桌面 GUI 工具,旨在简化 Android 开发调试中频繁输入命令的繁琐操作。它整合了设备管理、文件浏览、App安装/卸载、投屏录屏、网络代理、日志抓取等常用功能,通过可视化界面提升效率,尤其适合非开发人员(如测试、产品)使用。项目基于 Electron + Vue 技术栈,支持跨平台(Mac/Windows),Pro功能已完全免费开放。开发者可通过源码学习 ADB 命令封装与桌面端开发实践,普通用户可直接下载使用,无需配置环境。 核心点: 解决高频 AD
2026-07-16 21:39:58
216
原创 Android Kotlin 开发--偶遇Rxjava、Retrofit进行网络请求
概述上篇写了Kotlin在Android中的使用初体验小Demo,对Kotlin还不知道如何下手的小伙伴可以去看看,请收下我的膝盖(抱拳)Android Kotlin 开发–初体验Demo,大神请绕道……本篇能学到什么Kotlin配合Rxjava+Retrofit+缓存策略进行网络请求Kotlin Retrofit简单封装Kotlin使用单例模式开始Kotlin配合Rxjava+Retrof
2017-05-30 18:01:03
11607
2
原创 Android Kotlin 开发--初体验Demo
使用Kotlin开发Android的小Demo,一个RecyclerView的显示实现效果很简单,代码相信大家都能看懂,主要就是Kotlin的Adapter、ViewHolder的写法,跟原生Android写法的确简洁不少……
2017-05-22 16:39:29
5610
原创 Android Kotlin初体验
概述最近已被Kotlin刷屏,那么kotlin到底是什么呢?Kotlin是一个基于JVM静态类型编程语言。它的主要优点目前我觉得有三点:简洁、简洁、简洁!让你用更少的代码获得更多的功能。Kotlin支持类型推断用var表示变量,val表示常量方法直接就fun类的继承和实现更加简单化,使用:就哦了Kotlin不再让你再去写无聊的分号了etc ……使用Android studio中的使用方
2017-05-22 09:48:11
1687
1
原创 微信验证服务器地址有效性
微信验证服务器地址有效性概述:我们知道申请公众号测试账号后首先会进行“微信验证服务器地址有效性”的操作,否则会无法正常使用的,那么该如何处理呢,这里就简单把代码贴出来,供大家参考指正,同时我也写了关于微信支付的相关博客,大家也可以参考参考,微信支付-签名篇。微信开发者文档中心-验证服务器说明 (注:图片来源于微信公众号开放平台)代码部分签名工具类public class SignUtil {
2017-04-14 17:16:57
2033
原创 RecyclerView 展示同日期下的数据信息
RecyclerView 展示同日期下的数据信息概述:最近有一个业务需求,ListView根据日期进行展示,但是ListView还是没有RecyclerView好用,好处我就不再详述了,没用过的可以百度一下,很简单,很方便!效果:主要代码:GroupItemHolder.javapublic class GroupItemHolder extends NormalItemHolder { pu
2016-09-30 16:59:31
5774
1
原创 微信支付--签名篇
微信支付, 是基于微信客户端提供的支付服务功能。 同时向商户提供销售经营分析、 账户和资金管理的功能支持。 用户通过扫描二维码、 反扫二维码等多种方式调起微信支付模块完成支付。原始签名字符串无论是请求还是应答, 签名原始串按以下方式组装成字符串: 1、 除 sign 字段外, 所有参数按照字段名的 ascii 码从小到大排序后使用 QueryString 的格式(
2016-07-12 09:41:45
8104
原创 Android 老兵转 AI:端侧 AI 的机会,不在普通 App 里硬塞模型
摘要: 端侧AI在普通Android应用中落地面临设备兼容性、存储占用等现实挑战,更适合在行业终端(如教育平板、车机、医疗设备)中发展。Android开发者转型端侧AI应聚焦设备稳定性优化(内存、功耗、性能等),而非单纯调用模型。学习路线建议从Llama.cpp、GGUF等工具入手,结合Android底层能力(NDK、性能调优),重点关注量化、延迟等实际指标。行业终端的确定性场景(硬件可控、数据敏感)才是端侧AI的主战场,开发者需优先思考本地部署的必要性、设备承载力和失败兜底方案。
2026-07-27 08:45:00
184
原创 别再说自己是全栈了:AI 时代的全栈,标准已经变了
摘要 在AI编程工具普及的背景下,全栈开发者的能力标准正在重构。传统全栈的价值在于跨前端、后端、数据库的编码能力,而AI时代的新标准更强调: 需求拆解能力:将模糊需求转化为可执行任务,明确系统边界和风险点; 工程判断力:识别AI生成代码中的关键缺陷(如鉴权、数据迁移等); 端到端交付能力:从需求分析到部署运维的完整闭环,而非单纯编码; AI协作模式:用AI加速开发,但保持对代码质量、系统稳定性的把控。 建议通过小型完整项目实践(如个人工具开发),结合AI辅助与深度验证来培养这种能力。未来全栈的核心竞争力在于
2026-07-24 08:00:00
214
原创 重磅!2026年7月国外 AI 编程工具推荐:Claude、Codex、Cursor、Grok、Copilot 到底怎么选?
摘要:2026年国外AI编程工具选购指南(150字) 本文对比了2026年主流国外AI编程工具的适用场景与使用门槛。Claude Code擅长复杂工程重构但账号风险高;Codex提供完整的编程Agent生态,适合本地+云端开发;Cursor以AI原生编辑器体验见长,集成多款顶尖模型;Grok 4.5新聚焦编码与Agent任务,API性价比突出;OpenCode Go支持低成本试用多款开源模型;GitHub Copilot仍是轻量补全的保底选择。作者强调需优先解决账号、网络、支付、数据安全四大现实问题,建议根
2026-07-23 11:47:26
997
原创 2026年7月国产 AI 编程模型推荐:别再只问谁最强,先选适合你项目的
本文针对2026年7月主流国产AI编程工具提出选择建议,强调应根据具体项目需求而非单纯性能指标选择工具。文章对比了GLM Coding Plan(复杂工程)、MiniMax M3(前端多模态)、Kimi/MiMo/Qwen(终端任务)等工具的核心优势,并推荐DeepSeek和豆包作为预算敏感的补充方案。作者建议通过低成本验证(如OpenCode Go试用)实际测试工具与项目的适配度,重点关注代码修改质量、测试通过率和审阅效率。文末预告将对比国外编程工具的实际使用门槛,帮助开发者构建完整的工具选型框架。(14
2026-07-16 12:28:08
696
原创 全链路Agent智能体开发:核心技术、实战指南与避坑要点
本课程提供AI Agent全栈开发实战教程,共41节,覆盖从基础到商用的全链路开发。内容包含:Python与Transformer基础、大模型部署与微调、RAG检索增强系统、主流Agent框架开发(AutoGen/OpenAI/Google等)、4个实战项目(客服/编程/自主智能体/知识库),以及求职辅导和前沿技术加餐(LangChain/Dify/强化学习等)。建议学习路径:基础→模型→RAG→框架→项目→拓展→求职。课程结合理论与实战,适合开发者系统学习AI Agent开发技术。
2026-07-13 10:07:01
397
原创 免费使用GLM5.1?华为Deveco-Code-CLI
DevEco Code 是一款面向开发场景的 AI Agent 工具,支持代码编写、编译构建、设备运行、文档查阅、运行时调试及 ArkTS 问题修复等能力。免费使用 GLM5.1DevEco Code 基于开源项目 OpenCode 扩展开发,保留了 OpenCode 的终端交互、配置体系、 Provider / MCP / Skill / Plugin 等能力,并针对 HarmonyOS 工程增加了 DevEco Studio、Hvigor、HDC、Skill、HarmonyOS 知识库、ArkTS
2026-07-03 13:44:46
751
原创 Obsidian 插件推荐
ToolkitPlugin 是一款为 Obsidian 打造的综合功能增强插件,旨在通过一系列实用的微调和自动化功能来提升您的笔记工作流。
2026-03-26 14:06:33
639
原创 Linux 常用命令1
-l 表示列出很多文件信息(长)-h 表示文件大小带上单位。:表示修改这个文件的权限添加一个可执行, change mode。du 查看文件大小/查看目录层级 disk usage。mkdir创建目录 make director。如果文件不存在创建否则修改文件的修改时间。中,如果文件已存在并且存在内容会覆盖。移动(重命名)文件/目录 move。rm 删除文件/目录 remove。创建文件(更新文件修改时间)复制文件/目录 copy。tree 树形查看目录层级。:输出上一次所在目录。
2025-10-15 12:03:27
260
原创 Flutter-状态管理-provider-ChangeNotifierProvider的用法
Flutter provider状态管理-ChangeNotifierProcider的用法
2022-04-05 10:00:00
2603
原创 Hilt的使用
添加依赖配置首先,将 hilt-android-gradle-plugin 插件添加到项目的根级 build.gradle文件中:buildscript { ... dependencies { ... classpath 'com.google.dagger:hilt-android-gradle-plugin:2.28-alpha' }}然后,应用 Gradle 插件并在 app/build.gradle 文件中添加以下依赖项:...
2021-07-11 00:40:41
1477
1
原创 Dagger2入门到放弃
如果有可能,请通过 @Inject 进行构造函数注入,以向 Dagger 图中添加类型。如果没有可能,请执行以下操作:使用 @Binds 告知 Dagger 接口应采用哪种实现。使用 @Provides 告知 Dagger 如何提供您的项目所不具备的类。您只能在组件中声明一次模块。根据注释的使用生命周期,为作用域注释命名。示例包括 @ApplicationScope、@LoggedUserScope 和 @ActivityScope。
2021-07-10 12:52:01
324
原创 App Bundle构建可动态化下载模块的App
Android App Bundle 是一种发布格式,其中包含您应用的所有经过编译的代码和资源,它会将 APK 生成及签名交由 Google Play 来完成。Google Play 会使用您的 App Bundle 针对每种设备配置生成并提供经过优化的 APK,因此只会下载特定设备所需的代码和资源来运行您的应用。您不必再构建、签署和管理多个 APK 来优化对不同设备的支持,而用户也可以获得更小且更优化的下载文件包。对于大多数应用项目而言,构建 App Bundle 以支持提供经过优化的 APK 并
2021-07-07 10:25:46
1956
原创 Android-aab格式 App Bundle初体验
android包在googlePlay 一种新的上传分发格式,以前是apk,现在可以传.aab通过使用App Bundle可以有效的减少应用包的大小,提升安装成功率并减少卸载量。它是不能直接安装的,我们可以借助googlePlay完成下载安装,也可以使用BundleTool工具生成符合用户设备的apk并且部署到设备上。
2021-07-06 20:56:09
2700
1
原创 Android-如何避免以及定位内存泄漏?
目录非静态内部类的静态实例Handler使用不当导致内存泄露Context使用不当导致内存泄露资源对象未关闭(输入输出流、Cursor等)静态View导致泄露WebViewBitmap监听器未关闭非静态内部类的静态实例非静态内部类会持有外部类的引用,如果非静态内部类的实例也是静态的,就会长期持有外部类的引用,无法被系统回收,解决办法:使用静态内部类Handler使用不当导致内存泄露Handler导致的内存泄露基本上也是由于非静态内部类导致的,Handler内部message是被存储在MessageQ
2020-07-15 10:42:28
456
原创 Android-Service里面如何启动Activity?为什么要这么做?
目录1. 一个应用中有多少个Context,它们之间的区别是什么?2. Service/广播中是否可以启动Activity?为什么?1. 一个应用中有多少个Context,它们之间的区别是什么?Context数量=Activity数量+Service数量+Application从图中我们知道:Context其实是一个抽象类,它有两个子类:ContextImpl、ContextWrapper,ContextImpl是context的功能具体实现类,而ContextWrapper则是一个包装类,主要
2020-07-15 10:38:07
7441
原创 2020-Android-面试总结(1)
目录Java部分1. [数组与链表](https://blog.youkuaiyun.com/wu996489865/article/details/107325094)2. 设计模式1. [单例模式](https://blog.youkuaiyun.com/wu996489865/article/details/107325511)2. 建造者模式(Builder)3. 适配器模式4. 装饰模式5. 策略模式6. 观察者模式7. 状态模式8. 工厂(方法)模式3. sleep、wait、join区别4. 多线程同步、synchr
2020-07-14 18:09:55
400
原创 Java-反射、注解、注解处理器
目录1. 反射1. 对象获取的方法2. 常用API2. 注解3. 注解处理器1. 反射Java反射机制是在运行状态中对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,能够调用它的任意方法和属性,从对象出发,通过反射(Class类)可以取得类的完整信息。简单说就是在运行过程中获得类、对象、方法的所有信息1. 对象获取的方法通过对象获取obj.getClass()通过完整类路径获取Class.fromName("com.java.String")通过类名获取Object.clas
2020-07-14 17:08:39
367
原创 sleep、wait、join区别
目录线程的生命周期sleep、wait、join区别1. Thread.sleep()2. Object.wait()3. Thread.join()线程的生命周期线程状态含义说明NEW新建还未调用start方法,还是活着的aliveRUNNABLE准备就绪调用了start方法,此时线程已经准备好,处于就绪队队列中,aliveRUNING运行中线程获得CPU资源,正在执行alive(其实不是真实存在这个状态)BLOCKED阻塞线程阻塞与锁或者调用了
2020-07-14 11:53:16
1538
原创 java-设计模式-单例模式
目录1. 六大设计原则2. 什么是单例模式?3. 单例模式的特点?4. 单例模式VS静态类5. 单例模式的几种实现方式1. 懒汉式2. 饿汉式3. DCL(double-check-locking)双检锁6. DCL原理7. 多进程中单例为什么会失效?1. 六大设计原则一句话总结个原则特点单一职责原则 :一个类只负责一项职责里式替换原则:所有应用父类的地方都能够使用子类替代,子类可进行功能扩展而不是重写、覆盖父类方法依赖倒置原则:高层模块不应该依赖低层模块,二者都应该依赖抽象,抽象不应该依赖细节
2020-07-13 22:19:31
201
原创 Java-数组与链表
目录1. 链表与数组的主要区别2. 数组的特点3. 链表的特点4. 各自优缺点数组优点缺点链表优点缺点1. 链表与数组的主要区别数组的元素是固定的而链表的结点个数会自动扩展数组元素的存储单元是定义时分配的,链表结点存储单元在执行时可动态扩展数组中元素的顺序关系由元素在数组的下标决定的,链表结点顺序关系由结点的指针决定的2. 数组的特点在内存中数组是一块连续的区域数组需要预留控件,在使用时就必须申请内存,申请过大会造成内存浪费插入和删除效率低,插入数据时后面的数据都要向后面移动,因为数组
2020-07-13 21:14:08
457
ibeacon报警demo
2015-12-24
Android端TTS语音引擎
2020-01-02
Notification
2016-07-14
Launcher5.0源码
2016-12-29
sql JDBC jar包
2015-12-24
Android design jar包
2015-12-26
Gson jar包
2016-07-12
mysql jar包
2015-12-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅