Android 模块与风味之间的区别

2024-02-05

android模块和风格之间的主要区别是什么?

来自模块定义https://developer.android.com/studio/projects/add-app-module.html https://developer.android.com/studio/projects/add-app-module.html

模块为应用程序的源代码、资源文件和应用程序级别设置(例如模块级别构建文件和 Android 清单文件)提供容器。每个模块都可以独立构建、测试和调试。

但对于口味我也可以说同样的话。

有人可以指出这两者之间的主要区别吗?


模块是项目的一部分,而风格或多或少是配置/实现

模块的具体示例: 如果您正在制作一个库,您可以有多个模块,例如库本身和演示项目。每个都是模块

Note: 每个模块都有自己的代码

口味的具体示例: 您正在制作具有一些在线功能的应用程序。为此,您有多个环境(在服务器环境上用于测试,一个用于实时版本)。 您可以使用自己的配置为每个环境创建构建风格(如果需要,还可以使用自己的实现)

Note:口味可以共享他们的代码(使用主文件夹)

这只是一个简短的结论。模块和风味比这个简短的描述强大得多,但我认为它将指出最重要的区别

EDIT:主要区别在于项目的结构,尤其是关于 gradle 的结构。

模块总是有自己的 gradle 文件,所以你会得到以下结构:

projectName.gradle
    module1.gradle
    module2.gradle
    ...

风味在模块的 gradle 文件中定义:

例如module1.gradle 可能如下所示:

// some other gradle stuff before

buildTypes {
    dev {
        // your config
    }
    debug {
        // your config
    }
    release {
        // your config
    }
}

正如您所看到的,您可以混合口味和模块。因此,现在您将拥有一个包含 2 个模块且 module1 中具有不同风格的项目。

在您的项目文件夹中,文件资源管理器中应该具有以下结构:

/project
  /module1
    /src
      /main
      /dev
      /debug
      /release
  /module2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 模块与风味之间的区别 的相关文章

  • java.lang.IllegalArgumentException:此组件要求您指定有效的 android:textAppearance 属性

    我的布局文件之一中有一个 com google android material button MaterialButton 组件 当我使用最新版本的 Material Components 库 com google android mat
  • Android 中多个蓝牙连接的自定义 UUID

    我有一个 Android 设备作为服务器连接到多个蓝牙 Android 客户端 我了解 UUID 的概念以及它的独特之处 我的问题是 我可以为连接到我的服务器的所有客户端使用相同的 UUID 吗 如果没有 我如何以编程方式为我的客户端生成
  • 如何获取每个StorageVolume的可用大小和总大小?

    背景 谷歌 悲伤 计划破坏存储权限 https www xda developers com android q storage access framework scoped storage 这样应用程序将无法使用标准文件 API 和文件
  • Xamarin Android Webview Javascript

    我正在尝试通过 Xamarin for Android 创建一个移动应用程序 它有一个显示网站的 WebView 问题是正常按钮会触发 但 javascript 事件不会触发 我已经启用了 Javascript 但没有运气 如何在 Andr
  • 从响应中获取标头(Retrofit / OkHttp 客户端)

    我正在使用 Retrofit 与 OkHttp 客户端和 Jackson 进行 Json 序列化 并希望获取响应的标头 我知道我可以扩展 OkClient 并拦截它 但这发生在反序列化过程开始之前 我基本上需要的是获取标头以及反序列化的 J
  • 如何在android中显示保存在sdcard文件夹中的图像[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 当我正在显
  • fetchUuidsWithSdp 的奇怪 UUID 逆转

    我有一个在树莓派上运行的 python 蓝牙服务器 使用 PyBluez 我在服务器中使用的uuid是 8f86d132 4ab8 4c15 b8df 0b70cf10ea56 我正在打电话device fetchUuidsWithSdp
  • 如何使用 Google Maps for Android V2 处理地图移动结束?

    我想在地图中心更改后立即对地址进行地理编码 如何使用新的 Android 版 Google 地图 V2 处理地图移动 我说的是用户用手指拖动地图的情况 查看新的地图 API Override public void onMapReady G
  • 将现有 VARCHAR 列与 Room 结合使用

    我正在尝试将现有的数据库与 Android Room 一起使用 但是 我的一个表有一个 VARCHAR 列 Room 似乎只支持 TEXT 不支持 VARCHAR 而且 sqlite 不允许修改列类型 那么 有没有办法使用Room中现有的带
  • Android 初学者:Android gridview 中的触摸事件

    我正在使用以下代码来使用 gridview 执行操作 稍作修改http developer android com resources tutorials views hello gridview html http developer a
  • Android应用程序组件销毁和重新创建的详细信息

    有人可以向我提供一些具体的 值得信赖的 最好是简洁的 信息 内容如下 系统销毁和 如果适用 重新创建组件的顺序 片段 活动 活动的线程 异步任务 计时器 静态数据 类何时卸载 其他类中的线程 异步任务 定时器 主机 TabActivity
  • Android:后台Activity可以执行代码吗?

    后台的活动是否被视为 正在运行 并且可以执行代码 还是处于挂起状态 他们暂停了 活动生命周期 http developer android com reference android app Activity html ActivityLi
  • Android - AudioRecord类不读取数据,audioData和fftArray返回零

    我是 Android 新手 一直在开发音调分析器应用程序 最低 SDK 8 我读了很多关于如何实现 Audiorecord 类的文章 但我想知道为什么它在我录制时不读取任何数据 我尝试显示 audioData 和 fftArray 的值 但
  • okhttp 获取失败响应

    我已经在我的 android 客户端中实现了 okhttp 来进行网络调用 当我收到失败响应时 我会收到失败代码以及与该代码相关的文本作为消息 但我没有收到服务器发送给我的自定义失败响应 在我实施的代码中的失败响应中 我收到的消息只是 错误
  • Android 中如何通过彩信发送图片?

    我正在开发多媒体应用程序 我正在通过相机捕获一张图像 并希望将该图像和文本发送到其他号码 但我不知道如何通过彩信发送图像 MMS 只是一个 http post 请求 您应该使用执行请求额外的网络功能 final ConnectivityMa
  • WorkManager 或 AlarmManager 用于日常请求然后通知工作?

    这是用例 用户设置具有特定时间的每日通知 在指定时间 发出网络请求以获取一些数据 然后使用检索到的数据显示通知 我不确定是否应该使用 AlarmManager 还是 WorkManager 来实现这个用例 据我了解 AlarmManager
  • 如何在 Android 中从 WorkManager 取消工作?

    我已经保存了 WorkManagerUUID转换成String在领域数据库中 这是代码 Constraints constraints new Constraints Builder setRequiredNetworkType Netwo
  • Dagger 2 没有生成我的组件类

    我正在使用 Dagger 2 创建我的依赖注入 几个小时前它还在工作 但现在不再生成组件 这是我创建组件的地方 public class App extends Application CacheComponent mCacheCompon
  • 如何检查 Android 中的同步设置

    我正在构建一个 Android 应用程序 我需要检查设备中注册的每个单独帐户的同步设置 我知道我可以通过 ContentResolver 类来做到这一点 但我遇到了一些问题 我已设法获取设备上所有帐户的列表 但我不知道在运行时从哪里获取特定
  • Android - 以编程方式选择菜单选项

    有没有办法以编程方式选择菜单选项 基本上 我希望视图中的按钮能够执行与按特定菜单选项相同的操作 我正在考虑尝试调用 onOptionsItemSelected MenuItem item 但我不知道要为菜单项添加什么 是的 有一种方法可以选

随机推荐

  • Rails + Sinatra 应用程序分享会

    我还没有找到一个好的答案 如何让我的 Rails 应用程序和 Sinatra 应用程序 安装在我的 Rails 应用程序的 config ru 中 成功共享会话 如果我先访问我的 Sinatra 应用程序 然后访问 Rails 应用程序 我
  • @State 的限制

    我在一些文章中看到 state有很多限制 我们不应该将它与复杂的模型一起使用 最好将它与简单的属性 如 string bool 等 一起使用 我们应该在视图本身内部使用它 我尝试制作一个结构模型 并在内容视图 ParentView 中用 s
  • 在 iis 上托管基本 html 网站

    我有一个基本网站 只有 html js 和 css 文件 我想将其托管在本地计算机上的 IIS 上以进行测试 当我直接将其作为文件在计算机上运行时 该网站运行良好 我使用这些文件所在的目录在 IIS 上添加了一个网站 但是当我尝试启动它时
  • Android 中的多个 HTTP 连接(分段/群下载)下载同一文件

    我目前正在为 Android 创建一个下载管理器 为了优化下载 我需要使用与服务器的多个连接来下载相同的文件 即 与 Windows 中的 Internet 下载管理器中使用的技术相同 问题是我不知道如何创建多个 HTTP 连接并下载相同的
  • 如何设计响应的打字稿模型?

    如何在得到以下响应的打字稿中设计我的模型 data name XYZ id 1 name Abc id 2 我尝试了什么 export class responseModel
  • 自引用 has_many :through 和自定义 :primary key 问题

    我正在尝试在 Rails 2 3 8 应用程序 ruby 1 8 7 中模拟 twitter 模型 class Connection lt ActiveRecord Base belongs to subject foreign key g
  • 以一种形式上传多个文件 MVC4

    我正在尝试在一张表单上上传多张图片 using Html BeginForm Create AdminRestaurants FormMethod Post new enctype multipart form data div class
  • 为什么 CSS 填充会增加元素的大小?

    我试图给我的 div 和 textarea 一些填充 当我这样做时 它会增加元素的大小 而不是缩小元素内部的内容区域 有什么办法可以实现我想做的事情吗 你可以添加box sizing border box到容器元素 以便能够指定在向元素添加
  • Linux中访问另一个进程虚拟内存(调试)

    Linux上gdb如何访问另一个进程的虚拟内存 都是通过 proc完成的吗 Linux上gdb如何访问另一个进程的虚拟内存 都是通过 proc完成的吗 在Linux上读取内存 1 如果要读取的字节数小于3 sizeof long 或文件系统
  • Scala中递归删除目录

    我正在编写以下内容 使用 Scala 2 10 和 Java 6 import java io def delete file File if file isDirectory Option file listFiles map toLis
  • 在某些设备上,两个活动之间的拖放功能不起作用

    我使用以下代码将视图从应用程序中的一个活动拖动到另一个活动 知道拖动开始时第二个活动 接收放置事件 未创建 活动 它适用于 三星 Note 3 Android 5 API 21 三星 Note 4 Android 6 0 1 API 23
  • 从我的应用程序捕获 iPhone 屏幕并录制视频

    我只是好奇创建一个应用程序来录制 iPhone 屏幕视频或捕获 iPhone 屏幕图像 我知道苹果不允许应用程序商店上架此类应用程序 而且我无意这样做 我可以将我的应用程序上传到Cydia如果我愿意的话 但我目前的目标只是开发一个具有捕获
  • 单核处理器上的单线程与多线程编程

    有人可以解释一下编写在单核处理器上运行的多线程代码是否真的有任何优势吗 例如 一种处理文档页面的方法 使得页面与上述代码段是互斥的 乍一看 这似乎没有优势 因为真正的多线程是不可能的 也就是说 操作系统无论如何都必须对线程进行上下文切换 我
  • 下拉列表选定值

    我已经使用 Web 服务创建了国家 地区的下拉列表 并且尝试将下拉列表选择添加到 sql 数据库中 但是当我在插入语句中使用 ddlCountry SelectedValue 执行此操作时 只有下拉列表中的第一个值是出现在表中 我应该使用
  • 语音合成器“输入字符串的格式不正确”

    这是我的代码 string message Hello world SpeechSynthesizer synth new SpeechSynthesizer Prompt prompt new Prompt message synth S
  • IE9奇怪的表格问题

    大家好 我想知道是否有人可以提供帮助 因为我一片空白 我有一个使用 css 设计的表格 除了 IE9 甚至其他 ie 版本 之外 它在所有浏览器中都呈现良好 我不知道为什么 我什至尝试删除所有 css 但它仍然发生 有什么想法吗 Examp
  • VirtualDocumentRoot 域和子域

    普通域和子域是否可以有 VirtualDocumentRoot http www example com or http example com Uses var www example com And http example com U
  • UI 自动化 - #32770(对话框)在 Insepct.exe 中显示,但不在 VisualUIAVerifyNative.exe 中显示

    我正在尝试使用 UI Automation C API 自动化子窗口 ClassName 的对话框为 32770 目标子窗口显示在Spy and 检查程序 但不显示在VisualUIAVerifyNative 它也无法通过 Automati
  • 在其参数结构上重载 C/C++ 预处理器宏

    我想编写一个预处理器宏 如果它的参数是带括号的标记元组 它会做一件事 如下所示 MY MACRO x y 如果它只是一个令牌 还有其他东西 如下所示 MY MACRO x 那可能吗 如何区分空格分隔的标记的数量 即MY MACRO x an
  • Android 模块与风味之间的区别

    android模块和风格之间的主要区别是什么 来自模块定义https developer android com studio projects add app module html https developer android com