ThirtyInch:简化Android MVP架构的库
项目介绍
ThirtyInch 是一个专为Android设计的MVP(Model-View-Presenter)库,由GrandCentrix开发并维护。它旨在解决Android开发者在遵循Google推荐的最佳实践中遇到的实际问题,比如过度工程化的解决方案。这个库特别强调了Presenter的生命周期管理,以确保它们能够在配置变更时生存下来,无需在Activity或Fragment中重写onSaveInstanceState方法。ThirtyInch提供了灵活性,允许开发者通过自定义配置来启用或禁用特定特性,例如视图注解和配置变更存活能力,这使得它对不同规模和需求的项目都很友好。
项目快速启动
要快速开始使用ThirtyInch库,首先,你需要将它添加到你的Android项目的依赖中。以下是通过Gradle进行依赖添加的方式:
dependencies {
implementation 'com.grandcentrix.thirtyinch:thirtyinch:latest.version'
}
请注意,这里的latest.version应当被实际发布的版本号替换。你可以访问ThirtyInch的GitHub页面的Release部分查找最新版本。
接下来,创建一个Presenter类,继承自TiPresenter:
public class MyPresenter extends TiPresenter<MyView> {
public void loadData() {
// 加载数据的逻辑
}
@Override
protected void onFirstAttach() {
super.onFirstAttach();
loadData();
}
}
interface MyView {
// 定义你的视图行为
}
最后,在你的Activity或Fragment中使用这个Presenter:
public class MainActivity extends AppCompatActivity implements MyView {
private MyPresenter presenter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
presenter = ThirtyInch.attach(this, MyPresenter.class);
}
@Override
public void showData(Data data) {
// 更新UI展示数据
}
// 实现剩余的MyView接口方法...
}
记得替换latest.version为你查找到的确切版本号,并根据你的具体需求实现视图的行为。
应用案例和最佳实践
ThirtyInch鼓励将业务逻辑从Activity和Fragment中分离出来,通过Presenter处理。最佳实践包括利用Presenter来管理数据的获取、更新和显示逻辑,而视图仅负责展示。通过这种方式,可以极大地提升代码的可测试性和可维护性。在复杂的应用场景下, ThirtyInch支持配置不同的生存策略,如使用Singleton模式确保Presenter在配置变化时的生存,从而减少不必要的重建开销。
典型生态项目
ThirtyInch自身就是一个专注于简化MVP实现的核心库,但它可以与其他Android生态系统中的库一起工作,如RxJava用于异步操作,或者配合Dagger进行依赖注入,进一步增强应用的结构清晰度和扩展性。虽然ThirtyInch不直接集成这些生态组件,但它的设计让你能够轻松地在其基础上构建更加复杂和高效的应用架构。
在集成 ThirtyInch 到你的项目时,探索其与现代Android开发工具和技术栈的结合点,将是提升开发效率的关键所在。
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00- QQwen3-Coder-Next2026年2月4日,正式发布的Qwen3-Coder-Next,一款专为编码智能体和本地开发场景设计的开源语言模型。Python00
xw-cli实现国产算力大模型零门槛部署,一键跑通 Qwen、GLM-4.7、Minimax-2.1、DeepSeek-OCR 等模型Go06
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin08
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00