如何使用内部xml(布局/字符串)制作android jar库
我正在创建一个库,它应该作为 jar 文件分发。
公共函数是void SomeLibClass.showSomeDialog(Context context)
,任务库是对话框显示,里面有一个复杂的View。没有活动,没有什么困难。
使用库的模式 - 开发人员将其添加到您的项目中,并在一个地方调用 SomeLibClass.showSomeDialog
并享受有趣的对话框。
渲染对话框所需的资源位于 jar 文件内似乎是合乎逻辑的(以避免错误,例如:jar 已更新,但没有资源) - 我们需要在 jar 文件中:布局、字符串、可绘制等。
我想通过以下方式调用资源Id,就像当我制作布局时,我继续写像 android:text="@string/hello"
但无法获得这个逻辑要做的事情..现在我在带有前缀的 jar 文件中制作所有资源,但如何解决问题在 R.java 中具有相同的 id?
或者我看错了,这就是我们必须以某种方式做的不同的事情?想要重复一个简单的事情——你所需要的图书馆都在里面。
I am creating a library, which should be distributed as a jar file.
Public function is void SomeLibClass.showSomeDialog(Context context)
and task library is dialog show with a complex View inside. No activity, nothing difficult.
The pattern using library - developer add it to your project, and call in one place SomeLibClass.showSomeDialog
and enjoy the funny dialog.
Seems logical that the resources needed to render the dialog were inside the jar file(to avoid errors such as: jar updated, but no resources) - we need in jar file: layout, string, drawable, etc.
And i want call resource by Id, like when i make layout i continue write like android:text="@string/hello"
But this logical thing to do can not be obtained.. now i make all resources in jar file with prefix, but how to solve the problem with the same id in R.java?
Or am I wrong look, and this is all we have to somehow do differently? Wants to repeat a simple - all you need for the library was in it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您希望使用资源分发与 Android 兼容的 Java 代码,则需要使用 一个 Android 库项目。
据报道,即将推出的 Android 开发工具 r14 版本能够将包括资源在内的库项目打包为 JAR。 r14 应该很快就会发布——我会等到它发布,然后看看如何将它应用到你的项目中。
If you wish to distribute Android-compatible Java code with resources, you need to use an Android library project.
The upcoming r14 edition of the Android Developer Tools reportedly has the ability to package up a library project, including resources, as a JAR. r14 should be released soon -- I would wait until this is released and then see how to apply it to your project.