Tagged: android

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 : 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...

Android : Clear Android App JVM with System.exit helping OutOfMemoryError

ในปัจจุบันคอมพิวเตอร์หรือมือถือสมาร์ทโฟน มีสมรรถนะของเครื่องสูงมากขึ้น ทำให้การสร้างแอปปลิเคชันไม่ต้องกังวลเรื่องของทรัพยากรมากนัก แต่ทว่าผู้ใช้บริการแอปปลิเคชันทั่วโลก ไม่ได้สามารถเปลี่ยนคอมพิวเตอร์หรือมือถือสมาร์ทโฟนเป็นรุ่นใหม่ได้ทั้งหมด หากไล่ดูสถิติรายงานใน Google Play Android version usage แล้ว จะพบว่ายังมีผู้ใช้บริการแอปปลิเคชันที่ยังใช้เครื่องรุ่นเก่า ปัจจุบันที่พบคือ Android Version 4.x (API 14 – 19) ซึ่งเปิดตัวตั้งแต่ปี 2011 – 2013 (นับถอยไป 7 – 9 ปีก่อนหน้า) นั่นหมายความว่า สมรรถะเครื่องและทรัพยากรของเครื่องจะน้อยกว่าปัจจุบันมาก หากเรายังต้องการให้ผู้ใช้บริการเหล่านี้สามารถใช้ได้ การพัฒนาอาจจำเป็นต้องคำนึงถึงการใช้ทรัพยากรของเครื่องด้วย...