Android

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

ตอนนี้กูเกิลแก้ปัญหานี้แล้ว โดยอนุญาตให้แอพหนึ่งตัว สามารถอัพโหลดไฟล์ APK ขึ้นไปได้หลายไฟล์ตามการใช้งาน จากนั้นตัว Market จะช่วยเลือกไฟล์ที่เหมาะกับอุปกรณ์ของผู้ใช้ให้เอง

คนที่พัฒนาแอพบน Android ก็ตามไปอ่านรายละเอียดวิธีการตั้งค่ากันเองนะครับ

ที่มา - Android Developers Blog

Hiring! บริษัทที่น่าสนใจ

KKP Dime company cover
KKP Dime
KKP Dime บริษัทในเครือเกียรตินาคินภัทร
KBTG - KASIKORN Business-Technology Group company cover
KBTG - KASIKORN Business-Technology Group
KBTG - "The Technology Company for Digital Business Innovation"
LTMH TECH company cover
LTMH TECH
LTMH TECH มุ่งเน้นการพัฒนาผลิตภัณฑ์ที่สามารถช่วยพันธมิตรของเราให้บรรลุเป้าหมาย

ถ้าจะแก้ที่ต้นเหตุต้องลดความต่างของอุปกรณ์ลง

แล้วถ้าทำอย่างนั้นก้อจะกลายเปนระบบปิด

และถ้าเปนอย่างนั้นก้อจะไม่ใช่ android ล่ะครับ

ผมว่า สิ่งหลักๆก็มีเรื่องความละเอียดจอนั่นแหละ

น่าจะกำหนดมาเลยซัก 4 ขนาด รุ่นเล็ก กลาง ใหญ่ แท็บเลท แล้วกำหนดให้ให้สัดส่วนจอเหมือนกันให้หมด

ทุกวันนี้มันออกมาหลายขนาดเหลือเกิน ขนาดไม่ได้เป็น dev เห็นแล้วยังปวดกระบาลแทนเลย

Meow-Meow Fri, 07/22/2011 - 12:50

In reply to by platalay

Google กำหนดขนาดของจอไว้แล้วครับ แบ่งออกเปน รายละเอียดตามนี้ครับ

http://developer.android.com/guide/practices/screens_support.html

แต่ส่วนใหญ่ที่เหนออกกันตอนนี้จะเปน ldpi กับ mdpi กันเสียส่วนใหญ่ xldpi จะเปนพวก tablet ส่วน ldpi จะเปนพวกจอแชท กับพวกความละเอียดต่ำอย่าง SS Galaxy Mini

คือ HW ทุกตัวเป็น Factor หมดเลยครับ ไม่ใช่ความละเอียดหน้าจอ

อย่างใช้ GPU คนละตัวก็จบกันแล้วบางที รันได้บนบางตัว บางตัวเรนเดอร์เพี้ยนซะงั้น

คิดง่าย ๆ ว่าเหมือนบน PC น่ะครับ แค่ไม่หลากหลายเท่า

Nokia ผมว่า fragmentation น้อยกว่า Android นะ
เพราะอย่างโปรแกรมบน s60v5 มันติดได้ตั้งแต่ 5800 ราคาหลักหมื่น
จน 5233 ราคา 4 พัน ใช้ได้หมด cpu ยังเท่ากันเลย 555+ (ประชด Nokia)

แต่ตัว Ovi มีการตรวจชนิดมือถือ มันเหมือนใช้ตรวจว่าอะไรเป็น s60v5 อะไรเป็น Symbian^3 มากกว่า

ข่าวต่อไป : Google จดสิทธิบัตร Market Store อนุญาตให้รองรับชุด package ของ application ได้หลาย package ต่อ 1 app เพื่อรองรับเครื่องของลูกค้าที่มีสถาปัตยกรรมแตกต่างกัน และเลือก package ที่เหมาะสมกับเครื่องให้โดยอัตโนมัติ

แต่อ้าว Apple ไม่มีความจำเป็นต้องทำหลาย package นี่หว่า

gondolaz Sun, 07/24/2011 - 10:53

In reply to by obtheair

อืม.... แต่ผมว่าจดไว้ก่อนเพื่อกันก็ดีนะ (แต่ต้องประกาศมาเลยนะวาจะไม่เอาไปฟ้อง..)
ไม่งั้นเดี๋ยวพี่ๆ เค้าแอบไปจด แล้วเอามาเล่นอีก!!!

ผมคิดว่าเค้าทำแบบนี้ตั้งนานแล้วนะ

เครื่องรุ่นไหนเปิด market เข้าไปจะเจอ app ที่เครื่องตัวเองใช้ได้

ใช้ไม่ได้ก็จะไม่มีทางเปิดเจอ

ต้องเปิดด้วยสิครับ แล้วค่อยบอกว่าไม่รองรับ

ไม่งั้นผู้ใช้จะงงว่า เข้าจากเครื่องเพื่อนเจอ แต่ทำไมเครื่องตัวเองเข้าแล้วไม่เจอ

อันนั้นมันดู compat แล้วให้ใช้ได้เฉพาะเครื่องที่ใช้ได้ครับ แต่ข่าวนี้คือจะให้ developer อัพ .apk แยกกันสำหรับแต่ละรุ่นได้เลย

จริงน่าจะเป็นหน้าที่ของ anDROID ตรวจสอบรุ่นซะก่อนแล้วค่อยให้ดาวน์โหลด(สงสัยความคิดติดมาจาก nexus)

หรือว่าแจ้งรุ่นใดใช้ได้บ้าง รุ่นใดอาจใช้ไม่ได้ก็เปิดโอกาสให้คืนเงินแล้วให้ผู้พัฒนาไปปรับปรุงให้รองรับ หากไม่ปรับปรุงให้ใช้งานก็ขึ้นข้อความว่าไม่แนะนำให้ใช้ น่าจะดีกว่านะ

ไม่อย่างนั้น fragmentation เต็มไปหมด

หรือว่าแจ้งรุ่นใดใช้ได้บ้าง รุ่นใดอาจใช้ไม่ได้ก็เปิดโอกาสให้คืนเงินแล้วให้ผู้พัฒนาไปปรับปรุงให้รองรับ หากไม่ปรับปรุงให้ใช้งานก็ขึ้นข้อความว่าไม่แนะนำให้ใช้ น่าจะดีกว่านะ

มีตั้งนานแล้วครับ

ขอบคุณครับ

ฝั่งผู้ให้บริการ (คนขาย App)หรือว่่าฝั่งผู้ใช้บริการ(คนซื้อ App)ครับ หารายละเอียด เช่น System Requirements ไม่เจอ ต้องไป Function ตรงไหนบ้างครับ โดยเฉพาะ Hardware ภายใน และการรองรับ API เห็นมีแต่ Requires Android รุ่น(Version) ไหน

สรุปแล้วคนมีเครื่องแล้วเลือกได้ว่าแค่รองรับ หรือไม่รอง (This app is compatible with your ?) ใช่ไหมครับที่บอก "มีตั้งนานแล้วครับ" แต่ข้อมูลสำหรับคนที่ต้องการใช้ Application ไว้เลือกเครื่องนั้นๆ โดยเฉพาะคนที่ต้องการอัพ(เปลี่ยน หรือซื้อ)เครื่อง ทาง Android Market ไม่เอื้อใช่ไหมครับ หรือว่าต้องไปทำอย่างไรให้แสดงผลออกมาครับ

จาก

มีตั้งนานแล้วครับ

เลยถามแบบคิดว่าเข้าใจ

ฝั่งผู้ให้บริการ (คนขาย App)หรือว่่าฝั่งผู้ใช้บริการ(คนซื้อ App)ครับ หารายละเอียด เช่น System Requirements ไม่เจอ ต้องไป Function ตรงไหนบ้างครับ โดยเฉพาะ Hardware ภายใน และการรองรับ API เห็นมีแต่ Requires Android รุ่น(Version) ไหน

แต่คาดว่าไม่เข้าใจ สรุปเพิ่ม(เน้น)ไปด้วยว่า

สรุปแล้วคนมีเครื่องแล้วเลือกได้ว่าแค่รองรับ หรือไม่รอง (This app is compatible with your ?) ใช่ไหมครับที่บอก

เรียงใหม่อีกแบบ และเพิ่มเติมได้ว่า

  • ใน Android Market เป็นข้อความ "This app is compatible with your ?" คนมีเครื่องแล้วเลือกได้ว่าแค่รองรับ หรือไม่รอง(ใช่ไหมครับ)

หมายถึง แสดงเฉพาะข้อความว่ารองรับกับเครื่องที่ใช้งานได้(compatible) หรือไม่(incompatible) เพื่อเป็นการเน้นย้ำความเข้าใจในเบื้องตันว่าตรงกันไหม

และ

แต่ข้อมูลสำหรับคนที่ต้องการใช้ Application ไว้เลือกเครื่องนั้นๆ โดยเฉพาะคนที่ต้องการอัพ(เปลี่ยน หรือซื้อ)เครื่อง ทาง Android Market ไม่เอื้อใช่ไหมครับ หรือว่าต้องไปทำอย่างไรให้แสดงผลออกมาครับ

เรียงใหม่อีกแบบ และเพิ่มเติมได้ว่า

  1. แต่ข้อมูลสำหรับคนที่ต้องการใช้ Application ไว้
  2. เลือกเครื่องนั้นๆ โดยเฉพาะคนที่ต้องการอัพ(เปลี่ยน หรือซื้อ)เครื่อง ทาง Android Market ไม่เอื้อใช่ไหมครับ หรือว่าต้องไปทำอย่างไรให้แสดงผลออกมาครับ

หมายถึง เลือก Appplication ก่อน แล้วเลือกเครื่องใหม่สำหรับกรณีที่ไม่สามารถปรับปรุงให้รองรับ เป็นรายละเอียดที่ต้องการทราบเพิ่มเติมว่าสามารถแสดงรายละเอียดมากกว่า "This app is compatible with your ?" (มีนัยว่ารองรับ)และอีกข้อความ(ที่มีนัยว่าไม่รองรับ) ไหม

เนื่องจาก

  • ถ้าใช้ได้จะแสดงแค่ This app is compatible with your ? ทางด้านซ้าย
  • และ Requires Android ทางด้านขวา

ป.ล. ? คือ ชื่อ Operator และ Model ใดๆ ที่ใช้งานอย่างเดียว ไม่ใช่ที่ Application ใช้งานได้(Compatible List) หรือใช้งานไม่ได้(Incompatible List)

ครับ

ขอใช้เป็นพื้นที่เก็บลิงค์ภายนอกนะครับ(เอาไว้ดูกันลืม)

http://www.adobe.com/flashplatform/certified_devices/

https://wiki.mozilla.org/Mobile/Platforms/Android#System_Requirements

เอาเป็นว่า พิมพ์ใหม่เลยดีกว่า

ให้ Android Market แจ้งรุ่นใดใช้ได้บ้าง(แบบเดียวกับลิงค์ภายนอกใน Reply หรืออื่นๆ)แบบ Flash Player กับ Firefox โดยที่ไม่ต้องเข้าไปใน Web ผู้ผลิต Application ต้องจัดการอย่างไร หรือไป Setting(ตั้งค่า) ตรงไหนใน Android Market หรือว่าใน Web ของ Android Market ในมันแสดงออกมาครับ(เพราะฝั่งผู้ซื้อเดิมๆไม่ได้ตั้งค่าอะไร มองเห็นแต่ชื่อเครือข่ายกับรุ่นที่ใช้อยู่เท่านั้น)

เอ่อ ... ใน Engine ของ Market จะแสดง Compatibility กับเครื่องของ User ไว้ด้วยครับ ถ้าไม่ Support กันจะไม่ให้ติดตั้งครับ(นอกเสียจากว่า user จะไปหา apk มาลงเอง

การทำ apk แยกกันยากนะครับ สำหรับ java เพราะต้องแยก source ไว้คนละที่กันไม่สามารถใช้ร่วมกันได้เลย เวลาแก้ไข ก็จะกลายเป็นต้องแก้ตามจำนวนที่แยกไว้

เขียนโปรแกรมให้ตรวจสอบรุ่นแล้วแยกใช้ class ของแต่ละรุ่นง่ายกว่าครับ

Apple
public://topics-images/apple_webp.png
SCB10X
public://topics-images/347823389_774095087711602_515970870797767330_n_webp.png
Windows 11
public://topics-images/hero-bloom-logo.jpg
Doom
public://topics-images/doom_logo.png
Huawei
public://topics-images/huawei_standard_logo.svg_.png
Threads
public://topics-images/threads-app-logo.svg_.png
Google Keep
public://topics-images/google_keep_2020_logo.svg_.png
Fortnite
public://topics-images/fortnitelogo.svg_.png
Instagram
public://topics-images/instagram_logo_2022.svg_.png
SCB
public://topics-images/9crhwyxv_400x400.jpg
Microsoft
public://topics-images/microsoft_logo.svg_.png
Basecamp
public://topics-images/bwpepdi0_400x400.jpg
Tinder
public://topics-images/hwizi8ny_400x400.jpg
FTC
public://topics-images/seal_of_the_united_states_federal_trade_commission.svg_.png
Pinterest
public://topics-images/pinterest.png
Palantir
public://topics-images/-nzsuc6w_400x400.png
AIS Business
public://topics-images/logo-business-2021-1.png
PostgreSQL
public://topics-images/images.png
JetBrains
public://topics-images/icx8y2ta_400x400.png
Krungthai
public://topics-images/aam1jxs6_400x400.jpg
Palworld
public://topics-images/mccyhcqf_400x400.jpg
Bill Gates
public://topics-images/bill_gates-september_2024.jpg
VMware
public://topics-images/1nj4i1gp_400x400.jpg
Take-Two Interactive
public://topics-images/0khle7nh_400x400.jpg
OpenAI
public://topics-images/ztsar0jw_400x400.jpg
Thailand
public://topics-images/flag_of_thailand.svg_.png
NVIDIA
public://topics-images/srvczsfq_400x400.jpg
ServiceNow
public://topics-images/ytnrfphe_400x400.png
PS5
public://topics-images/playstation_5_logo_and_wordmark.svg_.png
Klarna
public://topics-images/urcllpjp_400x400.png
Google Play
public://topics-images/play.png
Drupal
public://topics-images/drupal.png
Virtua Fighter
public://topics-images/virtua_figther_2024_logo.png
Paradox Interactive
public://topics-images/paradox_interactive_logo.svg_.png
Europa Universalis
public://topics-images/europa-icon.png
Nintendo Switch 2
public://topics-images/mainvisual.png
Cloudflare
public://topics-images/cloudflare_logo.svg_.png
Samsung
public://topics-images/samsung.png
Google
public://topics-images/google_2015_logo.svg_.png
Uber
public://topics-images/uber.png
Microsoft 365
public://topics-images/m365.png
USA
public://topics-images/flag_of_the_united_states.svg_.png
GM
public://topics-images/0pe0po-z_400x400.jpg
Perplexity
public://topics-images/perplex.jpg
Xperia
public://topics-images/xperia.png
iOS 18
public://topics-images/ios-18-num-96x96_2x.png
True
public://topics-images/true_logo.png
SoftBank
public://topics-images/softbank.jpg
Pac-Man
public://topics-images/pacman.png
Harry Potter
public://topics-images/harry.png
Marvel
public://topics-images/marvel.png
Skydance
public://topics-images/skydance.png
SEA
public://topics-images/sealogo.png
Find My Device
public://topics-images/find.png
Gemini
public://topics-images/google_gemini_logo.svg__1.png
Accessibility
public://topics-images/accessibility-128x128_2x.png
Material Design
public://topics-images/m3-favicon-apple-touch.png
Android 16
public://topics-images/android16.png
Android
public://topics-images/android_0.png
Firefox
public://topics-images/firefox_logo-2019.svg_.png