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