我正在使用flash为 Samsung Galaxy 编写应用程序。我想访问数字罗盘,但我不能使用 Actionscript。:(
所以我想知道:是否可以使用检查数字罗盘并将数据写入 XML 文件的android api ?这个 API 应该在后台运行,而 flash 应用程序在前面。…</p>
你知道有什么 API 可以做到这一点吗?或者一些可以很容易地修改为以这种方式工作的 API?
不幸的是,我对 Java 编程或 Android 编程知之甚少。
感谢您的所有提示或想法……克劳迪娅。
我正在使用flash为 Samsung Galaxy 编写应用程序。我想访问数字罗盘,但我不能使用 Actionscript。:(
所以我想知道:是否可以使用检查数字罗盘并将数据写入 XML 文件的android api ?这个 API 应该在后台运行,而 flash 应用程序在前面。…</p>
你知道有什么 API 可以做到这一点吗?或者一些可以很容易地修改为以这种方式工作的 API?
不幸的是,我对 Java 编程或 Android 编程知之甚少。
感谢您的所有提示或想法……克劳迪娅。
而不是做一个肮脏的解决方法,将数据保存到 XML,然后在 Flash 中读取它,这会很慢,你可以简单地使用 Adobe Native Extensions。这是一种避免您从 Flash (Adobe AIR for Mobile) 编写和使用原生 Android 代码的机制。
请参阅此链接: http: //www.adobe.com/devnet/air/native-extensions-for-air.html
还有一个教程:http: //www.adobe.com/devnet/air/articles/developing-native-extensions-air.html
您可以为 Android 编写一个“本机”Java 应用程序,该应用程序使用SensorManager类将值写入文件,由 Timer 驱动。但是,这几乎会破坏首先在 Flash 中开发应用程序的目的(除非您这样做是因为您已经了解 Flash)。
如果这是一个 AIR 应用程序,可能会有一个 hack 可以让您访问 Android API:
我只是模糊地理解他们在做什么,我自己没有尝试过。
我想你可以在那里找到你需要的东西..
还要 在 SENSOR_ORIENTATION 类型下查看http://developer.android.com/reference/android/hardware/SensorManager.html
http://developer.android.com/reference/android/hardware/SensorManager.html#getOrientation(float[], float[])
SensorManager.getOrientation() 实际上可以返回您需要的值!