Education KCNBRAND.COM Blog

Android : How to check File Exists in MediaStore via URI

อีกวิธีการในการตรวจสอบไฟล์หากว่าเรามีไฟล์ในรูปแบบ URI (content://…) เราสามารถใช้ URI มาค้นหาว่ามีไฟล์ตาม URI นี้จริงหรือไม่ โดยในตัวอย่างเป็นฟังก์ชันที่ส่งค่า content uri เข้ามาแล้วตอบกลับด้วยผลลัพธ์ตรรกะ (Boolean) ดังนี้ private boolean chkImgUri(Uri in_imgUri) { boolean res; ContentResolver cr = getContentResolver(); String[] projection = {MediaStore.MediaColumns.DATA}; Cursor cur = cr.query(Uri.parse(in_imgUri.toString()), projection,...

Android : How to query file name from MediaStore

MediaStore เป็นพื้นที่จัดเก็บข้อมูลมัลติมีเดีย เช่น รูปภาพ เสียง วิดิโอ เป็นต้น โดยจัดเก็บในรูปแบบ content URI (content://… ) ซึ่งจะไม่ได้อยู่ในชื่อไฟล์แบบทั่วๆไป หากเราต้องการจะค้นหาไฟล์ด้วยการใช้ MedisStore Query เราสามารถทำได้ดังนี้ ในตัวอย่างสร้างฟังก์ชันการค้นหา โดยการใส่ชื่อไฟล์ลงไป แล้วตอบกลับด้วยผลลัพธ์เป็นตรรกะ (Boolean) ดังนี้ private boolean chkFilefromMediaStore(String in_filename) { String path, filename; try (Cursor cursor =...

Android : how to set Text in TabLayout items by Programming

การเปลี่ยนชื่อ Tab items ที่สร้างอยู่ภายใน TabLayout แบบพื้นฐานทั่วไปคือ ไปกำหนดใน XML layout ที่สร้างไว้ ดังตัวอย่าง <com.google.android.material.tabs.TabLayout android:id=”@+id/tabs_main” android:layout_width=”match_parent” android:layout_height=”wrap_content” app:tabIndicatorColor=”@color/white” app:tabIndicatorHeight=”4dp”> <com.google.android.material.tabs.TabItem android:id=”@+id/tabItem” android:layout_width=”wrap_content” android:layout_height=”wrap_content” android:text=”tab-name1″ /> <com.google.android.material.tabs.TabItem android:id=”@+id/tabItem2″ android:layout_width=”wrap_content” android:layout_height=”wrap_content” android:text=”tab-name2″ /> <com.google.android.material.tabs.TabItem android:id=”@+id/tabItem3″ android:layout_width=”wrap_content” android:layout_height=”wrap_content” android:text=”tab-name3″...

Android 10 : Crash for abc_screen_simple: Error inflating class

วันนี้มาพร้อมกับอีกหนึ่งปัญหาที่เกิดขึ้นกับ Android 10 ไม่สามารถรัน Activity ได้สำเร็จแล้วก็ Crash พร้อมกับขึ้น Logcat Error ว่า java.lang.RuntimeException: Unable to start activity android.view.InflateException: Binary XML file line #17 in ir.mahdi.circulars:layout/abc_screen_simple: Error inflating class androidx.appcompat.widget.FitWindowsLinearLayout ซึ่ง Android 10 จะ Crash ตั้งแต่ก่อนสร้าง...

Android 10 : Can’t create directory in External Storage

ปี 2020 นี้ android 10 เริ่มมีผู้ใช้มากขึ้น และตัว android 10 เองก็มีการพัฒนาเพิ่มคุณสมบัติต่างๆรวมถึงความปลอดภัยด้วย ดังนั้นแอปปลิเคชันเดิมที่เคยทำงานได้บน android 4.x – android 9 อาจเจอปัญหาแอปฯทำงานผิดปกติบน Android 10 ได้ หนึ่งในปัญหาที่พบบ่อยเมื่อรันบน Android 10 นั่นคือ ไม่สามารถสร้างไฟล์ หรือไดเรกทอรี บน Internal Storage or External Storage (/storage/emulated/0) เดิมเรามักจะสร้างไดเรกทอรีของแอปปลิเคชันด้วยการเรียกใช้...

Android : How to get country code from android devices

สำหรับวันนี้เราจะหารหัสประเทศ (Country code) จากอุปกรณ์แอนดรอย์กัน โดยเบื้องต้นเราสามารถค้นหาได้จาก 2 ทางคือ ตรวจสอบจากภาษาที่กำหนด (Locale) ว่าใช้ภาษาอะไร แล้วก็แปลงเป็นรหัสประเทศแต่วิธีการนี้อาจไม่ตรงนัก เพราะสมมติเราอยู่ประเทศไทยแต่กำหนดภาษาเป็น English/US เราก็จะได้ค่าเป็น “US” แทน แต่ก็สามารถประยุกต์เอาไปใช้ว่าเก็บสถิติการใช้งานตาม Locale ก็ได้ ซึ่งมีการเรียกใช้โค้ดดังนี้ String locale = context.getResources().getConfiguration().locale.getCountry(); 2. ตรวจสอบจากบริการบนอุปกรณ์​(TELEPHONY SERVICE) โดยเราสามารถเรียกใช้คำส่ังได้ดังนี้ 2. ตรวจสอบจากบริการบนอุปกรณ์​(TELEPHONY SERVICE) โดยเราสามารถเรียกใช้คำส่ังได้ดังนี้ TelephonyManager tm...