首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android架构设计--怎么做才对?

Android架构设计--怎么做才对?
EN

Stack Overflow用户
提问于 2011-02-24 00:07:21
回答 1查看 4.4K关注 0票数 18

一个好的android应用程序架构是什么样子的?是否所有的“工作/业务逻辑”都应该在后台服务中完成,并且活动只与服务通信,以便从某个地方(本地/远程)查询/获取数据?

您会将Activity调用的“服务”实现为真正的Android服务吗?或者使用POJO-Singleton来完成这项工作(可能使用后台线程)。或者实例化活动中的后台线程以执行耗时的操作(查询for服务)。

如何以正确的方式对数据访问进行抽象?你会使用ContentProvider来访问/抽象你的数据吗?应该如何/从哪里查询?活动?服务?..?

我试图寻找一个好的应用程序架构设计,但我只发现了Android架构的样子,而没有发现Android应用程序应该是什么样的。

那么你对此有什么看法呢?Android应用程序的哪些组件应该相互通信,以确保最佳的可扩展性/封装性,...?

EN

回答 1

Stack Overflow用户

发布于 2011-02-24 00:14:09

这个问题没有一个答案。好的OO设计不是Android特有的。我想说的是,如果框架给你提供了一个适合你的用例的高级对象(比如Android中的Service ),那么就使用它。如果您发现自己使用该框架免费实现了相同的POJO实现,请使用该框架。

至于关注点的分离,这是标准的面向对象的东西。不要在Activity类中放入任何不属于Activity的内容。将活动需要的方法和属性过度填充到活动中是不好的,这会使您的活动的意图难以理解。

我通常在我的应用程序中将内容分离到子包中。

  • com.myname.myproject.app基类,全局应用程序functionality
  • com.myname.myproject.net网络内容,与网络相关的utils
  • com.myname.myproject.data - db帮助器,提供程序,etc
  • com.myname.myproject.model对象模型

等。

就你的应用程序内的通信而言...

我总是在清单中注册一个自定义的Application类。这样,当我有需要成为“单实例”的控制器和帮助器时,我就不必做所有那些疯狂的线程安全单例的事情了……我只需要保留一个全局副本。

RoboGuice是一个依赖注入框架,它使得accomplish...definitely更容易了解这一点。如果你对此感兴趣,RoboGuice的谷歌小组是很棒的,并且不断地充满了框架的创建者,他们基本上可以回答你需要的任何东西。

至于应用内通信,我使用我的单实例控制器和状态类来保存状态和执行常见任务,并且我通常使用BroadcastIntents从服务中与活动进行通信

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5093457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档