介绍
如果不是所有我们喜欢包含在项目中的第三方库,那么我们作为Android开发人员的生活将更加艰辛。 在本教程中,您将学习如何通过创建和发布自己的Android库来回馈开发人员社区,人们可以轻松地在其项目中添加和使用它们。
1.创建一个Android库
如果您的库仅由Java类组成,则将其打包为JAR并使用文件主机进行分发可能是共享它的最快,最简单的方法。 如果要从控制台创建它,则以下命令就足够了:
jar cvf mylibrary.jar Class1.class Class2.class ... ClassN.class
但是,本教程向您展示如何使用更复杂的库,这些库不仅包含Java类,而且还包含各种类型的XML文件和资源。 此类库创建为Android库模块,通常打包为AAR文件。
让我们创建一个简单的Android库,为使用它的开发人员提供自定义View
。
步骤1:添加新模块
首先,通过从文件菜单中选择新建>新建模块 ,将新的Android模块添加到您的项目中。 将显示以下屏幕,其中提供了许多选择:
选择“ Android库” ,然后按“ 下一步” 。 在随后的表格中,输入您的媒体库名称,然后按下一步 。 我将这个库称为mylittlelibrary 。
在最后一个屏幕中,选择“不添加活动” ,然后按“ 完成” 。
您的项目现在将具有两个模块,一个用于应用程序,一个用于库。 其结构如下所示:
步骤2:建立版面
通过右键单击库模块的res文件夹并选择New> XML> Layout XML File来创建新的布局XML 。 将其命名为my_view.xml 。
为了简化本教程,我们将创建一个自定义View
,在LinearLayout
中具有两个TextView
小部件。 将一些文本添加到TextView
小部件之后,布局XML文件应如下所示:
步骤3:建立Java类别
创建一个新的Java类,并将其命名为MyView.java 。 确保将此文件放在库模块的src目录中,而不是app模块中。
为了使此类表现为View
,使其成为LinearLayout
类的子类。 Android Studio会提示您向该类添加一些构造函数。 添加它们之后,新类应如下所示:
public class MyView extends LinearLayout {
public MyView(Context context) {
super(context);
}
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
}
}
如您所见,我们现在有两个构造函数。 为了避免向每个构造函数添加初始化代码,请从每个构造函数调用一个名为initialize