หน้านี้จะอธิบายวิธีตั้งค่าด้วย Android SDK หากยังไม่ได้ทําตามข้อกําหนดเบื้องต้น ให้ทําตามก่อน
การขึ้นต่อกัน
นำเข้า SDK "searchinapps" ไปยังโปรเจ็กต์ Android จาก GMaven เปิดไฟล์ build.gradle
ของโปรเจ็กต์ ประกาศที่เก็บ Maven ของ Google และเพิ่มข้อกําหนดของ SDK โดยทำดังนี้
repositories {
google()
...
}
dependencies {
implementation 'com.google.android.libraries.searchinapps:searchinapps:[version]'
...
}
จากนั้นสร้างโปรเจ็กต์โดยใช้ Gradle
การกําหนดค่า AndroidManifest.xml
อัปเดตไฟล์ AndroidManifest.xml
ของโปรเจ็กต์ Android เพื่อเพิ่มข้อมูลเมตาต่อไปนี้
com.google.searchinapps.API_KEY
: ค่าสตริงของคีย์ API ของ SDK (ดูด้านบน)com.google.searchinapps.CLIENT_ID
: ค่าสตริงของตัวระบุไคลเอ็นต์ของแอป (ดูด้านบน)
ตัวอย่าง AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.samples.quickstart.searchinapps">
<application
...
>
<meta-data
android:name="com.google.searchinapps.API_KEY"
android:value="[your api key]"/>
<meta-data
android:name="com.google.searchinapps.CLIENT_ID"
android:value="[your client id]"/>
...
</application>
</manifest>
การเริ่มต้น
หากต้องการใช้ฟังก์ชันของ SDK "searchinapps" ให้สร้างอินสแตนซ์ SearchInAppsService
(คุณทําได้ในฟังก์ชัน onCreate
ของคลาส Activity) ใน Activity
เป้าหมายหรือคลาสใดก็ตามที่รับผิดชอบในการดึงข้อมูลผลการค้นหา และส่งบริบทแอปพลิเคชันหรือกิจกรรมไปให้ด้วย
โค้ดตัวอย่าง
Java
package ...;
...
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.libraries.searchinapps.SearchInAppsService;
...
public class MainActivity extends AppCompatActivity {
private SearchInAppsService service;
@Override
protected void onCreate(Bundle savedInstanceState) {
...
service = SearchInAppsService.create(this);
...
}
@Override
public void onDestroy() {
service.shutDown();
super.onDestroy();
}
}
Jetpack Compose
package ...
...
import android.os.Bundle
import androidx.activity.compose.setContent
import androidx.appcompat.app.AppCompatActivity
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.mutableStateOf
import androidx.compose.ui.platform.LocalContext
import com.google.android.libraries.searchinapps.SearchInAppsService
...
class MainActivityJetpack : AppCompatActivity() {
private var service: SearchInAppsService? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
SearchSuggestionsUI()
}
}
@Composable
fun SearchSuggestionsUI() {
...
var service by remember {
mutableStateOf<SearchInAppsService?>(
SearchInAppsService.create(LocalContext.current))
}
...
DisposableEffect(Unit) { onDispose { service?.shutDown() } }
...
}
...
}