Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
准备发布Android API_Android_Xml_Api_Distribution - Fatal编程技术网

准备发布Android API

准备发布Android API,android,xml,api,distribution,Android,Xml,Api,Distribution,我正在为Android开发一个API,它工作得很好,但我不确定如何打包/分发它。我已经将API的“肉”放进了一个JAR文件中——这是res/values/attrs.XML中的所有类和一个XML文件(我不确定用户是否有办法引用它,而不必将我的attrs.XML复制到他们的/values文件夹中,但这是另一个问题) 在测试用例中尝试我的API时,我已经将my.jar添加到构建路径中,如果我愿意,我可以成功导入一个类,但我不想:p my API允许用户将自定义视图实现到他们自己的XML文件中,所以代

我正在为Android开发一个API,它工作得很好,但我不确定如何打包/分发它。我已经将API的“肉”放进了一个JAR文件中——这是
res/values/attrs.XML
中的所有类和一个XML文件(我不确定用户是否有办法引用它,而不必将我的attrs.XML复制到他们的/values文件夹中,但这是另一个问题)

在测试用例中尝试我的API时,我已经将my.jar添加到构建路径中,如果我愿意,我可以成功导入一个类,但我不想:p my API允许用户将自定义视图实现到他们自己的XML文件中,所以代码中没有任何实例

问题:用户如何在my API中引用自定义视图?例如,如果我的视图名为
FooView
,并且位于包
com.myfoo
中,则以下XML无法加载:

<com.myfoo.FooView
android:layout_width="fill_parent"
android:layout_height="100dp"
/>


这是否必须打包到一个jar中,正如我看到的facebook android sdk一样,他们提供了源代码。我将其设置为一个新的android项目,并从我的android项目中将其作为库引用。在这种情况下,我可以访问您可能想要查看的所有公开API。这些基本上是正常的android项目,可以作为库引用。这意味着您可以像平常一样定义类、布局和资源,并且只需在主应用程序(在本例中是在客户端应用程序)中使用它们,就好像它们是在同一个项目中定义的一样。这允许您通过
引用XML中的视图,就像上面尝试的那样

但是有一个巨大的缺点(这在创建自定义视图时尤为重要):
可样式化资源根本不起作用。这是一个错误。 不过,据了解,它将在下一个devtool版本中修复


考虑到这一点,我建议用一个测试库项目设置一个小测试项目,看看您需要的所有东西是否都能正常工作。

它不必“必须”在一个jar中。。我只是认为jarfiles对于新手开发人员来说会更容易,因为您所需要做的就是将其添加到构建路径中。假设这是可行的,也就是说。虽然我们讨论的主题是:在您的示例中,您将如何引用facebook库中的xml内容?我还没看过。。它和com.facebook.SomeView一样简单吗?不,你不能直接访问xmls,因为它是一个库,它将公开一组API,我们可以访问这些API。如果你想提供一些元素,你可以在类中创建一个方法,在我使用它时访问并返回它。这有意义吗?检查设置部分,它将给出一个如何进行的想法