Author: GooGig

Android : java.lang.IllegalArgumentException: Mutation of _data is not allowed.

Error Messages นี้บอกว่าไม่อนุญาตให้แก้ไข “_data” ซึ่งพอไล่โค้ดแล้วพบว่าเกิดขึ้นเมื่อรันโค้ดบรรทัดนี้ ContentValues contentValues = new ContentValues(); contentValues.put(MediaStore.Images.Media.DISPLAY_NAME, str); contentValues.put(MediaStore.Images.Media.MIME_TYPE, str2); contentValues.put(MediaStore.Images.Media.DATE_ADDED, System.currentTimeMillis() / 1000); contentValues.put(MediaStore.Images.Media.DATE_TAKEN, System.currentTimeMillis()); contentValues.put(MediaStore.Images.Media.DATA, file2.getAbsolutePath()); //– write into MediaStore –// context2.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues); บรรทัดสีแดงคือตัวปัญหา พบว่าตั้งแต่ Android 29 ขึ้นมาจะไม่อนุญาตให้แก้ไข...

Android: Missing classes detected while running R8

เกิด Error Messages ในขณะที่ทำการสร้าง APK file. โดยมีข้อความดังนี้ Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in <FOLDER>/<PROJECT>/app/build/outputs/mapping/release/missing_rules.txt. ให้เราเปิดไฟล์ missing_rules.txt ที่สร้างถูกสร้างขึ้นมา ในตัวอย่างนี้ข้อความในไฟล์แสดงดังนี้ # Please...

Android : How to pass parameter into class extends AsyncTask

ปกติเวลาเราต้องการโหลดข้อมูลจากเซิร์ฟเวอร์ เราจะสร้างการเชื่อมต่อแบบ AsyncTask ไว้ใน Activity class or Fragment class เช่น จากตัวอย่าง url ที่ส่งเข้ามาจาก getDataFromServer() จะนำมาใช้ที่ protected String doInBackground ในที่นี้คือ params[0] สมมติว่าโค้ดมันยาวเราอยากจะย้าย AsyncTask ออกไปจาก Activity or Fragment เราก็ไปสร้าง class ไฟล์ใหม่ได้ เช่น New->Java Class-> LoadData.java ดังตัวอย่าง...

Android : Caused by: java.lang.ClassNotFoundException: com.android.tools.lint.client.api.Vendor

ใช้ Android Studio สร้าง APK file แล้วเกิด Error messages ประมาณ “Caused by: java.lang.ClassNotFoundException: com.android.tools.lint.client.api.Vendor” โดยมี Error ฉบับเต็มประมาณนี้ Could not load custom lint check jar file /Users/tonyrich/.gradle/caches/transforms-3/c200ac22d419ea2f987b972fa499a113/transformed/jetified-startup-runtime-1.1.1/jars/lint.jarjava.lang.NoClassDefFoundError: com/android/tools/lint/client/api/Vendorat androidx.startup.lint.StartupRuntimeIssueRegistry.(StartupRuntimeIssueRegistry.kt:37)at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)at java.base/java.lang.Class.newInstance(Class.java:584)at...

Android : INSTALL_PARSE_FAILED_MANIFEST_MALFORMED when update targetSdkVersion to 31 or more (android 12)

ปัจจุบันตอนนี้ Android 12 (API version 31 and above) ออกมาใช้งานจริงแล้ว เมื่อเราทำการอัพเดท Android App โดยการกำหนด “targetSdkVersion” = 31 และปรับค่า compileSdkVersion = 31 แล้วทดลองรันโปรแกรม ปรากฎว่าเกิด error message ดังนี้ The application could not be installed: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED Installation failed...

PHP: file_get_contents() failed with SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

ต่อเนื่องจากโพสก่อนหน้าเกี่ยวกับ Error file_get_contents() ที่มีการดึงข้อมูลจากเว็บไซต์ที่ใช้โปรโตคอล “HTTPS” ปัญหานี้เป็นอีกกรณีที่อาจพบเจอได้ ในโพสนี้ขอสรุปวิธีการแก้ไขเลยแล้วกันครับ สำหรับข้อความ Error ที่เจอดังข้างล่าง Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed การแก้ไขให้เราเพิ่มโค้ดก่อนเรียกใช้ file_get_contents() ดังนี้ จากตัวอย่างเราสร้าง array เพื่อเก็บค่า ssl , verify_peer,...