1个不稳定版本
0.1.0 | 2024年5月20日 |
---|
#434 in GUI
在 3 个Crate中使用
9KB
50 行
robius-android-env
此Crate提供了轻松的Rust访问由UI工具包管理的Android状态(原生Java对象)。
此Crate的使用
此Crate存在是为了满足两种下游用户的需求
- 暴露其关键内部状态的UI工具包,这些状态包含当前显示的Android活动以及Java VM / JNI环境。UI工具包或应用程序本身应在启动时设置这些状态,具体使用
set_vm()
和set_activity_getter()
函数。 - 需要访问当前活动和JNI环境以与Android平台交互的Rust平台功能Crate。
支持的UI工具包
- Makepad:启用
makepad
Cargo功能。 - 其他即将推出!(同时,请参阅以下内容)
此Crate在其他UI工具包中的使用
对于上述未列出的任何其他UI工具包,您不需要启用任何cargo功能。相反,您的应用程序代码必须手动提供两个关键状态
- 当前Android活动的引用。
- 当前Java VM实例(和JNI环境)的引用。
这可以通过以下方式实现
- 通过调用
set_activity_getter()
提供ActivityGetterFn回调。 - 如果ActivityGetterFn无法提供低级的
JNIEnv
对象,则应用程序还必须调用set_vm()
函数。
依赖关系
~1–12MB
~83K SLoC