准备工作:
我们将开始为手机和平板电脑创建一个新项目。然后我们选择基本活动或空活动。确保选择Kotlin,并检查是否将最低SDK设置为API级别26以上的任何值,以便演示程序正常工作。
准备工作已经基本完成了。剩下的就是将存储库和依赖项添加到我们的构建中。
Jitpack存储库转到根构建的存储库部分的末尾。
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Stipop SDK依赖性将转到应用程序构建的依赖项部分的末尾。
dependencies {
...
implementation 'com.github.stipop-development:stipop-android-sdk:0.0.6'
}
正式开始:
让我们从stipopsdk开始吧
我们在一开始下载的json文件将放在“assets”文件夹中,该文件夹位于app > src > main。如果由于某种原因,该文件夹找不到,您可以创建它并放置Stipop。里面有json文件。
下一步是创建一个GlobalApplication文件。为此,我们要App > src > main > [your package name] > GlobalApplication.kt:
import android.app.Application
import android.content.Context
import io.stipop.Stipop
class GlobalApplication : Application() {
companion object {
lateinit var instance: GlobalApplication
private set
}
override fun onCreate() {
super.onCreate()
instance = this
Stipop.configure(this)
}
fun context(): Context = applicationContext
}
现在是检查错误的好时机。让我们构建代码,如果一切正常,下一步就是修改AndroidManifest。xml文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="YOUR_PACKAGE"
xmlns:tools="http://schemas.android.com/tools"
>
<application
android:name=".GlobalApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
tools:replace="android:theme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
以下是我们添加和更改的内容:
第3行:您的包名
第四行:xmlns:tools=“http://schemas.android.com/tools”
第8行:android:name=“.GlobalApplication”
第14行:tools:replace=“android:theme”
关于这个应用程序的所有基本细节都将描述。在我的例子中,除了我们刚刚更改的选项之外,大多数选项仍然是默认选项。
下一步是更新activity_main,文件应该位于app > src > main > res > layout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="bottom"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
>
<TextView
android:id="@+id/packageDetailTV"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="packageDetail!"
android:layout_gravity="center"
android:gravity="center"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal"
android:layout_margin="10dp"
android:gravity="center_vertical">
<EditText
android:id="@+id/chatET"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="" />
<io.stipop.extend.StipopImageView
android:id="@+id/stipopIV"
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@mipmap/ic_sticker_normal"/>
</LinearLayout>
</LinearLayout>
Activity_main包含有关UI外观的所有信息。
最后一步是返回MainActivity并激活Stipop.connect。您还可以通过更改国家/地区和语言代码来处理参数。您最后看到的贴纸将根据您选择的标准进行选择。
我们当前的代码显示“搜索视图”。这是一个标签库的搜索引擎。它的工作原理和其他搜索引擎一样:你输入一个关键字,然后得到这个关键字的所有标签。
你可以在这个视图和标签选取器之间进行选择,它看起来像是一个组织良好的贴纸库,在那里你可以下载你喜欢的。如果你想用“标签选取器”的观点,只需改变 Stipop.showSearch()到 Stipop.showKeyboard()。
注:你只能在一个应用中激活一个视图。
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import io.stipop.Stipop
import io.stipop.StipopDelegate
import io.stipop.extend.StipopImageView
import io.stipop.model.SPPackage
import io.stipop.model.SPSticker
class MainActivity : AppCompatActivity(), StipopDelegate {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val stipopIV = findViewById<StipopImageView>(R.id.stipopIV)
Stipop.connect(this, stipopIV, "1234", "en", "US", this)
stipopIV.setOnClickListener {
Stipop.showSearch()
}
}
override fun onStickerSelected(sticker: SPSticker) {
print(sticker)
}
override fun canDownload(spPackage: SPPackage): Boolean {
print(spPackage)
return true
}
}
任务完成了!
剩下要做的就是重建这个项目。如果一切都做得正确,您将能够看到上面所示的SDK实现。从这里,您可以进一步构建,也可以在自己的应用程序中使用SDK。