iT邦幫忙

2021 iThome 鐵人賽

DAY 27
0
AI & Data

AI Facial Expression Recognition: Data, Model, Application系列 第 27

[Day 27] Android Studio 七日隕石開發:又到了開啟相簿的季節

前言

昨天我們成功開啟相機並且回傳相片,但我還沒設定要回傳到哪,
今天我一樣要在不設定回傳到哪的情況下(有夠不負責任的啦!),
先來實現開啟相簿的功能。


昨天:開啟相機

import android.provider.MediaStore
findViewById<Button>(R.id.btn_photo).setOnClickListener {
    //建立一個相片的 Intent 物件
    val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
    startActivityForResult(intent, 0)
}

今天:開啟相簿

findViewById<Button>(R.id.btn_album).setOnClickListener {
    //建立一個要進行影像獲取的 Intent 物件
    val intent = Intent(Intent.ACTION_GET_CONTENT).setType("image/*")

    startActivityForResult(intent, 1) //發送 Intent
}

解說

昨天我們監聽btn_photo的單次點擊事件,
用來開啟相機(ACTION_IMAGE_CAPTURE),
並且回傳照片(startActivityForResult(intent, 0))。

今天我們監聽btn_album的單次點擊事件,
用來開啟相簿(ACTION_GET_CONTENT)
並且回傳照片(startActivityForResult(intent, 1))。

這邊要特別注意了

相機回傳的結果是requestCode:0
相機回傳的結果是requestCode:1
這樣才能讓程式分辨這張照片是從哪裡來的,
要這樣做的原因是: 兩個不同來源的相片要用不同的處理方式再丟入模型!


上一篇
[Day 26] Android Studio 七日隕石開發:噓! 我正在監聽這個元件
下一篇
[Day 28] Android Studio 七日隕石開發:把 tflite 模型放進 app
系列文
AI Facial Expression Recognition: Data, Model, Application30

尚未有邦友留言

立即登入留言