gpt4 book ai didi

java - 在 Android 和 "other platforms"之间生成可移植应用程序的推荐方法

转载 作者:太空狗 更新时间:2023-10-29 22:56:58 38 4
gpt4 key购买 nike

我正在为 Android 开发一个应用程序,我认为它的功能可能在其他(运行 Java 的)平台上有用(比如常规桌面应用程序——尽管我希望其他平台也参与其中对手头的问题无关紧要)。

UI 不太可能以任何方式便携(良好的触摸功能、4 英寸屏幕 UI 和鼠标键盘 19 英寸屏幕 UI 之间的差异太大),所以我很高兴单独重新实现就足够了。

但是,理论上,核心“业务逻辑”(呃,可怕的词)和模型(数据存储)类可以在管理核心应用程序时重复使用。我注意到我正在编写的很多类最终都引用了一些特定于 Android 的位(例如,我有 XML 资源文件、图像和 SQLite 数据库)。到目前为止,我所写的所有内容基本上都至少有一个与 Android 相关的导入。

我的问题有两个:

  • 有哪些工具可以帮助我在非 Android 平台上使用与 Android 相关的类和功能(例如资源、数据库);和
  • 由于不可移植性,我应该完全避免使用 Android 平台的哪些类、功能等(为简单起见,我们排除与 UI 相关的项目),以及我应该改用什么来提高可移植性。<

只要提供一些理由,包含“哈哈哈哈,你注定失败”的答案都可以。

(P.S. 如果这个社区 wiki 仍然可用,我会制作它;这对我来说似乎是一个完美的 CW 问题——Android 可移植性技巧和工具的列表)

最佳答案

看起来您已经通过将 UI 和业务逻辑/模型分开来确定了关键点。此外,sqlite 本身不仅用于 Android。但是当然,您与它交互的方式(例如 SQLDBOpenHelper)又是不同的。

所以我想将业务逻辑和模型尽可能分开是可行的方法。然后你可以在它周围放置一个包装器(例如,与特定数据库对话的“数据访问对象”模式)。

请记住,当您在 UI 端尽可能特定于平台时,用户体验是最好的。例子:Android市场上有一款App(Push & Ride),貌似运行在J2ME模拟器中。所以屏幕输入不是使用设备正常的软(或硬)键盘,而是模拟手机键盘,数字键上有“abc”“def”连击,这让数据输入有点奇怪。这个应用程序肯定非常便携(而且它的功能真的很棒),但就是感觉不对。

当你想要跨平台时,你可能还会看看像 Appcelerator 或 Adob​​e AIR 这样的东西

关于java - 在 Android 和 "other platforms"之间生成可移植应用程序的推荐方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4977147/

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