在本文中,我们将创建我们自己的 Android 库并发布它,以便在我们的项目中需要时可以使用它。其他人也可以在他们的项目中使用您的库。在这里,我们将为闪烁效果制作一个库,用于突出显示链接、显示重要公告等。使用 Android 库的好处:
- 以加快开发时间。
- 重用具有特定功能的代码。
那么让我们开始吧。
创建 Android 库
第 1 步:打开 Android Studio 并创建一个新项目
要在 Android Studio 中创建新项目,请参阅如何在 Android Studio中创建/启动新项目。将您的应用程序命名为BlinkEffectExample并确保选择Kotlin作为编程语言,因为我将使用 Kotlin 作为源代码,但您也可以按照相同的过程为Java创建和发布 android 库。
第 2 步:现在在您的项目中创建一个新模块
转到文件 > 新建 > 新模块。从选项中选择Android Library ,然后单击Next 。
将您的库命名为BlinkLibrary并单击完成。
您的模块BlinkLibrary 已创建。
第 3 步:现在,是时候向我们的库中添加代码了。为此,请转到您的模块BlinkLibrary > Java > 您的包名称(如 com.learn.blinklibrary)右键单击转到New > Kotlin/class file 。
在您的模块中创建一个新文件并将其命名为BlinkEffect确保从以下选项中选择对象。
第四步:修改BlinkEffect.kt如下
Kotlin
import android.animation.ArgbEvaluator
import android.animation.ObjectAnimator
import android.graphics.Color
import android.view.View
import android.view.animation.Animation
object BlinkEffect {
fun blink(view: View) {
// adding the color to be shown
val animator: ObjectAnimator = ObjectAnimator.ofInt(
view, "backgroundColor", Color.YELLOW,
Color.RED, Color.GREEN
)
// duration of one color
animator.duration = 500;
animator.setEvaluator(ArgbEvaluator())
// color will be shown in reverse manner
animator.repeatCount = Animation.REVERSE
// Repeat up to infinite time
animator.repeatCount = Animation.INFINITE
animator.start()
}
}
XML
Kotlin
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import com.learn.blinklibrary.BlinkEffect
class MainActivity : AppCompatActivity() {
private lateinit var btn : Button
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
btn = findViewById(R.id.buttonView)
btn.setOnClickListener {
// use of blink-library
BlinkEffect.blink(btn)
}
}
}
我们将视图作为blink()函数的参数,以便可以将眨眼效果添加到该特定视图中。现在我们的库已经完成了。是时候发布它了,为此在您的 GitHub 上创建一个新存储库并将项目推送到它(如果没有,请创建您的 Github)。我们将使用JitPack来发布我们的库,因为它使发布库的过程变得更加容易。
在 GitHub 中发布 Android 库
第 1 步:创建一个新的 GitHub 存储库。
复制存储库的 https 地址。
第 2 步:推送您的代码
确保git已安装在您的系统中。如果 android studio 中已经设置了 Git 和 GitHub,那么请按照以下步骤推送您的代码。
- 转到VCS (菜单选项) > 选择启用版本控制启用
- 将打开一个对话框,选择Git并单击OK按钮。
您将观察到所有文件名的颜色都变为红色,如下图所示。
现在,将文件树结构(左侧面板)从 android 更改为 project,如下所示。
右键单击上面的项目名称BlinkEffectExample,然后转到Git > 添加。您将观察到所有文件名的颜色变为绿色。现在打开你的 android studio终端(在 android studio 底部找到终端)。执行以下操作以添加、提交和推送代码。
-> git add .
-> git commit -m "blink library added"
-> git remote add origin " Paste Your-Repository-Address"
-> git push origin master
-> Give your GitHub id name & password
您的项目已推送到存储库!
您也可以按照另一种方法推送您的代码(当 android studio 中未设置 git 和 GitHub 时)。打开系统终端,确保当前目录在“BlinkEffectExample”(项目文件夹名)中,执行以下命令:
-> git init
-> git add
-> git commit -m "blink library added"
现在通过执行添加您的远程源
-> git remote add origin “Paste Your-Repository-Address”
-> git remote -v
-> git push origin master
您的应用程序代码已推送到存储库。
第 3 步:在您的存储库中,转到标记并选择发布
单击创建新版本。
现在添加发布版本和关于您的库的简要介绍。
点击发布发布。打开一个新选项卡并转到 jitpack.io。插入您的存储库地址(在我的例子中是 Anju1415/BlinkEffect-library)并点击LOOKUP 。您的版本将被列出。
现在点击获取它。
您的 Android 库现已发布并可使用。
在您的 Android 应用程序中使用 Android 库
第 1 步:现在您可以在任何项目中使用这个 android 库。打开任何项目或创建一个新项目(这里我正在创建一个新项目来使用这个库)。在您项目的build.gradle (project : applicationName) 中添加以下行
allprojects{
…
maven { url ‘https://jitpack.io’ }
…
}
并在您的应用程序的build.gradle (module : applicationName.app) 中添加依赖项。
dependencies {
….
implementation ‘com.github.Anju1415:BlinkEffect-library:0.1.0’
…
}
现在您可以在您的活动中使用该库。
步骤 2:使用 activity_main.xml 文件
导航到app > res > layout > activity_main.xml并将以下代码添加到该文件中。下面是activity_main.xml文件的代码。
XML
步骤 3:使用MainActivity.kt 文件
转到MainActivity.kt文件并参考以下代码。下面是MainActivity.kt文件的代码。代码中添加了注释以更详细地理解代码。
科特林
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import com.learn.blinklibrary.BlinkEffect
class MainActivity : AppCompatActivity() {
private lateinit var btn : Button
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
btn = findViewById(R.id.buttonView)
btn.setOnClickListener {
// use of blink-library
BlinkEffect.blink(btn)
}
}
}
输出:
GitHub 上的源代码: https : //github.com/Anju1415/BlinkEffect-library