Education KCNBRAND.COM Blog
หลังจากกำหนด targetSdkVersion 30 ปรากฎว่าแอปปลิเคชันเปิดแล้วปิดตัวทันที ลองไปตรวจสอบใน Logcat พบว่ามีเพียงข้อความ error A/libc: fdsan: attempted to close file descriptor 86, expected to be unowned แต่พอเปลี่ยน targetSdkVersion 29 กลับสามารถทำงานได้ปกติ เลยสืบค้นจนพบว่า Error ที่เกิดขึ้น นั่นเกี่ยวกับการใช้ <pl.droidsonroids.gif.GifTextView android:layout_width=”match_parent” android:layout_height=”match_parent” android:background=”@drawable/image” /> พบว่าถ้ารูปภาพที่โหลดไม่ใช่...
MacOS
by
GooGig
· Published March 23, 2021
บน MACOS มีโปรแกรม NUMBERS ที่เราใช้แทนโปรแกรม EXCEL บน MS Windows โดยการใช้งานทั่วไปจะคล้ายคลึงกัน วันนี้เราจะมาพูดถึงฟังก์ชันที่มีประโยชน์ตัวหนึ่ง ที่เราใช้ในการอ้างถึงข้อมูลในช่องตาราง โดยหากเราต้องการเอาค่าล่าสุดของแต่ละคอลัมธ์ เราสามารถเรียกใช้ฟังก์ชัน INDEX โดยมีรูปแบบดังนี้ INDEX(<COLUMN NAME>,COUNTA(<COLUMN NAME>)) โดยผลลัพธ์คือ การแสดงข้อมูลในคอลัมธ์ที่ระบุ ด้วยการนับจำนวนคอลัมธ์ผ่านฟังก์ชัน COUNTA() แต่จำนวนคอลัมธ์ที่นับได้ไม่ได้รวม Heading Column เพราะฉะนั้นถ้าเรามี Heading Column อยู่ 1 บรรทัด เราต้อง +...
วันนี้เรามีอีกวิธีในการตรวจสอบว่าแอปฯของเราอยู่ในสถานะทำงานอยู่ (foreground) หรือถูกปิดหรือย่อให้อยู่เบื้องหลัง (Background) โดยวิธีนี้เราจะเรียกใช้ Lifecycle Observer ที่มากับ androidx (androidx.lifecycle.OnLifecycleEvent) ตรวจจับการทำงานของ Event ของแอปฯ การเรียกใช้เราประกาศครั้งเดียวตอนเปิดแอปฯ แล้วตัว lifecycle จะคอยจับ event ให้เรา ดังนี้ public class MainApp extends AppCompatActivity implements LifecycleObserver { … @Override protected void onCreate(Bundle savedInstanceState)...
เคยประสบปัญหาโดน Google Rejected App ด้วยเหตุผลว่า “Violation of Interfering with Apps, Third-party Ads, or Device Functionality policy” หรือ แบบง่ายๆคือ การแสดงโฆษณาขึ้นมาหลังจากที่ปิดแอปฯ หรือย่อแอปฯ หรือภายนอกแอปฯ นั่นเอง ซึ่งจากที่ทดสอบมา สมมติว่าขณะที่แอปกำลังโหลดโฆษณา (Interstitial Ads) อยู่แล้วเราทำการกดปุ่ม Home เพื่อย่อแอปฯไปเบื้องหลัง ซึ่งในความเป็นจริงแล้วแอปฯ ก็ยังทำงานอยู่ในเบื้องหลัง (Background) นั่นเอง เพราะฉะนั้นเมื่อโหลดโฆษณาเสร็จ...
วันนี้เราจะมารู้จักฟังก์ชันใน mysql query เพื่อใช้ในการค้นหาข้อความ หรือ คำ ในฐานข้อมูล เพื่อนำไปใช้ตามวัตถุประสงค์ต่างๆ ซึ่งมีฟังก์ชันที่เกี่ยวข้องคือ instr() ฟังก์ชันที่ใช้ในการค้นหาตำแหน่งเร่ิมต้นของตัวอักษร ,คำ, หรือประโยคที่เราสนใจ ซึ่งมีรูปแบบการเรียกใช้ดังนี้ instr(Source String, Search String) Source String = ประโยคหรือข้อความตั้งต้นที่เราจะใช้ในการค้นหา Search String = คำหรือข้อความที่เราต้องการค้นหา 2. substr() ฟังก์ชันที่ใช้ในการตัดคำ หรือข้อความออกมาจาก String substr(Source String, index...
วันนี้เราจะมาหาขนาดของหน้าจอกัน ซึ่งจำเป็นมากหากแอปปลิเคชันของเราต้องรองรับการทำงานแบบ Multi-Window หรือ รองรับการทำงานแบบหมูนหน้าจอ (Rotate Orientation) ซึ่งเราต้องปรับแต่งโครงสร้างของแอปให้เหมาะกับการทำงานด้วย วิธีการที่หาขนาดหน้าจอมีหลายวิธีด้วยกัน แต่วิธีที่แนะนำในวันนี้ใช้งานได้ดี เท่าที่ทดสอบมา ดังนี้ DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics); ScreenWidth = metrics.widthPixels; ScreenHeight = metrics.heightPixels; เพียงเท่านี้เราก็จะได้ขนาดหน้าจอทั้ง กว้าง และยาวครับ ซึ่งเมื่อเราทำการหมุนจอเป็นแบบ Landscape ขนาด กว้าง x ยาว ก็จะสลับที่กัน...