มาดูtextclassifierไลบรารีของ Android Jetpack กัน โดยเฉพาะที่classifyTextAPI ที่สามารถสร้าง Intent ต่างๆ ตามการป้อนข้อความ
เราจะสร้างแอปพลิเคชัน Android อย่างง่ายที่รับข้อความเป็นอินพุตและแสดงการกระทำ/ความตั้งใจที่เหมาะสมสำหรับอินพุตนั้น
คุณสามารถรับรหัสได้ที่นี่: https://github.com/hanmajid/yggr-medium-source-code/tree/master/classify-text .
กับandroidx.textclassifier's classifyTextAPI คุณได้อย่างง่ายดายสามารถสร้างเจตนาที่เหมาะสมขึ้นอยู่กับประเภทของการป้อนข้อความ ดูภาพด้านล่างเพื่อดูการทำงานของ API นี้
ขึ้นอยู่กับประเภทของข้อความที่ผู้ใช้ป้อน API นี้สามารถสร้าง Intent ที่ใช้กันทั่วไปสำหรับอินพุตนั้น ตัวอย่างเช่นถ้าใส่ข้อความเป็นอีเมลจะสร้าง intents สำหรับการส่งอีเมลใหม่และเพิ่มอีเมลเป็นผู้ติดต่อ
ต่อไปนี้คือประเภทการป้อนข้อความทั้งหมดที่ใช้ใน API นี้ โดยมีจุดประสงค์ที่สอดคล้องกัน:
TYPE_ADDRESS → ความตั้งใจที่จะเปิดที่อยู่ในแอปพลิเคชั่นแผนที่TYPE_DATE → ตั้งใจเปิดวันที่ในแอพพลิเคชั่นปฏิทินTYPE_DATE_TIME→ ตั้งใจที่จะเปิดวันที่และกำหนดตารางเวลาในแอปพลิเคชันปฏิทิน และเพื่อสร้างสัญญาณเตือนใหม่TYPE_EMAIL → ตั้งใจที่จะส่งอีเมลไปยังที่อยู่อีเมลและเพิ่มที่อยู่อีเมลเป็นผู้ติดต่อTYPE_FLIGHT_NUMBER → ความตั้งใจที่จะติดตามหมายเลขเที่ยวบินTYPE_OTHER → ความตั้งใจที่จะแปลข้อความTYPE_PHONE → ตั้งใจจะโทรไปที่เบอร์ ส่งข้อความหาเบอร์แล้วเพิ่มเบอร์เป็นผู้ติดต่อTYPE_URL → ความตั้งใจที่จะเปิด URL ในแอปพลิเคชันเบราว์เซอร์
หากคุณต้องการสร้างแอปนี้ตั้งแต่เริ่มต้น ให้ทำตามขั้นตอนเหล่านี้
1. เปิด Android Studio สร้างโปรเจ็กต์ใหม่ด้วยตัวเลือก "Empty Activity"
2. เพิ่มการพึ่งพาเหล่านี้ลงในapp/build.gradleไฟล์
ที่นี่ เรากำลังเพิ่มtextclassifierห้องสมุดและlifecycle-runtimeห้องสมุดด้วย เพราะคุณจะเห็นในภายหลัง เราต้องการใช้ coroutine ในกิจกรรมของเรา
3. มาสร้างเลย์เอาต์กันก่อน สำหรับactivity_main.xmlเราต้องการเพิ่มช่องป้อนข้อมูล ปุ่ม และ RecyclerView เพื่อแสดงรายการการกระทำ เรายังต้องสร้างเค้าโครงสำหรับรายการของ RecyclerView เพื่อแสดงถึงการกระทำ ( item_action.xml) นี่คือลักษณะและรหัสของพวกเขา:
4. ตอนนี้สร้างไฟล์ Kotlin ใหม่ที่เรียกว่าRemoteActionListAdapter.ktอะแดปเตอร์ของ RecyclerView คุณสามารถคัดลอกวางไฟล์สำหรับตอนนี้ สิ่งที่คุณต้องรู้คืออะแดปเตอร์นี้จะรับรายการRemoteActionCompatเป็นอินพุตและแสดงใน RecylerView RemoteActionCompatเป็นคลาสในไลบรารีหลักของ AndroidX ที่แสดงถึงการกระทำ/เจตนา เราจะได้รายการนี้ในขั้นตอนต่อไป
5. สุดท้ายเรามาอัปเดตไฟล์MainActivity.kt. หากผู้ใช้คลิกที่ปุ่ม "สร้างการดำเนินการ" เราจะเรียกclassifyTextAPI และรับTextClassificationอินสแตนซ์ สังเกตว่าเราจำเป็นต้องเรียกclassifyTextจากเธรดที่ไม่ใช่ UI ดังนั้นเราจึงใช้ coroutine ผ่านlifecycleScope.launchที่นี่ และสุดท้าย เราได้รับรายการการดำเนินการโดยโทรtextClassification.actionsและส่งไปยังรายการอะแดปเตอร์
ที่นี่เรายังเรียกgetConfidenceScoreข้อความป้อนแต่ละประเภทและแสดงให้ผู้ใช้เห็น
6. แค่นั้นแหละ! คุณสามารถเรียกใช้แอพในอุปกรณ์ของคุณและควรทำงานดังนี้:
ขอบคุณที่อ่าน!
รายละเอียดห้องสมุด:
คำแนะนำทีละขั้นตอนในการโยกย้ายจาก Dagger ไปยัง Hilt ในโครงการหลายโมดูล โครงสร้างโครงการ เพื่อให้เห็นภาพโครงการ ประกอบด้วยโมดูลหลายโมดูล NetworkModule, StorageModule, CommonModule, FeatureModule เป็นต้น
Google เพิ่งอัปเดตแอปแป้นพิมพ์ Gboard สำหรับ Android เพื่อรวมเค้าโครงใหม่ที่ปรับให้เหมาะกับแท็บเล็ต เมื่อเช้านี้ฉันสังเกตเห็นว่าฉันมีปัญหาในการพิมพ์ และเมื่อตรวจสอบเพิ่มเติม ฉันพบว่าแป้นพิมพ์ถูกเปลี่ยน
เมื่อคุณโตขึ้น คุณมักจะได้รับการบอกว่าโลกเป็นอย่างที่มันเป็น และชีวิตของคุณก็แค่ใช้ชีวิตอยู่ในโลก ไม่เสี่ยงชีวิต แค่เดินตามเส้นทางที่กำหนดและตายในที่สุด และพยายามอย่า ทุบกำแพงมากเกินไป แต่นั่นเป็นชีวิตที่จำกัดมาก
เมื่อเร็วๆ นี้ฉันใช้ Linkedin ซึ่งเป็นโซเชียลเน็ตเวิร์กระดับมืออาชีพที่ใหญ่ที่สุดในโลก และพบโพสต์จากนักออกแบบอิสระที่ฉันติดตามซึ่งดึงดูดความสนใจของฉัน พวกเขาทั้งหมดโพสต์ภาพถ่ายจากบนเครื่องบิน บนชายหาดพร้อมแล็ปท็อป จากสระว่ายน้ำ และสำนักงานที่มีทิวทัศน์สวยงาม
เมื่อคุณส่งคำขอไปที่ facebook.com คอมพิวเตอร์ของคุณจะค้นหาชื่อโดเมนเพื่อแปลชื่อโดเมนนั้นเป็นที่อยู่ IP เพื่อให้คอมพิวเตอร์ของคุณสามารถเชื่อมต่อได้
หลังเที่ยงคืน Hayden ขับรถพา Katie กลับไปที่หอพักของวิทยาลัยหลังจากพวกเขาอยู่ด้วยกันในตอนเย็น เธอมีเรียนแต่เช้าและไม่มีเสื้อผ้าเปลี่ยนอีกหลังจากค้างกับเขาเมื่อคืนก่อน