android app
文章平均质量分 88
android app
shaominjin123
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用Git自带的SSH协议搭建git服务器
bashbashbashbashbash复制显示的公钥内容(以 `ssh-rsa` 开头)bash方法A:通过ssh-copy-id(推荐)```bash# 在客户端执行ssh-copy-id git@your-server-ip# 输入git用户的密码```方法B:手动添加```bash# 在客户端将公钥复制到服务器ssh git@your-server-ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" < ~/.ssh/id_rsa.pub# 输原创 2025-12-29 19:41:00 · 1058 阅读 · 0 评论 -
Hilt 注入完整指南:从集成到核心场景实践
Hilt 是 Google 基于 Dagger 封装的 Android 专属依赖注入(DI)框架,简化了传统 Dagger 的模板代码,适配 Android 组件生命周期,是目前 Android 官方推荐的 DI 方案。实际开发中,建议先从基础的 Repository/ViewModel 注入入手,再逐步扩展到第三方库、自定义作用域等进阶场景。的依赖(如两个 Retrofit 实例:一个用于用户接口,一个用于支付接口),需用。标记模块内的方法,提供无法通过构造函数注入的依赖(如第三方库)原创 2025-12-28 10:00:42 · 663 阅读 · 0 评论 -
Jetpack Compose 实践入门:从环境搭建到待办列表实现
希望通过本文的实践的,能帮助大家快速上手 Compose,感受现代化 UI 开发的便捷。Compose 采用「基于 Modifier 的布局系统」,通过 Column(垂直布局)、Row(水平布局)、Box(层叠布局)等基础布局容器,结合 Modifier 的属性(如 padding、margin、size、weight 等),实现复杂的 UI 布局。而 Compose 采用声明式 UI,开发者只需描述「状态对应的 UI 样子」,当状态发生变化时,Compose 会自动重新执行可组合函数,更新 UI。原创 2025-12-26 17:51:34 · 754 阅读 · 0 评论 -
OpenCV 4.1.2 SDK 静态库作用与功能详解
每个静态库都有明确的功能定位:core 和 imgproc 构建基础能力,imgcodecs 和 videoio 负责数据 IO,features2d 和 calib3d 支撑特征与三维视觉,ml 和 objdetect 提供智能分析能力,而其他辅助库则扩展了特殊场景的应用。核心基础库是 OpenCV 所有功能的支撑,提供数据结构、内存管理、数学计算等底层能力,是其他模块依赖的核心。此类库提供图像特征点的检测、描述与匹配能力,是目标识别、图像拼接、立体视觉等高级功能的核心。原创 2025-10-27 20:07:46 · 848 阅读 · 0 评论 -
RxJava在Android开发中的实战指南
例如,在传统的异步编程中,我们可能需要使用回调函数来处理网络请求的结果,而在 RxJava 中,我们可以将网络请求封装成一个 Observable 对象,通过订阅这个对象来获取请求结果,并且可以在这个过程中对数据进行各种处理。这种基于事件驱动的编程模型,使得代码的逻辑更加清晰,也更易于维护和扩展。操作符则更加灵活,它可以将被观察者发送的每一个事件转换为一个新的 Observable,然后将这些新的 Observable 发射的数据合并后放进一个单独的 Observable 中发射出去,实现一对多的转换。原创 2025-10-26 22:09:47 · 349 阅读 · 0 评论 -
SharedPreferences的使用方法
SharedPreferences 本身不能直接修改数据,需通过 edit() 方法获取 Editor 编辑器,调用 putXxx() 方法存储数据,最后用 apply() 或 commit() 提交。String username = sp.getString("username", "未知用户");// 默认值 "未知用户"String token = encryptedSp.getString("token", "");editor.putString("username", "张三");原创 2025-10-23 23:58:39 · 883 阅读 · 0 评论 -
Android UI适配问题:从原理到实践的全面解析
不同于iOS相对统一的设备生态,Android阵营涵盖了从入门级到旗舰级的海量设备,屏幕尺寸从3.5英寸的功能机到100英寸的智能电视,分辨率从480×800到2K、4K甚至8K,屏幕密度更是从ldpi到xxxhdpi形成完整梯度。屏幕密度指单位面积内的像素数量,单位为DPI(dots per inch),Android系统将屏幕密度划分为ldpi(120)、mdpi(160)、hdpi(240)、xhdpi(320)、xxhdpi(480)、xxxhdpi(640)等多个等级。原创 2025-10-20 08:12:34 · 682 阅读 · 0 评论 -
SVG图片转化为Android Asset Vector矢量图的完整指南
因此,转化的核心是“将SVG的图形信息适配为Android支持的Vector Drawable语法”,确保转化后图形不失真且能在各Android版本正常显示。打开Android Studio → 进入“File” → “Settings”(Windows)/“Preferences”(Mac) → 选择“Plugins” → 在搜索框输入“SVG2VectorDrawable” → 点击“Install” → 重启IDE完成安装。点击“Path”右侧的文件夹图标,选择本地要转化的SVG文件。原创 2025-10-19 09:56:34 · 910 阅读 · 0 评论 -
Android 约束布局(ConstraintLayout)的权重机制:用法与对比解析
ConstraintLayout通过"链权重"机制实现类似LinearLayout的权重分配功能。核心步骤:1)创建双向约束链;2)设置链模式为weighted;3)给子控件设置layout_constraintHorizontal_weight/vertical_weight属性。关键差异:ConstraintLayout权重需基于链结构,支持多方向权重共存,且必须将控件宽/高设为0dp。相比LinearLayout,它避免了嵌套,更适合复杂布局,但实现稍复杂。典型应用场景是需要在同一原创 2025-10-18 17:11:19 · 1161 阅读 · 0 评论 -
Android 中 Padding 与 Margin 的深度解析:从概念到实战区分
Android布局中Padding与Margin的核心区别(摘要) Padding和Margin是控制控件间距的两个关键属性,但作用对象和效果截然不同:1)Padding是内边距,控制控件内容与边缘的距离,会扩大控件实际大小;2)Margin是外边距,控制控件与其他元素的距离,不影响控件自身。典型区别:Padding影响控件背景范围,Margin产生外部空白区域。使用场景:优化内部排版用Padding(如文字间距),调整外部布局用Margin(如控件间距)。常见误区包括混淆二者作用范围、叠加父容器Paddi原创 2025-10-17 19:04:45 · 1176 阅读 · 0 评论 -
Android 中 gravity 与 layout_gravity 的深度解析:从概念到实践
本文详细解析Android布局中gravity与layout_gravity的核心区别: 作用对象:gravity控制子元素在控件内部的排列("内部对齐"),layout_gravity控制控件自身在父容器中的位置("外部对齐") 取值限制:layout_gravity受父容器类型影响(如LinearLayout水平/垂直布局时部分方向失效) 典型场景: 文字/子控件居中用gravity 控件在父容器靠右/底部用layout_gravity 避坑指南: 文字对齐必须用原创 2025-10-16 21:52:45 · 952 阅读 · 0 评论 -
Android 中 RecyclerView 与 ListView 的深度对比:从设计到实践
Android开发中,RecyclerView和ListView是两种核心列表组件。ListView作为早期控件,采用固定模板设计,简单易用但功能有限;RecyclerView通过模块化解耦,将布局、装饰、动画等功能分离为可替换组件,提供更灵活的扩展能力。性能方面,RecyclerView采用强制ViewHolder模式、三级缓存和预加载机制,显著优化了列表滑动体验。功能扩展上,RecyclerView原生支持滑动操作、自定义动画等高级特性。建议新项目优先选择RecyclerView,仅在对低版本兼容性要求原创 2025-10-15 20:32:43 · 1087 阅读 · 0 评论
分享