Android: Data exceeds UNCOMPRESS_DATA_MAX


Android: Data exceeds UNCOMPRESS_DATA_MAX

วันนี้มาเริ่มเขียนแอนดรอยทั้งวันเลยมีเรื่องให้คุยเกี่ยวกับแอนดรอยทั้งวันเช่นกัน โดยบทความนี้จะมาว่ากันเรื่องของการโหลดไฟล์ในโฟลเดอร์ asset ที่มีขนาดมากกว่า 1 เมก เนื่องจากระบบของแอนดรอยเวอร์ชั่นต่ำกว่า 2.3 ไม่อนุญาติให้โหลดไฟล์จากโฟลเดอร์ asset ที่มีขนาดใหญ่กว่า 1 เมกได้ ใครติดปัญหาเหมือนกันมาดูวิธีแก้ไขปัญหากันดีกว่า

วิธีแก้ไขที่ง่ายๆ ก็คือ เปลี่ยนนามสกุลไฟล์ เป็นนามสกุลที่ aapt (Android Asset Packaging Tool) รองรับ ได้แก่

<pre>/* these formats are already compressed, or don't compress well */
static const char* kNoCompressExt[] = {
    ".jpg", ".jpeg", ".png", ".gif",
    ".wav", ".mp2", ".mp3", ".ogg", ".aac",
    ".mpg", ".mpeg", ".mid", ".midi", ".smf", ".jet",
    ".rtttl", ".imy", ".xmf", ".mp4", ".m4a",
    ".m4v", ".3gp", ".3gpp", ".3g2", ".3gpp2",
    ".amr", ".awb", ".wma", ".wmv"
};</pre>

เช่นไฟล์ mydatabase.db  มีขนาด 2 เมก เขียนโปรแกรมก็อปไฟล์จาก asset แบบธรรมดาไม่ได้ เมื่อเปลี่ยนเป็น mydatabase.smf (ตัวอย่างเปล่ียนนามสกุลไฟล์) ก็สามารถก็อปปี้ไฟล์ได้ปกติ เห็นมั้ยครับเป็นวิธีที่ง่ายๆ มากเลย แต่นามสกุลไฟล์อาจจะไม่ตรงตามต้องการ

เป็นวิธีแก้ไขที่ทำได้ง่ายมากเลยใช่มั้ยครับ แต่หากอยากจะรู้ลึกกว่านี้ก็ลองอ่านจากลิ้งอ้างอิงดูนะ และเขาก็บอกอีกว่าในเวอร์ชั่น 2.3 นั้นกฏนี้ได้ถูกตัดออกไปแล้ว ดังนั้นใครที่พัฒนาบนเวอร์ชั่น 2.3 หรือสูงกว่า นี้ไม่ต้องห่วงเรื่องนี้อีก

Reference

 

 

adaydesign :)

About adaydesign

นักพัฒนาแอพพลิเคชั่นบนโมบาย [iPhone Android] คนหนึ่งซึ่งอยากจะบันทึกเรื่องราวของเส้นทางนักพัฒนาโมบายแอพพลิเคชั่นเอาไว้ในบล็อคน้อยๆ แห่งนี้ เผื่อจะแบ่งบันและแลกเปลี่ยนความรู้ให้กับคนอื่นๆ ได้บ้าง :) Mobile Application Developer; Flash Mobile, iPhone/iPad, Android Mobile Phone/Tablet and Blackberry Playbook.

Posted on กรกฎาคม 18, 2011, in [Dev] Android and tagged , . Bookmark the permalink. ใส่ความเห็น.

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

%d bloggers like this: