Xamarin.Forms dan Pengenalan Azure Cognitive Services
Microsoft Cognitive Services adalah sekumpulan API, SDK, dan layanan yang tersedia bagi pengembang untuk membuat aplikasi mereka lebih cerdas dengan menambahkan fitur seperti pengenalan wajah, pengenalan ucapan, dan pemahaman bahasa. Artikel ini menyediakan pengenalan aplikasi sampel yang menunjukkan cara memanggil beberapa API Microsoft Cognitive Service.
Gambaran Umum
Sampel yang menyertainya adalah aplikasi daftar todo yang menyediakan fungsionalitas untuk:
- Menampilkan daftar tugas.
- Tambahkan dan edit tugas melalui keyboard lunak, atau dengan melakukan pengenalan ucapan dengan Microsoft Speech API.
- Tugas pemeriksaan ejaan menggunakan Bing Spell Check API. Untuk informasi selengkapnya, lihat Pemeriksaan Ejaan menggunakan Bing Spell Check API.
- Terjemahkan tugas dari bahasa Inggris ke Bahasa Jerman menggunakan API Penerjemah. Untuk informasi selengkapnya, lihat Terjemahan Teks menggunakan API Penerjemah.
- Menghapus tugas.
- Atur status tugas ke 'selesai'.
Peringatan
Bing Speech API tidak digunakan lagi demi Azure Speech Service. Untuk sampel yang didedikasikan untuk Azure Speech Service, lihat Pengenalan ucapan dengan API Layanan Ucapan.
Tugas disimpan dalam database SQLite lokal. Untuk informasi selengkapnya tentang menggunakan database SQLite lokal, lihat Bekerja dengan Database Lokal.
TodoListPage
ditampilkan ketika aplikasi diluncurkan. Halaman ini menampilkan daftar tugas apa pun yang disimpan dalam database lokal, dan memungkinkan pengguna untuk membuat tugas baru atau menilai aplikasi:
Item baru dapat dibuat dengan mengklik tombol + , yang menavigasi ke TodoItemPage
. Halaman ini juga dapat dinavigasi dengan memilih tugas:
memungkinkan TodoItemPage
tugas dibuat, diedit, diperiksa ejaannya, diterjemahkan, disimpan, dan dihapus. Pengenalan ucapan dapat digunakan untuk membuat atau mengedit tugas. Ini dicapai dengan menekan tombol mikrofon untuk mulai merekam, dan dengan menekan tombol yang sama untuk kedua kalinya untuk menghentikan perekaman, yang mengirim rekaman ke Bing Speech Recognition API.
Memahami anatomi aplikasi
Proyek kode bersama untuk aplikasi sampel terdiri dari lima folder utama:
Folder | Tujuan |
---|---|
Model | Berisi kelas model data untuk aplikasi. Ini termasuk TodoItem kelas , yang memodelkan satu item data yang digunakan oleh aplikasi. Folder ini juga menyertakan kelas yang digunakan untuk memodelkan respons JSON yang dikembalikan dari API Microsoft Cognitive Service yang berbeda. |
Repositori | ITodoItemRepository Berisi antarmuka dan TodoItemRepository kelas yang digunakan untuk melakukan operasi database. |
Layanan | Berisi antarmuka dan kelas yang digunakan untuk mengakses API Microsoft Cognitive Service yang berbeda, bersama dengan antarmuka yang digunakan oleh DependencyService kelas untuk menemukan kelas yang mengimplementasikan antarmuka dalam proyek platform. |
Utils | Timer Berisi kelas , yang digunakan oleh AuthenticationService kelas untuk memperbarui token akses JWT setiap 9 menit. |
Tampilan | Berisi halaman untuk aplikasi. |
Proyek kode bersama juga berisi beberapa file penting:
File | Tujuan |
---|---|
Constants.cs | Kelas Constants , yang menentukan kunci API dan titik akhir untuk API Microsoft Cognitive Service yang dipanggil. Konstanta kunci API memerlukan pembaruan untuk mengakses API Cognitive Service yang berbeda. |
App.xaml.cs | Kelas App bertanggung jawab untuk membuat instans halaman pertama yang akan ditampilkan oleh aplikasi di setiap platform, dan TodoManager kelas yang digunakan untuk memanggil operasi database. |
Paket NuGet
Aplikasi sampel menggunakan paket NuGet berikut:
Newtonsoft.Json
– menyediakan kerangka kerja JSON untuk .NET.PCLStorage
– menyediakan satu set API IO file lokal lintas platform.sqlite-net-pcl
– menyediakan penyimpanan database SQLite.Xam.Plugin.Media
– menyediakan pengambilan foto lintas platform dan memilih API.
Selain itu, paket NuGet ini juga menginstal dependensi mereka sendiri.
Membuat model data
Aplikasi sampel menggunakan TodoItem
kelas untuk memodelkan data yang ditampilkan dan disimpan dalam database SQLite lokal. Contoh kode berikut menunjukkan TodoItem
kelas :
public class TodoItem
{
[PrimaryKey, AutoIncrement]
public int ID { get; set; }
public string Name { get; set; }
public bool Done { get; set; }
}
Properti ID
ini digunakan untuk mengidentifikasi setiap TodoItem
instans secara unik, dan didekorasi dengan atribut SQLite yang menjadikan properti kunci primer yang ditambahkan secara otomatis dalam database.
Memanggil operasi database
Kelas TodoItemRepository
menerapkan operasi database, dan instans kelas dapat diakses melalui App.TodoManager
properti . Kelas ini TodoItemRepository
menyediakan metode berikut untuk memanggil operasi database:
- GetAllItemsAsync – mengambil semua item dari database SQLite lokal.
- GetItemAsync – mengambil item tertentu dari database SQLite lokal.
- SaveItemAsync – membuat atau memperbarui item di database SQLite lokal.
- DeleteItemAsync – menghapus item yang ditentukan dari database SQLite lokal.
Implementasi proyek platform
Folder Services
dalam proyek kode bersama berisi IFileHelper
antarmuka dan IAudioRecorderService
yang digunakan oleh DependencyService
kelas untuk menemukan kelas yang mengimplementasikan antarmuka dalam proyek platform.
Antarmuka IFileHelper
diimplementasikan oleh FileHelper
kelas di setiap proyek platform. Kelas ini terdiri dari satu metode, GetLocalFilePath
, yang mengembalikan jalur file lokal untuk menyimpan database SQLite.
Antarmuka IAudioRecorderService
diimplementasikan oleh AudioRecorderService
kelas di setiap proyek platform. Kelas ini terdiri dari StartRecording
metode , StopRecording
, dan pendukung, yang menggunakan API platform untuk merekam audio dari mikrofon perangkat dan menyimpannya sebagai file wav. Di iOS, AudioRecorderService
menggunakan AVFoundation
API untuk merekam audio. Di Android, AudioRecordService
menggunakan AudioRecord
API untuk merekam audio. Pada Platform Windows Universal (UWP), AudioRecorderService
menggunakan AudioGraph
API untuk merekam audio.
Memanggil layanan kognitif
Aplikasi sampel memanggil Microsoft Cognitive Services berikut:
- Microsoft Speech API. Untuk informasi selengkapnya, lihat Pengenalan Ucapan menggunakan Microsoft Speech API.
- Bing Spell Check API. Untuk informasi selengkapnya, lihat Pemeriksaan Ejaan menggunakan Bing Spell Check API.
- Terjemahkan API. Untuk informasi selengkapnya, lihat Terjemahan Teks menggunakan API Penerjemah.