7

目前我正在开发我的第一个应用程序,并且我注意到正在出现的某些工作流模式。具体来说,Android 应用程序遵循一种类似树的用户活动流程,其中每个用户操作通常要么向下进入树的更深分支,要么返回到根部。

因此,由此出现的开发模式是:添加可操作的小部件 -> 为它们添加监听器方法 -> 发送意图以启动新活动并将数据传递给它们 -> 构造新的活动布局和类以接收此数据 - > 重复。

然后在某些活动中会有显示数据库数据的小部件(因此您必须设置 CursorAdapters 等),以及一些修改数据库数据的小部件(因此您必须实现更新/添加/删除方法等)。

我的问题是:有没有办法自动化这个工作流程,或者让它更有效率?即,是否有某种基于模式的脚本,您可以在其中绘制活动的树结构,哪些项目需要 CursorAdapters 等,然后它会为该模式写出骨架类?看起来编码“狗工作”,可以说,比如敲出应用程序的骨架方面,占用了大量的打字工作,而不是大量的功能。

我想我正在寻找的是深入了解电源编码器或“精英”通常如何编写 android 应用程序。

干杯

4

2 回答 2

8

我不知道会为您创建项目框架的基于模式的脚本语言,但 IntelliJ 的UML 到 Java代码生成可能会发生类似的事情(我从未尝试过)。


但是,这就是我通常在 Android 项目中减少样板代码的方式:

  1. Android Studio 会为你做很多工作。例如,创建一个新的“Blank Activity with Fragment”将为您创建带有基本样板的 Activity、Fragment 和 xml 布局。

  2. 除了内置模板外,您还可以使用“工具>>将文件另存为模板”在 Android Studio 中创建自己的模板。还要为您的 POJO 签出“代码>>生成”。

  3. 创建可由多个活动、方向和屏幕尺寸重复使用的片段和视图。

  4. 使用 3rd 方库来减少一些样板并绕过 Android 中的一些低效范例——特别是:

通常,请注意注释代码生成器。确保它们在编译时而不是运行时(反射)生成代码,或者反射不会导致严重问题。有关好的库的更大列表,请参见:

https://github.com/codepath/android_guides/wiki/Must-Have-Libraries

于 2015-08-01T17:40:24.017 回答
1

正如您所说,Android 中的许多应用程序可以共享相同的软件架构和代码组织。

我不知道有一些代码生成器可以根据可配置的首选项生成 Android Studio 模板,但我创建了一个教程/模板 Android Studio 项目,您可以在其上克隆/分叉并构建您的应用程序。

此模板中采用的架构模式是 MVC - 一种被广泛接受的用于构建“面向用户”软件的架构模式,但被 AOSP 核心架构师 (IMHO) 忽略了。使用单一架构模式在单一模板之上构建您的应用程序有一个巨大的优势——一旦习惯了模板,您将在编写和调试应用程序时更有效率。

此外,此模板中使用的代码组织将实际业务逻辑(您称之为“丰富的功能”)和“无聊的”UI 处理内容分开。

您可以在此处找到教程/模板 MVC 项目:https ://github.com/techyourchance/android_mvc_template

于 2015-08-01T18:08:10.690 回答