Android có Giải pháp AI

Tăng cường hiệu suất cho ứng dụng Android bằng AI tạo sinh

Trong lộ trình học tập này, bạn sẽ khám phá cách xây dựng các ứng dụng Android hấp dẫn hơn mà ít tốn công sức hơn bằng cách sử dụng các công nghệ của Google. Trong các phần sau, bạn sẽ xây dựng và nâng cao một ứng dụng chuẩn bị bữa ăn giả định — một ứng dụng thay thế cho loại ứng dụng mà bạn có thể đang làm việc với tư cách là nhà phát triển Android.

Bạn sẽ tìm hiểu cách sử dụng Gemini trong Android Studio để học và phát triển nhanh hơn, sử dụng Firebase để tạo các lớp bộ nhớ và đăng nhập của ứng dụng, sử dụng Gemini để tích hợp các tính năng AI tạo sinh hiện đại vào ứng dụng và sử dụng các công cụ như Cấu hình từ xa Firebase, Google Analytics và Crashlytics để hỗ trợ ứng dụng của bạn trong quá trình phát hành chính thức.

Nâng tầm hoạt động phát triển Android bằng Gemini trong Android Studio

Bạn có thể tạo ứng dụng Android dễ dàng hơn bao giờ hết nhờ sự trợ giúp của Gemini trong Android Studio, một trợ lý lập trình sử dụng AI.

Tích hợp AI trực tiếp vào IDE mà bạn sử dụng hằng ngày, Gemini trong Android Studio được thiết kế để giúp bạn xây dựng ứng dụng Android chất lượng cao nhanh chóng và dễ dàng hơn bằng cách hỗ trợ bạn trong toàn bộ vòng đời phát triển phần mềm. Điều này có nghĩa là bạn có thể tìm hiểu các khái niệm mới nhanh hơn, tạo nguyên mẫu dễ dàng hơn và dành nhiều thời gian hơn để tập trung vào các phần quan trọng của ứng dụng.

Khi bạn bắt đầu phát triển ứng dụng Android, hãy xem cách Gemini trong Android Studio có thể giúp bạn tăng tốc hành trình phát triển.
Nếu bạn mới sử dụng Android hoặc các lĩnh vực phát triển Android cụ thể, Gemini trong Android Studio có thể là một công cụ học tập vô giá.

  • Nhận câu trả lời tức thì cho câu hỏi của bạn: Bạn có thể đặt câu hỏi cho Gemini về các khái niệm cơ bản của Android, API cụ thể hoặc các phương pháp hay nhất ngay trong cửa sổ trò chuyện của Android Studio. Ví dụ: bạn có thể hỏi "Giao diện tối là gì?" hoặc "Cách tốt nhất để lấy thông tin vị trí trên Android là gì?".
  • Nhận ví dụ và hướng dẫn về mã: Gemini có thể tạo đoạn mã và hướng dẫn cách triển khai nhiều tính năng, chẳng hạn như thêm tính năng hỗ trợ máy ảnh hoặc tạo cơ sở dữ liệu Room. Bạn thậm chí có thể yêu cầu mã trong Kotlin hoặc dành riêng cho Jetpack Compose.
  • Tìm hiểu lỗi và tìm giải pháp: Khi gặp lỗi bản dựng hoặc lỗi đồng bộ hoá, bạn có thể yêu cầu Gemini giải thích và đề xuất cách khắc phục. Gemini cũng có thể giúp phân tích báo cáo sự cố từ tính năng Thông tin chi tiết về chất lượng ứng dụng, cung cấp bản tóm tắt và đề xuất các bước tiếp theo.
Ví dụ: đối với ứng dụng chuẩn bị bữa ăn giả định của chúng tôi, bạn có thể yêu cầu Gemini giúp tạo bản minh hoạ bố cục Compose mới để hiển thị thẻ công thức nấu ăn. Khi sử dụng các tính năng đa phương thức của Gemini, bạn chỉ cần cung cấp bản minh hoạ khung dây và yêu cầu Gemini phác thảo mã cho giao diện người dùng.
Phiên bản Gemini riêng lẻ trong Android Studio là miễn phí trong giai đoạn xem trước.

Tuy nhiên, đối với việc phát triển trong môi trường nhóm lớn có các yêu cầu quản lý và quyền riêng tư khắt khe hơn, Gemini trong Studio dành cho doanh nghiệp mang lại các lợi ích có giá trị khác, bao gồm các tính năng nâng cao về quyền riêng tư, bảo mật, tuỳ chỉnh mã — và có thể sử dụng bằng khoản tín dụng Google Cloud của bạn.

Cùng với tính năng Trợ giúp lập trình Gemini, các công cụ này giúp các nhóm tự tin tận dụng sức mạnh của AI, giải quyết các nhu cầu quan trọng về quyền riêng tư, bảo mật và quản lý.

Các khối xây dựng Firebase cho ứng dụng

Các tính năng phổ biến trong quá trình phát triển ứng dụng, chẳng hạn như bộ nhớ trên đám mây, xác thực người dùng và báo cáo sự cố, là những thành phần cần thiết khi bạn phát triển và vận hành bất kỳ ứng dụng nào.

Firebase đơn giản hoá quy trình phát triển ứng dụng Android bằng cách cung cấp các khối xây dựng thiết yếu này, giúp bạn không cần phải triển khai phần phụ trợ của riêng mình.
Ví dụ: nếu đang xây dựng một ứng dụng chuẩn bị công thức nấu ăn, bạn cần lưu giữ các công thức nấu ăn, kế hoạch bữa ăn và danh sách nguyên liệu ngoài thiết bị (ví dụ: trong trường hợp người dùng chuyển đổi điện thoại). Bạn có thể lưu trữ dữ liệu này trong Cloud Firestore.

Cloud Firestore là một cơ sở dữ liệu NoSQL trên đám mây có thể mở rộng do Firebase và Google Cloud cung cấp. Công cụ này cho phép đồng bộ hoá dữ liệu theo thời gian thực trên các ứng dụng khách thông qua trình nghe theo thời gian thực, đồng thời hỗ trợ ngoại tuyến cho thiết bị di động và web, đảm bảo hiệu suất ứng dụng thích ứng bất kể có mạng hay không. Công cụ này tích hợp liền mạch với các sản phẩm Firebase và Google Cloud khác, bao gồm cả Cloud Functions.

Việc xác thực người dùng là điều cần thiết để cho phép những người dùng chuyển đổi thiết bị truy cập vào dữ liệu của họ – và đảm bảo người khác không thể truy cập vào dữ liệu của họ!

Xác thực Firebase là một công cụ mạnh mẽ giúp đơn giản hoá quy trình thêm tính năng xác thực người dùng vào ứng dụng Android. API này cung cấp các dịch vụ phụ trợ và một SDK có thư viện giao diện người dùng tạo sẵn hỗ trợ nhiều phương thức xác thực, bao gồm cả đăng nhập bằng email/mật khẩu, xác thực số điện thoại và tích hợp với các nhà cung cấp danh tính liên kết phổ biến như Google, Facebook và Twitter.
Việc theo dõi lỗi và sự cố là điều cần thiết để đảm bảo ứng dụng của bạn ổn định và thành công – một ứng dụng gặp sự cố sẽ khiến người dùng thất vọng và gỡ cài đặt!

Firebase Crashlytics là một trình báo cáo sự cố theo thời gian thực giúp bạn theo dõi, sắp xếp mức độ ưu tiên và khắc phục các vấn đề về độ ổn định làm giảm chất lượng ứng dụng. Tính năng này giúp bạn tiết kiệm thời gian khắc phục sự cố bằng cách nhóm các sự cố và làm nổi bật những tình huống dẫn đến các sự cố đó theo cách thông minh.

Cả Cloud Firestore và Firebase Authentication đều cung cấp các cấp miễn phí hào phóng; tuy nhiên, nếu ứng dụng của bạn cần nhiều hạn mức hơn hoặc các tính năng nâng cao từ các dịch vụ này, bạn cần phải sử dụng gói có tính phí. Nhưng đừng lo – bạn có thể sử dụng khoản tín dụng Google Cloud để chi trả những khoản chi phí đó! Ngoài ra, Crashlytics hoàn toàn miễn phí, bất kể bạn sử dụng bao nhiêu.

Để tìm hiểu về các giải pháp khác do Firebase cung cấp, hãy truy cập vào trang web của Firebase.
scope.launch {
  val response = model.generateContent(
    "Create a shopping list with $cuisineStyle ingredients")
}
Trong trường hợp ứng dụng công thức nấu ăn mẫu, Gemini 2.0 Flash có thể tạo danh sách mua sắm gồm các nguyên liệu để nấu một bữa ăn theo phong cách ẩm thực cụ thể. Bạn thậm chí có thể yêu cầu mô hình tạo một chuỗi JSON có thể dễ dàng được phân tích cú pháp trong ứng dụng để hiển thị vào giao diện người dùng. Để tạo danh sách, bạn chỉ cần gọi hàm `generateContent()` với một lời nhắc văn bản.

Xem hướng dẫn dành cho nhà phát triển Android để tìm hiểu thêm về tính năng này.

AI tạo sinh trên Android

Có nhiều cách để tích hợp AI tạo sinh vào ứng dụng Android chuẩn bị bữa ăn của chúng tôi. Dưới đây là thông tin tổng quan ngắn gọn về từng lựa chọn:
Gemini Nano là mô hình của gia đình Gemini được tối ưu hoá để chạy trên thiết bị. Công cụ này được tích hợp trực tiếp vào hệ điều hành Android thông qua AICore. Bạn có thể sử dụng công cụ này để mang lại trải nghiệm AI tạo sinh mà không cần kết nối mạng hoặc gửi dữ liệu lên đám mây.

AI trên thiết bị là một lựa chọn tuyệt vời cho các trường hợp sử dụng mà độ trễ thấp, chi phí thấp và biện pháp bảo vệ quyền riêng tư là mối lo ngại chính của bạn. Ví dụ: trong một ứng dụng đặt trước bữa ăn, bạn có thể sử dụng Gemini Nano để đề xuất ý tưởng bữa ăn dựa trên nhiều nền ẩm thực và nhật ký bữa ăn của người dùng.

Bạn có thể tìm hiểu thêm về cấu trúc kỹ thuật của Gemini Nano trong tài liệu Android.

Để thử nghiệm Gemini Nano trong ứng dụng của riêng bạn, hãy xem lại Gemini Nano trên thiết bị bằng bước SDK AI Edge thử nghiệm của Google bên dưới.
Các mô hình AI tạo sinh được tối ưu hoá để chạy trên đám mây thường có khả năng cao hơn so với các mô hình AI trên thiết bị.

Là nhà phát triển Android, bạn có thể sử dụng Vertex AI trong Firebase để nhanh chóng triển khai các tính năng AI tạo sinh trong ứng dụng Android bằng cách sử dụng các mô hình Gemini Pro và Flash cho các tác vụ tạo văn bản và Imagen cho các tác vụ tạo hình ảnh.

Nhóm mô hình AI Gemini Pro và Flash có nhiều chế độ và có thể xử lý nhiều loại nhiệm vụ. Các API này nhận dữ liệu đầu vào là hình ảnh, âm thanh và video, sau đó tạo dữ liệu đầu ra là văn bản có thể được định dạng dưới dạng JSON, XML và CSV. Và các mô hình Gemini mới nhất thậm chí có thể tạo ra kết quả đầu ra đa phương thức – như âm thanh và hình ảnh!

Ví dụ: trong ứng dụng chuẩn bị bữa ăn, bạn có thể sử dụng mô hình Gemini để tạo danh sách mua sắm có nguyên liệu cho một loại ẩm thực cụ thể.

Bạn cũng có thể sử dụng khoản tín dụng Google Cloud để chi trả chi phí của các lệnh gọi này đến các mô hình Gemini!

Để tìm hiểu cách sử dụng các mô hình Gemini được lưu trữ trên đám mây trong ứng dụng, hãy xem lại bước Gemini thông qua Vertex AI in Firebase bên dưới.
Imagen 3 là mô hình tạo hình ảnh mới nhất của Google. Bạn có thể truy cập vào API này thông qua Vertex AI in Firebase, giúp thêm các tính năng tạo hình ảnh vào ứng dụng Android một cách nhanh chóng và liền mạch.

Ví dụ: trong ứng dụng chuẩn bị bữa ăn, bạn có thể sử dụng mô hình Imagen 3 để tạo hình minh hoạ công thức nấu ăn.

Khoản tín dụng Google Cloud có thể chi trả cho chi phí này.

Để tìm hiểu cách sử dụng Imagen 3 trong ứng dụng, hãy đọc bước Imagen 3 để tạo hình ảnh bên dưới.
Bạn cũng có thể thêm các tính năng AI tạo sinh thông qua tính năng tích hợp phần phụ trợ:

  • Genkit là một khung nguồn mở giúp đơn giản hoá việc phát triển, triển khai và giám sát các ứng dụng dựa trên AI.
  • Đối với các nhu cầu nâng cao hơn về MLOps, Vertex AI của Google Cloud đã cung cấp các dịch vụ được quản lý toàn diện cũng như nhiều mô hình thông qua Khu vườn mô hình Vertex AI. Bạn cũng có thể sử dụng khoản tín dụng Google Cloud để thanh toán mọi chi phí cho các dịch vụ này.


Nếu muốn chạy quy trình suy luận AI trên thiết bị ngoài Gemini Nano, bạn cũng có thể thử nghiệm với LiteRT và MediaPipe:
  • LiteRT (trước đây là TFLite) là môi trường thời gian chạy hiệu suất cao của Google dành cho AI trên thiết bị, được thiết kế để thực thi hiệu quả các mô hình học máy ngay trên thiết bị.
  • MediaPipe là một khung nguồn mở cho phép nhà phát triển xây dựng quy trình học máy để xử lý dữ liệu đa phương tiện, chẳng hạn như video và âm thanh, theo thời gian thực.


Để tìm hiểu thêm về các sản phẩm Android GenAI, hãy truy cập vào mục AI trong tài liệu Android.
SDK AI Edge của Google cho phép các nhà phát triển ứng dụng Android tích hợp và thử nghiệm các tính năng GenAI trên thiết bị của Gemini Nano để nâng cao ứng dụng của họ. Sau đây là cách bắt đầu:
  • Tham gia nhóm Google aicore-experimental
  • Chọn tham gia chương trình thử nghiệm Android AICore
    Sau khi bạn hoàn tất các bước này, tên ứng dụng AICore trên Cửa hàng Play (trong phần quản lý ứng dụng và thiết bị) sẽ thay đổi từ "Android AICore" thành "Android AICore (Beta)".
  • Làm theo các bước sau để đảm bảo rằng tệp APK và tệp nhị phân được tải xuống đúng cách trên thiết bị của bạn.
  • Sau đó, hãy cập nhật cấu hình Gradle của ứng dụng bằng cách thêm phần phụ thuộc sau: implementation("com.google.ai.edge.aicore:aicore:0.0.1-exp01")
    Và nhớ đặt mục tiêu SDK tối thiểu thành 31.
implementation("com.google.ai.edge.aicore:aicore:0.0.1-exp01")
Tiếp theo, bạn có thể định cấu hình mô hình để kiểm soát các phản hồi của mô hình. Việc này liên quan đến việc cung cấp ngữ cảnh và tuỳ ý đặt các tham số sau:

  • Nhiệt độ: kiểm soát mức độ ngẫu nhiên. Giá trị càng cao thì kết quả đầu ra càng đa dạng.
  • Top K: chỉ định số lượng mã thông báo có thứ hạng cao nhất được xem xét để tạo đầu ra.
  • Số lượng đề xuất: đặt số lượng câu trả lời tối đa sẽ được trả về.
  • Max Output Tokens (Mã thông báo đầu ra tối đa): đặt độ dài tối đa của phản hồi.
val generationConfig = generationConfig {
  context = ApplicationProvider.getApplicationContext()
  temperature = 0.2f
  topK = 16
  maxOutputTokens = 256
}
Tạo một hàm downloadCallback không bắt buộc. Hàm callback này dùng để tải mô hình xuống. Phương thức này cũng trả về các thông báo có thể dùng cho mục đích gỡ lỗi. Tạo đối tượng `GenerativeModel` bằng cách sử dụng cấu hình tải xuống không bắt buộc và tạo mà bạn đã tạo trước đó.
val downloadConfig = DownloadConfig(downloadCallback)
val generativeModel = GenerativeModel(
  generationConfig = generationConfig,
  downloadConfig = downloadConfig // optional
)
Cuối cùng, hãy chạy quy trình suy luận bằng cách truyền câu lệnh của bạn vào mô hình. Đảm bảo rằng GenerativeModel.generateContent() nằm trong phạm vi coroutine thích hợp, vì đây là một hàm tạm ngưng.

Trong bối cảnh một ứng dụng chuẩn bị bữa ăn mẫu, Gemini Nano có thể cung cấp nguồn cảm hứng cho bữa ăn bằng cách đề xuất nhiều loại món ăn và bữa ăn khác với nhật ký bữa ăn.
scope.launch {
  val input = "Suggest different types of cuisines and easy to cook dishes that are not $recentMealList"
  val response = generativeModel.generateContent(input)
  print(response.text)
}
Mô hình Gemini Nano có giới hạn tối đa về số lượng mã thông báo đầu vào là 12.000. Để tìm hiểu thêm về quyền truy cập thử nghiệm Gemini Nano, hãy chuyển đến phần Gemini Nano trong tài liệu Android.

Gemini thông qua Vertex AI trong Firebase

Khi tận dụng Vertex AI trong Firebase, bạn có thể xây dựng các tính năng dựa trên AI tạo sinh bằng cách sử dụng các mô hình Gemini Cloud, tất cả đều được triển khai và quản lý liền mạch trong hệ sinh thái Firebase.

dependencies {
...
// Import the BoM for the Firebase platform
implementation(platform("com.google.firebase:firebase-bom:"))

// Add the dependency for the Vertex AI in Firebase library
// When using the BoM, you don't specify versions in Firebase
// library dependencies
implementation("com.google.firebase:firebase-vertexai")
}
Bắt đầu bằng cách thử nghiệm các câu lệnh trong Vertex AI Studio. Đây là một giao diện tương tác để thiết kế câu lệnh và tạo nguyên mẫu. Bạn có thể tải tệp lên để kiểm thử câu lệnh bằng văn bản và hình ảnh, đồng thời lưu câu lệnh để xem lại sau.

Khi bạn đã sẵn sàng gọi API Gemini từ ứng dụng, hãy thiết lập Firebase và SDK bằng cách làm theo hướng dẫn trong Hướng dẫn bắt đầu sử dụng Vertex AI in Firebase.

Sau đó, hãy thêm phần phụ thuộc Gradle vào dự án của bạn:

val generativeModel = Firebase.vertexAI
  .generativeModel(
  "gemini-2.0-flash",
  generationConfig = generationConfig {
        responseMimeType = "application/json"
        responseSchema = jsonSchema
  }
    )
Giờ đây, bạn có thể gọi Gemini API từ mã Kotlin. Trước tiên, hãy khởi chạy dịch vụ Vertex AI và tạo một thực thể `GenerativeModel`:
scope.launch {
  val response = model.generateContent("
    Create a shopping list with $cuisineStyle ingredients")
}
Trong trường hợp ứng dụng công thức nấu ăn mẫu, Gemini 2.0 Flash có thể tạo danh sách mua sắm gồm các nguyên liệu để nấu một bữa ăn theo phong cách ẩm thực cụ thể. Bạn thậm chí có thể yêu cầu mô hình tạo một chuỗi JSON có thể dễ dàng được phân tích cú pháp trong ứng dụng để hiển thị vào giao diện người dùng. Để tạo danh sách, bạn chỉ cần gọi hàm `generateContent()` với một lời nhắc văn bản.

Xem hướng dẫn dành cho nhà phát triển Android để tìm hiểu thêm về tính năng này.

Imagen 3 để tạo hình ảnh

Bạn có thể truy cập Imagen 3 thông qua Vertex AI in Firebase để tích hợp liền mạch tính năng tạo hình ảnh vào ứng dụng Android. Là mô hình tạo hình ảnh tiên tiến nhất của Google, Imagen 3 tạo ra hình ảnh chất lượng cao với độ chi tiết đáng kể, ít hiện tượng giả tạo và hiệu ứng ánh sáng chân thực, đặt ra một tiêu chuẩn mới trong việc tạo hình ảnh.

Ví dụ: Imagen 3 có thể cho phép người dùng tạo hình đại diện hồ sơ của riêng họ hoặc tạo thành phần để minh hoạ luồng màn hình hiện có. Ví dụ: đối với ứng dụng chuẩn bị bữa ăn, bạn có thể sử dụng Imagen 3 để tạo hình ảnh cho màn hình công thức nấu ăn.

Hình ảnh do Imagen 3 tạo ra theo câu lệnh: Hình minh hoạ theo phong cách hoạt hình về tổng quan trên cùng của một mặt bàn bếp với các nguyên liệu đẹp mắt cho một bữa ăn Địa Trung Hải.
dependencies {
    implementation(platform("com.google.firebase:firebase-bom:33.10.0"))

    implementation("com.google.firebase:firebase-vertexai")
}
Việc tích hợp Imagen 3 cũng tương tự như việc truy cập vào mô hình Gemini thông qua Vertex AI in Firebase.

Bắt đầu bằng cách thêm các phần phụ thuộc Gradle vào dự án Android:
val imageModel = Firebase.vertexAI.imagenModel(
modelName = "imagen-3.0-generate-001",
generationConfig = ImagenGenerationConfig(
  imageFormat = ImagenImageFormat.jpeg(compresssionQuality = 75),
  addWatermark = true,
  numberOfImages = 1,
  aspectRatio = ImagenAspectRatio.SQUARE_1x1
)
Sau đó, trong mã Kotlin, hãy tạo một thực thể `ImageModel` bằng cách truyền tên mô hình và tuỳ ý truyền cấu hình mô hình:
val imageResponse = imageModel.generateImages(
prompt = "A cartoon style illustration of a top overview of a kitchen countertop
  with beautiful ingredients for a $cuisineStyle meal."
)
Cuối cùng, hãy tạo hình ảnh bằng cách gọi `generateImages()` với câu lệnh dạng văn bản:
val image = imageResponse.images.first()
val uiImage = image.asBitmap()
Truy xuất hình ảnh được tạo từ "imageResponse" và hiển thị dưới dạng bitmap:
Bạn có thể đọc thêm về cách sử dụng Imagen 3 trong blog dành cho nhà phát triển Android và trong tài liệu dành cho nhà phát triển Android.

Chuẩn bị sẵn sàng cho bản phát hành chính thức bằng Firebase

Sau khi bạn triển khai các tính năng genAI trong ứng dụng, sau đây là một số bước quan trọng tiếp theo trước khi triển khai ứng dụng vào môi trường thực tế: Ngoài ra, hãy lưu ý đến quyền riêng tư của người dùng và việc sử dụng AI một cách có trách nhiệm, đồng thời minh bạch với người dùng về hành vi không mong muốn có thể xảy ra của mô hình. Hãy đọc bài đăng trên blog sau đây để tìm hiểu thêm về việc sẵn sàng cho môi trường sản xuất bằng Vertex AI in Firebase.