ข่าวดีของนักพัฒนาแอพบน Android Market ที่ต้องทำแอพรองรับอุปกรณ์หลายๆ ชนิด ซึ่งในบางกรณีแต่ละรุ่นใช้งานแอพไฟล์เดียวกันไม่ได้ ทำให้ต้องแยกแอพออกเป็นหลายๆ รุ่นตามอุปกรณ์แต่ละตัว (ดูตัวอย่างคีย์บอร์ด TSwipe หรือตัวอย่างที่พบบ่อยคือแยกรุ่นมือถือ-แท็บเล็ต) ซึ่งก็มีข้อเสียคือชวนให้ผู้ใช้สับสนไม่น้อย
ตอนนี้กูเกิลแก้ปัญหานี้แล้ว โดยอนุญาตให้แอพหนึ่งตัว สามารถอัพโหลดไฟล์ APK ขึ้นไปได้หลายไฟล์ตามการใช้งาน จากนั้นตัว Market จะช่วยเลือกไฟล์ที่เหมาะกับอุปกรณ์ของผู้ใช้ให้เอง
คนที่พัฒนาแอพบน Android ก็ตามไปอ่านรายละเอียดวิธีการตั้งค่ากันเองนะครับ
ที่มา - Android Developers Blog




Comments
เป็นอีกหนึ่งความพยายามแก้ fragmentation
ที่ปลายเหตุน่ะ...แต่ก็ฉลาดดีเนอะ :)
ถ้าจะแก้ที่ต้นเหตุต้องลดความต่างของอุปกรณ์ลง
แล้วถ้าทำอย่างนั้นก้อจะกลายเปนระบบปิด
และถ้าเปนอย่างนั้นก้อจะไม่ใช่ android ล่ะครับ
I have your six!!!
ผมว่า สิ่งหลักๆก็มีเรื่องความละเอียดจอนั่นแหละ
น่าจะกำหนดมาเลยซัก 4 ขนาด รุ่นเล็ก กลาง ใหญ่ แท็บเลท แล้วกำหนดให้ให้สัดส่วนจอเหมือนกันให้หมด
ทุกวันนี้มันออกมาหลายขนาดเหลือเกิน ขนาดไม่ได้เป็น dev เห็นแล้วยังปวดกระบาลแทนเลย
Google กำหนดขนาดของจอไว้แล้วครับ แบ่งออกเปน รายละเอียดตามนี้ครับ
http://developer.android.com/guide/practices/screens_support.html
แต่ส่วนใหญ่ที่เหนออกกันตอนนี้จะเปน ldpi กับ mdpi กันเสียส่วนใหญ่ xldpi จะเปนพวก tablet ส่วน ldpi จะเปนพวกจอแชท กับพวกความละเอียดต่ำอย่าง SS Galaxy Mini
I have your six!!!
คือ HW ทุกตัวเป็น Factor หมดเลยครับ ไม่ใช่ความละเอียดหน้าจอ
อย่างใช้ GPU คนละตัวก็จบกันแล้วบางที รันได้บนบางตัว บางตัวเรนเดอร์เพี้ยนซะงั้น
คิดง่าย ๆ ว่าเหมือนบน PC น่ะครับ แค่ไม่หลากหลายเท่า
PC มันมีพวก Direct X เป็นตัวกลางไรแบบนี้เปล่าอะครับ
มีพวก OpenGL ES ครับ
"Microsoft is doing a terrific job of pissing off it's existing customer base to chase the sliver that is the tablet market." - William Topping
ทำเป็นโนเกียไปได้ 555+
ดีใจจัง ค้นแล้วเจอเลย
Nokia ผมว่า fragmentation น้อยกว่า Android นะ เพราะอย่างโปรแกรมบน s60v5 มันติดได้ตั้งแต่ 5800 ราคาหลักหมื่น จน 5233 ราคา 4 พัน ใช้ได้หมด cpu ยังเท่ากันเลย 555+ (ประชด Nokia)
แต่ตัว Ovi มีการตรวจชนิดมือถือ มันเหมือนใช้ตรวจว่าอะไรเป็น s60v5 อะไรเป็น Symbian^3 มากกว่า
"เลือกไฟล์ที่เหมาะกับอุปกรณ์ของผู้ใช้ให้เอง"
แจ่ม
ดี File จะได้ไม่ใหญ่ ทุกวันนี่ต้องทำ Content หลายsizeเหลือเกินเพื่อให้รอบรับทุกๆอุปกรณ์ ดีแล้ว =v=)b like +1
EnRi Studio
ข่าวต่อไป : Google จดสิทธิบัตร Market Store อนุญาตให้รองรับชุด package ของ application ได้หลาย package ต่อ 1 app เพื่อรองรับเครื่องของลูกค้าที่มีสถาปัตยกรรมแตกต่างกัน และเลือก package ที่เหมาะสมกับเครื่องให้โดยอัตโนมัติ
แต่อ้าว Apple ไม่มีความจำเป็นต้องทำหลาย package นี่หว่า
อืม.... แต่ผมว่าจดไว้ก่อนเพื่อกันก็ดีนะ (แต่ต้องประกาศมาเลยนะวาจะไม่เอาไปฟ้อง..) ไม่งั้นเดี๋ยวพี่ๆ เค้าแอบไปจด แล้วเอามาเล่นอีก!!!
Walk Keep Right!!! ร่วมรณรงค์เดินชิดขวา | http://ehhcrub.blogspot.com/
ผมคิดว่าเค้าทำแบบนี้ตั้งนานแล้วนะ
เครื่องรุ่นไหนเปิด market เข้าไปจะเจอ app ที่เครื่องตัวเองใช้ได้
ใช้ไม่ได้ก็จะไม่มีทางเปิดเจอ
ฉันไม่รู้ เธออธิบายที เธอไม่รู้ ฉันไล่เธอไปGoogle หึหึ
ต้องเปิดด้วยสิครับ แล้วค่อยบอกว่าไม่รองรับ
ไม่งั้นผู้ใช้จะงงว่า เข้าจากเครื่องเพื่อนเจอ แต่ทำไมเครื่องตัวเองเข้าแล้วไม่เจอ
อันนั้นมันดู compat แล้วให้ใช้ได้เฉพาะเครื่องที่ใช้ได้ครับ แต่ข่าวนี้คือจะให้ developer อัพ .apk แยกกันสำหรับแต่ละรุ่นได้เลย
+1 เหมือนที่เราเคยคิด "จะให้ทำให้รองรับทุกเครื่องนี่ บางทีทำคนละแอพเลยน่าจะง่ายกว่า"
Reply นี้สีสวยจัง ~!!!
จริงน่าจะเป็นหน้าที่ของ anDROID ตรวจสอบรุ่นซะก่อนแล้วค่อยให้ดาวน์โหลด(สงสัยความคิดติดมาจาก nexus)
หรือว่าแจ้งรุ่นใดใช้ได้บ้าง รุ่นใดอาจใช้ไม่ได้ก็เปิดโอกาสให้คืนเงินแล้วให้ผู้พัฒนาไปปรับปรุงให้รองรับ หากไม่ปรับปรุงให้ใช้งานก็ขึ้นข้อความว่าไม่แนะนำให้ใช้ น่าจะดีกว่านะ
ไม่อย่างนั้น fragmentation เต็มไปหมด
มีตั้งนานแล้วครับ
my disclaimer
ขอบคุณครับ
ฝั่งผู้ให้บริการ (คนขาย App)หรือว่่าฝั่งผู้ใช้บริการ(คนซื้อ App)ครับ หารายละเอียด เช่น System Requirements ไม่เจอ ต้องไป Function ตรงไหนบ้างครับ โดยเฉพาะ Hardware ภายใน และการรองรับ API เห็นมีแต่ Requires Android รุ่น(Version) ไหน
สรุปแล้วคนมีเครื่องแล้วเลือกได้ว่าแค่รองรับ หรือไม่รอง (This app is compatible with your ?) ใช่ไหมครับที่บอก "มีตั้งนานแล้วครับ" แต่ข้อมูลสำหรับคนที่ต้องการใช้ Application ไว้เลือกเครื่องนั้นๆ โดยเฉพาะคนที่ต้องการอัพ(เปลี่ยน หรือซื้อ)เครื่อง ทาง Android Market ไม่เอื้อใช่ไหมครับ หรือว่าต้องไปทำอย่างไรให้แสดงผลออกมาครับ
ผมพยายามจะตอบแต่อ่านที่คุณเขียนไม่เข้าใจน่ะครับ ขอทวนคำถามใหม่อีกรอบครับ
my disclaimer
จาก
เลยถามแบบคิดว่าเข้าใจ
แต่คาดว่าไม่เข้าใจ สรุปเพิ่ม(เน้น)ไปด้วยว่า
เรียงใหม่อีกแบบ และเพิ่มเติมได้ว่า
หมายถึง แสดงเฉพาะข้อความว่ารองรับกับเครื่องที่ใช้งานได้(compatible) หรือไม่(incompatible) เพื่อเป็นการเน้นย้ำความเข้าใจในเบื้องตันว่าตรงกันไหม
และ
เรียงใหม่อีกแบบ และเพิ่มเติมได้ว่า
หมายถึง เลือก Appplication ก่อน แล้วเลือกเครื่องใหม่สำหรับกรณีที่ไม่สามารถปรับปรุงให้รองรับ เป็นรายละเอียดที่ต้องการทราบเพิ่มเติมว่าสามารถแสดงรายละเอียดมากกว่า "This app is compatible with your ?" (มีนัยว่ารองรับ)และอีกข้อความ(ที่มีนัยว่าไม่รองรับ) ไหม
เนื่องจาก
ป.ล. ? คือ ชื่อ Operator และ Model ใดๆ ที่ใช้งานอย่างเดียว ไม่ใช่ที่ Application ใช้งานได้(Compatible List) หรือใช้งานไม่ได้(Incompatible List)
ครับ
ขอใช้เป็นพื้นที่เก็บลิงค์ภายนอกนะครับ(เอาไว้ดูกันลืม)
http://www.adobe.com/flashplatform/certified_devices/
https://wiki.mozilla.org/Mobile/Platforms/Android#System_Requirements
ขอโทษที่ตอบช้า แต่ผมอ่านอันนี้แล้วก็ยังไม่เข้าใจอยู่ดีน่ะครับ
my disclaimer
เอาเป็นว่า พิมพ์ใหม่เลยดีกว่า
ให้ Android Market แจ้งรุ่นใดใช้ได้บ้าง(แบบเดียวกับลิงค์ภายนอกใน Reply หรืออื่นๆ)แบบ Flash Player กับ Firefox โดยที่ไม่ต้องเข้าไปใน Web ผู้ผลิต Application ต้องจัดการอย่างไร หรือไป Setting(ตั้งค่า) ตรงไหนใน Android Market หรือว่าใน Web ของ Android Market ในมันแสดงออกมาครับ(เพราะฝั่งผู้ซื้อเดิมๆไม่ได้ตั้งค่าอะไร มองเห็นแต่ชื่อเครือข่ายกับรุ่นที่ใช้อยู่เท่านั้น)
เอ่อ ... ใน Engine ของ Market จะแสดง Compatibility กับเครื่องของ User ไว้ด้วยครับ ถ้าไม่ Support กันจะไม่ให้ติดตั้งครับ(นอกเสียจากว่า user จะไปหา apk มาลงเอง
I have your six!!!
ครับ
การทำ apk แยกกันยากนะครับ สำหรับ java เพราะต้องแยก source ไว้คนละที่กันไม่สามารถใช้ร่วมกันได้เลย เวลาแก้ไข ก็จะกลายเป็นต้องแก้ตามจำนวนที่แยกไว้
เขียนโปรแกรมให้ตรวจสอบรุ่นแล้วแยกใช้ class ของแต่ละรุ่นง่ายกว่าครับ
จะได้ไม่มีปัญหาโหลดผิดรุ่น มือถือ / tablet มั่งครับ
^^
ผมว่าหลักๆ คงเอาไว้แยก api version ล่ะมั้งครับ ดูจะจำเป็นที่สุดละ