0

我将构建一个可在 Android 和台式机上运行的音乐播放器。这不会有什么特别的,我更多地是为了训练自己,并且或多或少地知道如果有一天我想做一个真正的应用程序/程序可能会遇到什么问题。因此,由于我在网络技术方面已经相当不错,我将尝试使用其他东西:Java。


我的应用程序/程序必须

  • 能够读取音乐文件并播放它们(我打算自己读取文件,这意味着我只需要能够读取“原始”声音、WAV 等)

  • 能够写入音乐文件(更改标签)

  • 能够与同一网络上另一台设备上的另一个程序实例进行通信(我希望能够将我的手机用作遥控器,并将我的电脑用作手机的遥控器)

  • 如果可能,在屏幕上显示一些播放/暂停按钮,即使它被锁定(可能只是在 android 上)


这就是我需要您帮助的地方:您要如何编写尽可能少的“设备特定”代码?

很明显,我可以重用用于编码/解码某些音乐类型的类。如果需要,查找文件、读取文件、写入文件、播放原始声音和连接到网络将很容易抽象。

但是还有用户界面,看起来如果我不仔细计划,我将不得不做两次......我看过libGDX但他们有点坚持它是用于游戏的事实......

我所需要的只是构建一个简单的 UI(几个按钮,专辑封面)的方法,它适用于桌面和手机。

我应该使用 libGDX、“普通”库(*WT、Swing,它们似乎都不与 Android“兼容”)还是其他什么?


我还想请求尽可能少的权限。这意味着我想要一个仅请求访问 sd 卡的基本音乐播放器,然后将需要额外权限的功能添加为其他应用程序/程序或插件。

据我了解,实现这一目标的唯一方法是创建第二个应用程序并让用户安装它。我想我会设法让这两个应用程序进行通信(使用 Intent?),但这真的是唯一的解决方案吗?


预先感谢您的回答。

4

1 回答 1

0

也许您可以考虑使用诸如 Phonegap 之类的东西构建应用程序:http://phonegap.com/将让​​您利用您的网络技术优势并编写一个非常薄的设备特定代码层(如果有的话)!

至于让 phonegap 应用程序在桌面上运行......你可以使用类似:http ://ripple.incubator.apache.org/ 让它在桌面上运行。我知道这略有不同,您想用 Java 编写一些东西 - 但是这是移动开发正在发展的方式,所以您可能希望像这样开始!

于 2013-05-15T17:57:39.113 回答