Eine Android-App zu entwickeln, die generative KI integriert, ist nicht mehr nur Teams mit einer Forschungsabteilung vorbehalten. Google hat die Tools vervielfacht, damit jeder Android-Entwickler seiner App intelligente Funktionen hinzufügen kann, ohne ein Experte für maschinelles Lernen zu sein. Dieses Tutorial führt Sie Schritt für Schritt durch die Erstellung einer Android-App mit Google Vertex AI Agent Builder, von einem leeren Projekt bis zur ersten Interaktion in natürlicher Sprache.
Warum generative KI die Spielregeln für Android-Entwickler ändert
Der Aufstieg der Sprachmodelle hat die Art und Weise, wie wir Benutzeroberflächen gestalten, verändert. Anstelle von starren Schaltflächen und Formularen kann der Benutzer jetzt mit der App dialogieren. Laut einem Artikel von Google Cloud wird "Vibe Coding" – das Beschreiben dessen, was man in natürlicher Sprache bauen möchte – zu einer eigenständigen Entwicklungsmethode (Quelle: Cloud Google - Vibe Coding Explained). Für Android eröffnet dies den Weg zu integrierten persönlichen Assistenten, Content-Generatoren oder Echtzeit-Analysetools.
Der offizielle Leitfaden "AI on Android" (Quelle: Developer Android - AI on Android) listet die verfügbaren APIs auf: ML Kit, TensorFlow Lite und die neuen APIs über Google AI Edge. Für fortgeschrittene generative Verarbeitung ist Vertex AI Agent Builder jedoch das umfassendste Tool.
Konkreter Anwendungsfall: Eine intelligente Aufgabenverwaltungs-App
Stellen wir uns eine App "SmartTasks" vor, die es dem Benutzer ermöglicht, Aufgaben hinzuzufügen, zu organisieren und kontextbezogene Vorschläge zu erhalten (z. B. "Was ist meine heutige Priorität?"). Die generative KI wird verwendet, um Aufgaben zu analysieren und eine Prioritätsreihenfolge vorzuschlagen, den Tag zusammenzufassen oder sogar Unteraufgaben zu generieren.
Dieser Anwendungsfall ist bewusst einfach gehalten, um den Fokus auf die Integration zu legen. Sie können ihn an Ihre Bedürfnisse anpassen.
Voraussetzungen
- Android Studio (neueste stabile Version)
- Ein Firebase-Projekt (kostenlos) für Authentifizierung und Cloud-Speicher
- Ein Google Cloud-Projekt mit aktivierter Abrechnung (Vertex AI ist ein kostenpflichtiger Dienst, bietet aber ein Startguthaben)
- Grundkenntnisse in Kotlin und Android
Schritt 1: Android-Projekt erstellen und Firebase hinzufügen
Öffnen Sie Android Studio und erstellen Sie ein neues Projekt mit "Empty Views Activity". Nennen Sie es "SmartTasks".
Fügen Sie dann Firebase zu Ihrem Projekt hinzu. Die offizielle Dokumentation (Quelle: Firebase Google - Add Firebase to your Android project) beschreibt das Verfahren im Detail:
- Gehen Sie zur Firebase-Konsole, erstellen Sie ein Projekt, falls noch nicht geschehen.
- Fügen Sie eine Android-App mit dem Paketnamen Ihres Projekts hinzu.
- Laden Sie die Datei `google-services.json` herunter und legen Sie sie im Ordner `app/` Ihres Projekts ab.
- Fügen Sie die Firebase-Abhängigkeiten in `build.gradle` (App-Ebene) hinzu:
implementation(platform("com.google.firebase:firebase-bom:32.0.0"))
implementation("com.google.firebase:firebase-auth-ktx")
implementation("com.google.firebase:firebase-firestore-ktx")
- Synchronisieren Sie das Projekt.
Firebase dient uns für die Authentifizierung (erforderlich, um den Zugriff auf Vertex AI zu sichern) und zum Speichern der Aufgaben.
Schritt 2: Vertex AI Agent Builder aktivieren
Vertex AI Agent Builder ermöglicht die Erstellung von conversational Agents basierend auf Sprachmodellen. Das offizielle Codelab (Quelle: Codelabs Developers Google - Building AI Agents with Vertex AI Agent Builder) beschreibt den Prozess im Detail.
- Aktivieren Sie in der Google Cloud Console die Vertex AI API.
- Erstellen Sie einen "Agent" in Vertex AI Agent Builder:
- Geben Sie ihm einen Namen: "SmartTasksAgent"
- Definieren Sie das Basismodell (z. B. `gemini-1.5-pro`)
- Fügen Sie Systemanweisungen hinzu: "Du bist ein Produktivitätsassistent. Du hilfst dem Benutzer, seine Aufgaben zu organisieren. Du antwortest auf Deutsch."
- Notieren Sie die `agent_id` (sieht aus wie `projects/.../locations/.../agents/...`).
- Generieren Sie einen API-Schlüssel (oder verwenden Sie ein Dienstkonto), um den Agenten aus der Android-App aufzurufen.
> Tipp: Um den Zugriff zu sichern, betten Sie den Schlüssel nicht direkt in die App ein. Verwenden Sie Firebase Functions als Proxy oder das Vertex AI SDK für Android (in der Vorschau).
Schritt 3: Vertex AI SDK in die App integrieren
Google hat kürzlich ein Android SDK für Vertex AI (in der Alpha-Phase) veröffentlicht. Es ist einfach, es zu Ihrem Projekt hinzuzufügen:
implementation("com.google.cloud:google-cloud-vertexai:0.3.0") // Überprüfen Sie die Version
Wenn Sie einen REST-Ansatz bevorzugen, können Sie Retrofit verwenden, um die API direkt aufzurufen. Das SDK verwaltet jedoch Authentifizierung und Streaming einfacher.
Erstellen Sie ein Repository, um die Aufrufe zu zentralisieren:
class SmartTasksRepository(private val agentId: String) {
private val vertexAI = VertexAI.init(/ Kontext /)
suspend fun askAgent(prompt: String): String {
val agent = vertexAI.agent(agentId)
val response = agent.sendMessage(prompt)
return response.text
}
}
> Hinweis: Da sich das SDK in der Alpha-Phase befindet, kann sich die API ändern. Beachten Sie die offizielle Dokumentation für die neuesten Updates.
Schritt 4: Benutzeroberfläche für den Chat
Erstellen Sie einen einfachen Bildschirm mit RecyclerView zur Anzeige der Nachrichten und einem Eingabefeld. Verwenden Sie ViewModel zur Zustandsverwaltung.
class ChatViewModel(private val repository: SmartTasksRepository) : ViewModel() {
private val _messages = MutableLiveData<list<message>>()
val messages: LiveData<list<message>> = _messages
fun sendMessage(text: String) {
viewModelScope.launch {
_messages.value = _messages.value + Message(text, isUser = true)
val response = repository.askAgent(text)
_messages.value = _messages.value + Message(response, isUser = false)
}
}
}
Schritt 5: Firebase-Aufgaben mit dem Agenten verknüpfen
Damit der Agent die Aufgaben des Benutzers kennt, muss ihm der Kontext bereitgestellt werden. Wenn der Benutzer eine Frage stellt, rufen Sie die Aufgaben aus Firestore ab und senden Sie sie als Kontext im Prompt mit.
Beispiel:
val tasks = firestore.collection("users").document(userId).collection("tasks").get().await()
val context = "Hier sind meine aktuellen Aufgaben: ${tasks.documents.joinToString { it.data }}"
val prompt = "$context
${userInput}"
val response = repository.askAgent(prompt)
Bereitstellung und Test
Testen Sie die App auf einem Emulator oder einem physischen Gerät. Stellen Sie sicher, dass der Agent korrekt antwortet. Zum Beispiel:
- Benutzer: "Was ist meine heutige Priorität?"
- Agent: "Basierend auf Ihren Aufgaben ist die Priorität, den Projektbericht fertigzustellen, da er morgen fällig ist. Danach haben Sie um 14 Uhr eine Besprechung."
Optimierung und Produktionseinsatz
- Fehlerbehandlung: Fügen Sie Timeouts und Fehlermeldungen hinzu, falls der Agent nicht antwortet.
- Kontingentgrenzen: Vertex AI hat Grenzen für Anfragen pro Minute. Verwenden Sie einen clientseitigen Cache für häufige Fragen.
- Sicherheit: Validieren Sie Benutzereingaben, um Prompt-Injection zu vermeiden.
- Kosten: Überwachen Sie den Verbrauch über die Google Cloud Console und optimieren Sie die Token-Anzahl, indem Sie den Kontext begrenzen.
Generative KI auf Android ist noch jung, aber die Tools von Google machen sie zugänglich. Durch die Kombination von Firebase für das Backend und Vertex AI für die Intelligenz können Sie Apps erstellen, die die natürliche Sprache Ihrer Benutzer verstehen. Dieses Tutorial hat Ihnen die Grundlagen vermittelt; es liegt an Ihnen, die Möglichkeiten auszuschöpfen.
Weiterführende Informationen
- Cloud Google - Vibe Coding Explained - Leitfaden zum Codieren mit generativer KI
- Developer Android - AI on Android - Überblick über KI-Tools für Android
- Firebase Google - Add Firebase to your Android project - Offizielle Firebase-Dokumentation
- Codelabs Developers Google - Building AI Agents with Vertex AI Agent Builder - Schritt-für-Schritt-Codelab
- Medium - Tutorial: Getting Started with Google Antigravity - Artikel über eine Agent-First-Plattform
- Reddit - I thought AI would build my app for me... Here's what actually ... - Erfahrungsbericht über Erwartungen vs. Realität
Diese Quellen ermöglichen es Ihnen, jeden Schritt zu vertiefen.
