如何从本机安卓代码(Codename One)访问默认包中的文件

时间:2017-04-19 08:47:33

标签: android native codenameone

由于当应用程序正在运行时我无法使用Media对象进行播放但是我必须在该状态下播放媒体文件,我需要一个解决方案来访问来自的媒体文件本机代码并为本机媒体播放器引用它们(通过路径或Inputstream)。我仍然希望以相应的方式放置相关文件,从本机iOS代码访问它们不会成为负担。 我正在考虑两个选项,但在我的实现中无法真正管理。

  1. 将相关数据文件放在GuiBuilder的数据部分中,并通过Resources对象访问它们(并调用getData(id))。但是,当我尝试在Android上的本机代码上创建Resources对象Resources.open("/theme");时,我会遇到以下异常:java.io.IOException: /theme not found
  2. 将相关数据文件保留在默认包中,并通过Class.getResourceAsStreamClass.getResource访问它们。但我不知道如何指出这些文件。我尝试了各种途径但没有任何成功。

1 个答案:

答案 0 :(得分:2)

如果将媒体文件复制到FileSystemStorage,则在本机端访问应该相当容易。您只需将路径传递到本机界面即可。

话虽这么说,我开发了一些带有背景音频的CN1应用程序没有问题。在iOS上,您只需提供ios.background_modes=audio构建提示,以便允许该应用在后台运行。

如果您使用Display.createBackgroundMedia()方法创建媒体,那么Android也会使用后台服务来播放媒体。