gpt4 book ai didi

java - 在 Android 的包约定中对 java 类进行分组

转载 作者:行者123 更新时间:2023-11-30 10:58:47 24 4
gpt4 key购买 nike

目前我在主应用程序包中有 13 个类的 Android Studio 项目。我决定是时候将类分组到单独的文件夹(java 包?)中,例如 Activities、Fragments、Models、Utils 等。如何按照某种约定(如果有的话)正确执行此操作,尤其是对于 Android Studio 项目?

如果要为类(class)组创建新文件夹,我应该在这里选择什么? “包裹”?创建后如何命名(按照约定)?

enter image description here

最佳答案

不知道是否有一些“官方”约定。

我目前使用的包结构:
单个应用程序类的“root”(通常等于 appId)包。如果应用由一项 Activity 、一项服务组成,那么它们也可以放在这里。

然后,“root”。component_name 如果您的应用程序包含许多独立的重型组件(通常不是),它们拥有自己的 Activity 、模型和等等

“根”包或每个组件的包包含:

  • activity Activity 和 fragment
  • 应用。此外,有时,我会创建 app 包,其中可以包含 Activity 、 fragment 、服务和其他 android 应用程序组件的基类。
  • view 用于 View 和适配器
  • model 包含业务逻辑。包含接口(interface)、实体、DTO。
  • model.impl:我不时使用它。它包含模型实现(包可见性)
  • helperutil
    • helper 包含领域特定的东西。作为旁注:通常我会尝试通过将辅助逻辑封装到域数据类型中来避免使用它们。
    • Package util 通常转到“根”包。应用程序

上次我开始为描述异步计算、后台作业等的类使用 asyncmodel.async 包。


我并不总是对这样的结构感到满意。所以,我看看类是如何在 android api 中分组的。我也喜欢发现我最喜欢的库和框架的结构。


示例:

org.android.exampleapp.app

          BaseActivity.class   // provide access to MyService
BaseFragment.class

org.android.exampleapp.activity

          LaunherActivity.class  // extend BaseActivity and BaseFragment
MainActivity.class
MyDetailsFragment.class
MyListFragment.class

org.android.exampleapp.model

          SuperItem.class
MyService.class

org.android.exampleapp.model.impl

          MyServiceOfflineImpl.class
MyServiceOnlineImpl.class

org.android.exampleapp.async

          GetSuperItemsTask.class

关于java - 在 Android 的包约定中对 java 类进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32120437/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com