基于 Android 个项目创建桌面应用程序
Creating desktop application based on Android project
我创建了一个 Android 应用程序,它通常针对平板电脑。它的主要业务逻辑是纯 java,它包含大约 10-15 个活动、SQLite 数据库、执行 HTTP 事务、将信息导出为不同格式等。
我的客户现在(突然之间)想要在 Windows 7 或 8 上拥有完全相同的应用程序 运行。
创建这样一个应用程序的最简单和最直接的方法是什么(我不考虑使用模拟器)?
我以前从未为 Java-应用程序创建过 GUI。
Gradle 个子项目
由于您可能已经在使用 gradle,您可以将您的业务模型与平台分离,将它们移动到另一个项目,您的 android 和桌面项目将依赖于该项目:
--Main Project
|-- core
|-- android
|-- desktop
https://docs.gradle.org/current/userguide/multi_project_builds.html
平台无关框架
如果您的应用正在使用像 retrofit 这样的框架,这些框架既适用于 Android 也适用于常见的 java 项目,您可以将其使用移至核心项目。
桌面项目的 GUI
This question 很好地涵盖了您可以从中选择的不同 GUI 框架。
保持你的 MVC
以这种方式解耦你的项目并不是一件容易的事。您需要仔细考虑您的核心项目将如何与其他项目交互(即一些内部 API)。基本上,您将继续使用 MVC 类架构,但现在您的 android 项目将成为一个视图,而您的桌面将成为另一个。
类似问题:java desktop and android application at the same time - shared packages
(有点题外话,但可能对你有帮助)
虽然多项目方法看起来像是对现有代码的一种很好的重用,但根据您当前项目的结构,它可能会变得更难。
另一种方法是使用类似 Electron with Polymer and/or AngularJS 的方法。
如果您熟悉网络技术,那么创建这样的桌面应用程序会容易很多。而且您还有一个优势:浏览器应用程序只是领先一步。
此外,Polymer 在您的桌面应用程序上保留 material 设计,使您的设计在平台之间更加一致,这可能很难使用原生 java 桌面框架实现。
我创建了一个 Android 应用程序,它通常针对平板电脑。它的主要业务逻辑是纯 java,它包含大约 10-15 个活动、SQLite 数据库、执行 HTTP 事务、将信息导出为不同格式等。 我的客户现在(突然之间)想要在 Windows 7 或 8 上拥有完全相同的应用程序 运行。 创建这样一个应用程序的最简单和最直接的方法是什么(我不考虑使用模拟器)? 我以前从未为 Java-应用程序创建过 GUI。
Gradle 个子项目
由于您可能已经在使用 gradle,您可以将您的业务模型与平台分离,将它们移动到另一个项目,您的 android 和桌面项目将依赖于该项目:
--Main Project
|-- core
|-- android
|-- desktop
https://docs.gradle.org/current/userguide/multi_project_builds.html
平台无关框架
如果您的应用正在使用像 retrofit 这样的框架,这些框架既适用于 Android 也适用于常见的 java 项目,您可以将其使用移至核心项目。
桌面项目的 GUI
This question 很好地涵盖了您可以从中选择的不同 GUI 框架。
保持你的 MVC
以这种方式解耦你的项目并不是一件容易的事。您需要仔细考虑您的核心项目将如何与其他项目交互(即一些内部 API)。基本上,您将继续使用 MVC 类架构,但现在您的 android 项目将成为一个视图,而您的桌面将成为另一个。
类似问题:java desktop and android application at the same time - shared packages
(有点题外话,但可能对你有帮助)
虽然多项目方法看起来像是对现有代码的一种很好的重用,但根据您当前项目的结构,它可能会变得更难。
另一种方法是使用类似 Electron with Polymer and/or AngularJS 的方法。 如果您熟悉网络技术,那么创建这样的桌面应用程序会容易很多。而且您还有一个优势:浏览器应用程序只是领先一步。 此外,Polymer 在您的桌面应用程序上保留 material 设计,使您的设计在平台之间更加一致,这可能很难使用原生 java 桌面框架实现。