อธิบายด้วยภาพดีกว่า ครับ มาสเตอร์ ต้องการ ให้คลิกที่ภาพ
และ ไปเลือก แอพที่จะเปิดรูปได้ก่อน
จากตัวอย่างใช้ Gallery
เลือกรูปที่ต้องการ และ เอามาแสดงที่ ImageView แบบนี้
เรามาเริ่มสร้างก้นครับ
ประกาศตัวแปร ของ ImageView
มาสเตอร์ ต้องการความเป็น Private เพื่อให้ เมธอด ทุกๆ ต้วใน Activitiy สามารถใช้งานได้ครับ
มาสเตอร์ ทำการแยกเมธอดออกไป และ Initial View ไปผูกกับ ImageView และ Get OnClickListener
สร้าง ออฟเจ็ค intent ให้ ACTION_GET_CONTENT คือการย้ายการทำงานไปทำในแอพอื่น และนำผลลัพธ์ ที่แอพอื่นทำ กลับมา ที่ onActivityResult
คลิกขวา ในคลาส (นอกเมธอดทุกตัวนะ) ให้ Override Methods
Create onActivityResult ออกมาครับ
ก็คือ เมธอดที่จะทำงาน หลังจากที่เราเลือกภาพ ใน Gallery ได้แล้ว
มาสเตอร์ ไปประกาศตัวแปร Uri เพื่อรับค่าจาก Action Get Intent ได้ครับ
มาสเตอร์ If Statement เพื่อหาเงื่อนไขในการ เลือกรูปว่า สำเร็จหรือเปล่าโดยดูที่ ตัวแปร resultCode
โดยดูว่า resultCode มีค่าเท่ากับ RESULT_OK หรือเปล่า
มาสเตอร์ ใส่ Try Catch Statement ป้องกัน แอพแคซ
ใส่โค้ดการสร้าง Bitmap เข้าไป และไปแสดงใน ImageView
ในมือถือบางเครื่องมีการเก็บภาพไว้ใน Sd Card ไปขออนุญาติ อ่านจาก AndroidManiFest ด้วย
ปรับ targetSdk มาเป็น 22 หลบ ซิคิวรีตี่ ของ 23 และลองทดสองโค้ดบนเครื่องจริงนะครับ
เรียบร้อยโรงเรียนมาสเตอร์