我将构建一个可在 Android 和台式机上运行的音乐播放器。这不会有什么特别的,我更多地是为了训练自己,并且或多或少地知道如果有一天我想做一个真正的应用程序/程序可能会遇到什么问题。因此,由于我在网络技术方面已经相当不错,我将尝试使用其他东西:Java。
我的应用程序/程序必须
能够读取音乐文件并播放它们(我打算自己读取文件,这意味着我只需要能够读取“原始”声音、WAV 等)
能够写入音乐文件(更改标签)
能够与同一网络上另一台设备上的另一个程序实例进行通信(我希望能够将我的手机用作遥控器,并将我的电脑用作手机的遥控器)
如果可能,在屏幕上显示一些播放/暂停按钮,即使它被锁定(可能只是在 android 上)
这就是我需要您帮助的地方:您要如何编写尽可能少的“设备特定”代码?
很明显,我可以重用用于编码/解码某些音乐类型的类。如果需要,查找文件、读取文件、写入文件、播放原始声音和连接到网络将很容易抽象。
但是还有用户界面,看起来如果我不仔细计划,我将不得不做两次......我看过libGDX但他们有点坚持它是用于游戏的事实......
我所需要的只是构建一个简单的 UI(几个按钮,专辑封面)的方法,它适用于桌面和手机。
我应该使用 libGDX、“普通”库(*WT、Swing,它们似乎都不与 Android“兼容”)还是其他什么?
我还想请求尽可能少的权限。这意味着我想要一个仅请求访问 sd 卡的基本音乐播放器,然后将需要额外权限的功能添加为其他应用程序/程序或插件。
据我了解,实现这一目标的唯一方法是创建第二个应用程序并让用户安装它。我想我会设法让这两个应用程序进行通信(使用 Intent?),但这真的是唯一的解决方案吗?
预先感谢您的回答。