ระดับ API: 13
Android 3.2 (HONEYCOMB_MR2
) เป็นรุ่นแพลตฟอร์มที่ค่อยๆ เพิ่มขึ้น
สำหรับผู้ใช้และนักพัฒนาซอฟต์แวร์ ส่วนต่างๆ ด้านล่างจะแสดงภาพรวม
ฟีเจอร์ใหม่และ API ของนักพัฒนาซอฟต์แวร์
สำหรับนักพัฒนาซอฟต์แวร์ แพลตฟอร์ม Android 3.2 มีให้บริการเป็น คอมโพเนนต์ที่ดาวน์โหลดได้สำหรับ Android SDK แพลตฟอร์มที่ดาวน์โหลดได้ประกอบด้วย ไลบรารี Android และรูปภาพระบบ รวมถึงชุดสกินโปรแกรมจำลองและ และอีกมากมาย เพื่อเริ่มต้นพัฒนาหรือทดสอบ กับ Android 3.2 ใช้ Android SDK Manager เพื่อดาวน์โหลดแพลตฟอร์มนั้นลงใน SDK ของคุณ
ไฮไลต์ของแพลตฟอร์ม
ฟีเจอร์ใหม่สำหรับผู้ใช้
- การเพิ่มประสิทธิภาพสำหรับแท็บเล็ตที่หลากหลายมากขึ้น
Android 3.2 มีการเพิ่มประสิทธิภาพที่หลากหลายทั่วทั้งระบบ เพื่อให้แน่ใจว่าผู้ใช้ได้รับประสบการณ์ที่ยอดเยี่ยมบนอุปกรณ์แท็บเล็ตหลากหลาย
- การซูมความเข้ากันได้สำหรับแอปที่มีขนาดคงที่
Android 3.2 เปิดตัวโหมดการซูมที่เข้ากันได้ใหม่ซึ่ง ผู้ใช้วิธีใหม่ในการดูแอปที่มีขนาดคงที่ในอุปกรณ์ขนาดใหญ่ โหมดใหม่จะให้ การปรับขนาดระดับพิกเซลแทนการขยาย UI มาตรฐานสำหรับแอปที่ไม่ใช่ ที่ออกแบบมาเพื่อให้ทำงานบนหน้าจอขนาดใหญ่ เช่น บนแท็บเล็ต โหมดใหม่คือ ผู้ใช้เข้าถึงได้จากไอคอนเมนูในแถบระบบ สำหรับแอปที่ต้องการ การรองรับความเข้ากันได้
- การซิงค์สื่อจากการ์ด SD
ในอุปกรณ์ที่รองรับการ์ด SD ผู้ใช้โหลดไฟล์สื่อได้โดยตรงแล้วในตอนนี้ จากการ์ด SD ไปยังแอปที่ใช้การ์ด SD สิ่งอำนวยความสะดวกของระบบทำให้ไฟล์ เข้าถึงได้จากร้านค้าสื่อของระบบ
ฟีเจอร์ใหม่สำหรับนักพัฒนาซอฟต์แวร์
- Extended API สำหรับจัดการการรองรับหน้าจอ
Android 3.2 เปิดตัวส่วนขยายของ API การสนับสนุนหน้าจอของแพลตฟอร์มเพื่อ ให้นักพัฒนามีวิธีเพิ่มเติมในการจัดการ UI ของแอปพลิเคชัน อุปกรณ์ที่ใช้ระบบ Android API นี้ประกอบด้วยตัวระบุทรัพยากรใหม่ ที่ให้คุณควบคุมวิธีการต่างๆ ได้อย่างแม่นยำมากขึ้น แสดงแอปได้ในขนาดต่างๆ กันแทนที่จะอิงตามแบบทั่วๆ ไป หมวดหมู่ขนาด
เพื่อให้แอปขนาดคงที่และแอปที่มีขนาดจำกัดสามารถแสดงผลได้ดีที่สุด รองรับหน้าจอหลายขนาด แพลตฟอร์มนี้ยังมีการซูมใหม่ โหมดความเข้ากันได้ที่แสดงผล UI ในพื้นที่หน้าจอขนาดเล็กลง จากนั้นจึงปรับขนาด UI ให้เต็มพื้นที่บนหน้าจอ ดูข้อมูลเพิ่มเติมเกี่ยวกับ API การสนับสนุนหน้าจอและการควบคุมที่มีให้ โปรดดูหัวข้อด้านล่าง
ภาพรวมของ API
API การสนับสนุนหน้าจอ
Android 3.2 เปิดตัวหน้าจอใหม่ที่รองรับ API ที่ให้คุณได้มากกว่า ควบคุมวิธีแสดงแอปพลิเคชันในหน้าจอขนาดต่างๆ API นี้สร้างขึ้นจาก API การสนับสนุนหน้าจอที่มีอยู่ รวมถึง โมเดลความหนาแน่นของหน้าจอทั่วไป แต่ขยายด้วยความสามารถในการ กำหนดเป้าหมายช่วงหน้าจอที่เฉพาะเจาะจงตามมิติข้อมูล ซึ่งวัดเป็น หน่วยพิกเซลที่ไม่ขึ้นกับความหนาแน่น (เช่น กว้าง 600dp หรือ 720dp) ไม่ใช่ ตามขนาดหน้าจอทั่วไป (เช่น ใหญ่หรือใหญ่)
เมื่อออกแบบ UI ของแอปพลิเคชัน คุณยังใช้แพลตฟอร์มเพื่อทำสิ่งต่อไปนี้ได้ ให้ความหนาแน่นของนามธรรม (ความหนาแน่น) ซึ่งหมายความว่าแอปพลิเคชันไม่ต้อง เพื่อชดเชยความแตกต่างในความหนาแน่นของพิกเซลจริงในอุปกรณ์ต่างๆ คุณ สามารถออกแบบ UI แอปพลิเคชันตามปริมาณแนวนอนหรือแนวตั้ง พื้นที่ว่าง แพลตฟอร์มนี้แสดงปริมาณพื้นที่ว่างโดยใช้ ลักษณะเฉพาะ: smallestWidth, width และ height
- smallestWidth ของหน้าจอคือขนาดขั้นต่ำพื้นฐาน โดยวัดเป็นหน่วยพิกเซล ("dp") ความหนาแน่นอิสระ สำหรับความสูงหน้าจอหรือ ความกว้างจะสั้นกว่าของทั้ง 2 แบบ สำหรับหน้าจอในแนวตั้ง SmallestWidth โดยปกติจะขึ้นอยู่กับความกว้าง ในขณะที่แนวนอนจะอ้างอิงตาม สูงมากๆ ในทุกกรณี ความกว้างที่เล็กที่สุดจะได้มาจากคุณลักษณะคงที่ของ และค่าจะไม่เปลี่ยนแปลงไม่ว่าการวางแนวจะเป็นอย่างไร ความกว้างที่เล็กที่สุด เป็นสิ่งสำคัญสำหรับแอปพลิเคชันเพราะแสดงความกว้างที่สั้นที่สุด ซึ่งจะต้องวาด UI ของแอปพลิเคชัน โดยไม่รวมพื้นที่หน้าจอ สงวนไว้โดยระบบ
- ในทางตรงกันข้าม ความกว้างและความสูงของหน้าจอจะแสดงถึง พื้นที่แนวนอนหรือแนวตั้งปัจจุบันที่มีอยู่สำหรับเลย์เอาต์แอปพลิเคชัน วัดแล้ว ใน "dp" หน่วย โดยไม่รวมพื้นที่หน้าจอที่ระบบจองไว้ ความกว้างและ ความสูงของหน้าจอจะเปลี่ยนไปเมื่อผู้ใช้เปลี่ยนการวางแนวระหว่างแนวนอน และแนวตั้ง
API การสนับสนุนหน้าจอใหม่ออกแบบมาเพื่อช่วยให้คุณจัดการ UI ของแอปพลิเคชัน ตามความกว้างที่เล็กที่สุดของหน้าจอปัจจุบัน คุณยังสามารถจัดการ UI ตามความกว้างหรือความสูงปัจจุบันตามต้องการ สำหรับการใช้งานดังกล่าว API มีเครื่องมือต่อไปนี้
- ตัวระบุทรัพยากรใหม่สำหรับเลย์เอาต์การกำหนดเป้าหมายและแหล่งข้อมูลอื่นๆ ความกว้าง ความกว้าง หรือความสูงขั้นต่ำที่เล็กที่สุด และ
- แอตทริบิวต์ไฟล์ Manifest ใหม่ สำหรับระบุค่าสูงสุดของแอป ช่วงความเข้ากันได้ของหน้าจอ
นอกจากนี้ แอปพลิเคชันยังคงสามารถค้นหาระบบและจัดการ UI และ การโหลดทรัพยากรขณะรันไทม์ เช่นเดียวกับเวอร์ชันก่อนหน้าของแพลตฟอร์ม
และเนื่องจาก API ใหม่ช่วยให้คุณกำหนดเป้าหมายหน้าจอได้โดยตรง ผ่านคุณลักษณะ SmallestWidth ความกว้างและความสูง คุณควรทำความเข้าใจมาตรฐาน ลักษณะของหน้าจอประเภทต่างๆ ตารางด้านล่างแสดง ตัวอย่างที่วัดเป็น "dp" หน่วย
ประเภท | ความหนาแน่น (ทั่วไป) | ขนาด (dp) | ความกว้างน้อยที่สุด (dp) |
---|---|---|---|
หมายเลขโทรศัพท์พื้นฐาน | MDPI | 320x480 | 320 |
แท็บเล็ตขนาดเล็ก/โทรศัพท์ขนาดใหญ่ | MDPI | 480x800 | 480 |
แท็บเล็ตขนาด 7 นิ้ว | MDPI | 600x1024 | 600 |
แท็บเล็ตขนาด 10 นิ้ว | MDPI | 800x1280 | 800 |
ส่วนต่างๆ ด้านล่างจะให้ข้อมูลเพิ่มเติมเกี่ยวกับตัวระบุหน้าจอใหม่ และไฟล์ Manifest สำหรับข้อมูลทั้งหมดเกี่ยวกับวิธีใช้หน้าจอ API การสนับสนุน โปรดดูการสนับสนุนหลายรายการ หน้าจอ
ตัวระบุทรัพยากรใหม่สำหรับการรองรับหน้าจอ
ตัวระบุทรัพยากรใหม่ใน Android 3.2 ช่วยให้คุณกำหนดเป้าหมายเลย์เอาต์ได้ดียิ่งขึ้น สำหรับหน้าจอหลายขนาด คุณใช้ตัวระบุเพื่อสร้างแหล่งข้อมูล ที่ออกแบบมาสำหรับความกว้างขั้นต่ำที่เล็กที่สุด ความกว้างปัจจุบัน หรือ ความสูงปัจจุบัน วัดเป็นความหนาแน่นของพิกเซลอิสระ
โดยเกณฑ์ใหม่มีดังนี้
swNNNdp
— ระบุความกว้างที่เล็กที่สุดขั้นต่ำ ควรใช้ทรัพยากร วัดเป็นหน่วย "dp" หน่วย ดังที่กล่าวไว้ข้างต้น ความกว้างที่เล็กที่สุดของหน้าจอจะคงที่โดยไม่คำนึงถึงการวางแนว ตัวอย่าง:sw320dp
,sw720dp
,sw720dp
wNNNdp
และhNNNdp
— ระบุราคาเสนอต่ำสุด ความกว้างหรือความสูงที่ควรใช้ทรัพยากร โดยวัดเป็น "dp" หน่วย อาส ความกว้างและความสูงของหน้าจอสัมพันธ์กับการวางแนวของ และจะเปลี่ยนเมื่อการวางแนวก็เปลี่ยนไปด้วย ตัวอย่าง:w320dp
,w720dp
,h1024dp
นอกจากนี้ คุณยังสร้างการกำหนดค่าทรัพยากรที่ทับซ้อนกันหลายรายการได้หากจำเป็น ตัวอย่างเช่น คุณสามารถติดแท็กแหล่งข้อมูลบางอย่างเพื่อใช้บนหน้าจอที่กว้างกว่า 480 dp ส่วนอื่นมีความกว้างมากกว่า 600 dp และส่วนอื่นๆ กว้างกว่า 720 dp วันและเวลา การกำหนดค่าทรัพยากรหลายรายการเป็นไปตามเกณฑ์บนหน้าจอหนึ่งๆ ระบบ เลือกการกำหนดค่าที่ใกล้เคียงที่สุด เพื่อการควบคุมที่แม่นยำ ว่าทรัพยากรใดที่โหลดบนหน้าจอหนึ่งๆ คุณสามารถติดแท็กแหล่งข้อมูลด้วย หรือรวมตัวระบุใหม่หรือรวมตัวระบุที่มีอยู่หลายรายการ
ตามมิติข้อมูลทั่วไปที่แสดงก่อนหน้านี้ ต่อไปนี้เป็นตัวอย่างบางส่วนของวิธี ให้ใช้ตัวระบุใหม่ ดังนี้
res/layout/main_activity.xml # For phones res/layout-sw600dp/main_activity.xml # For 7” tablets res/layout-sw720dp/main_activity.xml # For 10” tablets res/layout-w600dp/main_activity.xml # Multi-pane when enough width res/layout-sw600dp-w720dp/main_activity.xml # For large width
แพลตฟอร์มเวอร์ชันเก่าจะไม่สนใจตัวระบุใหม่ คุณจึงสามารถทำสิ่งต่อไปนี้ได้ ผสมผสานตามความจำเป็นเพื่อให้แน่ใจว่าแอปของคุณจะดูดีในทุกอุปกรณ์ ที่นี่ เช่น
res/layout/main_activity.xml # For phones res/layout-xlarge/main_activity.xml # For pre-3.2 tablets res/layout-sw600dp/main_activity.xml # For 3.2 and up tablets
สำหรับข้อมูลทั้งหมดเกี่ยวกับวิธีใช้ตัวระบุใหม่ โปรดดูการใช้ตัวระบุใหม่ เกณฑ์การวัดขนาด
แอตทริบิวต์ใหม่ของไฟล์ Manifest สำหรับความเข้ากันได้กับขนาดหน้าจอ
เฟรมเวิร์กนี้จะมีแอตทริบิวต์ไฟล์ Manifest ของ <supports-screens>
ชุดใหม่ที่ช่วยให้
คุณจัดการการรองรับหน้าจอขนาดต่างๆ ของแอปได้
คุณสามารถระบุหน้าจอขนาดใหญ่และเล็กที่สุดที่แอป
ได้รับการออกแบบให้ทำงานได้ รวมถึงหน้าจอขนาดใหญ่ที่สุดที่ออกแบบมาให้ทำงาน
โดยไม่ต้องใช้หน้าจอใหม่ของระบบ
โหมดความเข้ากันได้ เช่นเดียวกับตัวระบุทรัพยากรที่อธิบายไว้ข้างต้น ฟิลด์
แอตทริบิวต์ไฟล์ Manifest จะระบุช่วงหน้าจอที่แอปพลิเคชันรองรับ
ตามที่ระบุโดย SmallestWidth
แอตทริบิวต์ใหม่ของไฟล์ Manifest สำหรับการรองรับหน้าจอมีดังนี้
android:compatibleWidthLimitDp="numDp"
— นี้ ให้คุณระบุ SmallestWidth สูงสุดที่แอปพลิเคชัน สามารถทำงานโดยไม่ต้องใช้โหมดความเข้ากันได้ หากหน้าจอปัจจุบันใหญ่กว่า ค่าที่ระบุ ระบบจะแสดงแอปพลิเคชันในโหมดปกติแต่ ช่วยให้ผู้ใช้สามารถสลับเป็นโหมดความเข้ากันได้ผ่านการตั้งค่าใน แถบระบบandroid:largestWidthLimitDp="numDp"
— นี้ ให้คุณระบุ SmallestWidth สูงสุดที่แอปพลิเคชัน ได้รับการออกแบบมาให้ทำงานได้ หากหน้าจอปัจจุบันมีขนาดใหญ่กว่าค่าที่ระบุ ระบบจะบังคับให้แอปพลิเคชันอยู่ในโหมดความเข้ากันได้ของหน้าจอ แสดงในหน้าจอปัจจุบันandroid:requiresSmallestWidthDp="numDp"
— นี้ ให้คุณระบุ SmallestWidth ขั้นต่ำที่แอปพลิเคชัน สามารถทำงานได้ ถ้าหน้าจอปัจจุบันมีขนาดเล็กกว่าค่าที่ระบุ ระบบจะ ถือว่าแอปพลิเคชันไม่สามารถทำงานร่วมกับอุปกรณ์ แต่ไม่ได้ป้องกัน ไม่ให้ติดตั้งและเรียกใช้ได้
หมายเหตุ: ปัจจุบัน Google Play ไม่ได้กรอง
แอปที่อิงตามแอตทริบิวต์ใดๆ ข้างต้น การรองรับการกรองจะ
เพิ่มเข้ามาในรุ่นแพลตฟอร์มภายหลัง แอปพลิเคชันที่ต้องใช้
การกรองตามขนาดหน้าจอสามารถใช้ <supports-screens>
ที่มีอยู่
ดูข้อมูลทั้งหมดเกี่ยวกับวิธีใช้แอตทริบิวต์ใหม่ได้ที่การประกาศ ขนาดหน้าจอ
โหมดความเข้ากันได้ของหน้าจอ
Android 3.2 มีโหมดใหม่เกี่ยวกับความเข้ากันได้ของหน้าจอสำหรับแอปพลิเคชันต่างๆ ประกาศอย่างชัดแจ้งว่าไม่รองรับหน้าจอขนาดใหญ่เท่ากับ ที่กำลังใช้งาน "ซูม" แบบใหม่นี้ คือโหมดที่มีการปรับขนาดด้วยพิกเซล แสดงผลแอปพลิเคชันในพื้นที่หน้าจอขนาดเล็กลง จากนั้นปรับขนาดพิกเซลเป็น เต็มหน้าจอปัจจุบัน
โดยค่าเริ่มต้น ระบบจะเสนอโหมดความเข้ากันได้ของหน้าจอเป็นตัวเลือกสำหรับผู้ใช้สำหรับแอป ที่ต้องใช้ ผู้ใช้สามารถเปิดและปิดโหมดซูมโดยใช้ตัวควบคุมที่มี ในแถบระบบ
เนื่องจากโหมดความเข้ากันได้กับหน้าจอใหม่อาจไม่เหมาะสำหรับบางคน แอปพลิเคชัน แพลตฟอร์มจะอนุญาตให้แอปพลิเคชันปิดใช้งานโดยใช้ไฟล์ Manifest เมื่อปิดใช้โดยแอป ระบบจะไม่เสนอ "การซูม" ความสามารถในการใช้งานร่วมกัน โหมดเป็นตัวเลือกสำหรับผู้ใช้เมื่อแอปทำงานอยู่
หมายเหตุ: สำหรับข้อมูลสำคัญเกี่ยวกับวิธีการ หากต้องการควบคุมโหมดความเข้ากันได้ในแอปพลิเคชันของคุณ โปรดอ่านบทความเรื่องโหมดใหม่สำหรับแอปบนหน้าจอขนาดใหญ่ใน Android บล็อกนักพัฒนาซอฟต์แวร์
ความหนาแน่นของหน้าจอใหม่สำหรับทีวี 720p และอุปกรณ์ที่คล้ายกัน
เพื่อตอบสนองความต้องการของแอปพลิเคชันที่ทำงานบนโทรทัศน์ความละเอียด 720p หรือใกล้เคียง
หน้าจอที่มีความหนาแน่นปานกลาง Android 3.2 เปิดตัวความหนาแน่นทั่วไปแบบใหม่
tvdpi
โดยมีค่า dpi โดยประมาณที่ 213 แอปพลิเคชันค้นหาได้
ความหนาแน่นใหม่ใน densityDpi
และสามารถใช้
โปรแกรมตรวจสอบ tvdpi
ใหม่สามารถติดแท็กทรัพยากรสำหรับโทรทัศน์และ
อุปกรณ์ที่คล้ายกัน เช่น
res/drawable-tvdpi/my_icon.png # Bitmap for tv density
โดยทั่วไปแล้ว แอปพลิเคชันไม่ควรต้องใช้งานได้กับความหนาแน่นนี้ สำหรับสถานการณ์ต่างๆ หากต้องใช้เอาต์พุตสำหรับหน้าจอ 720p ก็สามารถปรับขนาดองค์ประกอบ UI ได้ ตามแพลตฟอร์มโดยอัตโนมัติ
เฟรมเวิร์ก UI
- ส่วนย่อย
- คลาส
Fragment.SavedState
ใหม่จะมีสถานะนี้ ข้อมูลที่ดึงมาจากอินสแตนซ์ Fragment ผ่านsaveFragmentInstanceState()
- เมธอดใหม่
saveFragmentInstanceState()
บันทึกสถานะปัจจุบันของอินสแตนซ์ Fragment ที่ระบุ ใช้สถานะนี้ได้ในภายหลังเมื่อสร้างอินสแตนซ์ใหม่ ของส่วนย่อยที่ตรงกับสถานะปัจจุบัน - เมธอดใหม่
setInitialSavedState()
ตั้งค่าสถานะที่บันทึกไว้เริ่มต้นสำหรับ Fragment เมื่อสร้างครั้งแรก - เมธอด Callback ใหม่ของ
onViewCreated()
จะแจ้ง Fragment ที่ วันที่onCreateView()
กลับมา แต่ก่อนที่สถานะที่บันทึกไว้จะได้รับการคืนค่าในมุมมอง - เมธอด
isDetached()
เป็นตัวกำหนดว่า มีการปลด Fragment ออกจาก UI อย่างชัดเจน attach()
ใหม่ และdetach()
ช่วยให้แอปพลิเคชันแนบหรือถอดส่วนย่อยใน UI ออกได้- วิธีการโอเวอร์โหลดใหม่ของ
setCustomAnimations()
ช่วยให้คุณตั้งค่าภาพเคลื่อนไหวที่เฉพาะเจาะจงได้ เรียกใช้สำหรับการดำเนินการเข้า/ออกโดยเฉพาะ ป๊อปกองหลัง การใช้งานที่มีอยู่ไม่ได้พิจารณา สำหรับลักษณะการทำงานที่แตกต่างกันของ Fragment เมื่อป๊อปกองหลัง
- คลาส
- ข้อมูลขนาดหน้าจอใน ActivityInfo และ ApplicationInfo
ActivityInfo
เพิ่มCONFIG_SCREEN_SIZE
และCONFIG_SMALLEST_SCREEN_SIZE
เป็นมาสก์บิต ในconfigChanges
ข้อมูลจะเป็นตัวกำหนดว่ากิจกรรมสามารถ จัดการเรื่องขนาดหน้าจอและขนาดหน้าจอที่เล็กที่สุด- เพิ่ม
ApplicationInfo
รายการlargestWidthLimitDp
compatibleWidthLimitDp
และrequiresSmallestWidthDp
ฟิลด์ มาจากแอตทริบิวต์<supports-screens>
ที่เกี่ยวข้อง ในไฟล์ Manifest ของแอปพลิเคชัน
- ตัวช่วยในการรับขนาดการแสดงผลจาก WindowManager
- เมธอดใหม่
getSize()
และgetRectSize()
จะทำให้แอปพลิเคชันรับขนาดการแสดงผลดิบได้
- เมธอดใหม่
- "โฮโลกราฟิก" สาธารณะใหม่ รูปแบบ
- ปัจจุบันแพลตฟอร์มนี้มี "โฮโลกราฟิก" สาธารณะมากมาย รูปแบบ
สำหรับข้อความ วิดเจ็ตและแท็บของแถบการทำงาน และอื่นๆ โปรดดู
R.style
เพื่อดูรายการทั้งหมด
- ปัจจุบันแพลตฟอร์มนี้มี "โฮโลกราฟิก" สาธารณะมากมาย รูปแบบ
สำหรับข้อความ วิดเจ็ตและแท็บของแถบการทำงาน และอื่นๆ โปรดดู
LocalActivityManager
,ActivityGroup
และLocalActivityManager
เลิกใช้งานแล้วในตอนนี้- แอปพลิเคชันใหม่ควรใช้ Fragments แทนคลาสเหล่านี้ ถึง ทำงานบนแพลตฟอร์มเวอร์ชันเก่าต่อไป คุณสามารถใช้การสนับสนุน v4 ไลบรารี (ไลบรารีความเข้ากันได้) ที่มีอยู่ใน Android SDK การสนับสนุน v4 Library มี Fragment API เวอร์ชันที่ทำงานร่วมกันได้จนถึง Android 1.6 (API ระดับ 4)
- สำหรับแอปที่พัฒนาเทียบกับ Android 3.0 (ระดับ API
11) หรือสูงกว่านั้น โดยทั่วไปแท็บจะแสดงใน UI โดยใช้ฟีเจอร์ใหม่
ActionBar.newTab()
และ API ที่เกี่ยวข้อง สำหรับการวางแท็บภายในพื้นที่แถบการทำงาน
เฟรมเวิร์กสื่อ
- แอปพลิเคชันที่ใช้ผู้ให้บริการสื่อของแพลตฟอร์ม (
MediaStore
) สามารถอ่านข้อมูลสื่อได้โดยตรงจาก การ์ด SD แบบถอดออกได้ที่อุปกรณ์รองรับ แอปพลิเคชันยังสามารถ โต้ตอบกับไฟล์การ์ด SD ได้โดยตรงโดยใช้ MTP API
กราฟิก
- ยูทิลิตีที่จัดกลุ่มใน Point และ PointF
Point
และPointF
ขณะนี้ชั้นเรียนจะมีอินเทอร์เฟซParcelable
และวิธียูทิลิตีdescribeContents()
,readFromParcel()
และwriteToParcel()
เฟรมเวิร์ก IME
- เมธอด
getModifiers()
ใหม่สำหรับ จะดึงข้อมูลสถานะปัจจุบันของแป้นกดร่วม
เฟรมเวิร์ก USB
- เมธอด
getRawDescriptors()
ใหม่สำหรับ ดึงข้อบ่งชี้ USB ดิบของอุปกรณ์มา คุณสามารถใช้ เพื่อเข้าถึงข้อบ่งชี้ที่ไม่ได้รับการสนับสนุนโดยตรงผ่านตัวเลือก API ระดับ
เครือข่าย
- ค่าคงที่ของประเภทเครือข่าย
ConnectivityManager
เพิ่มค่าคงที่TYPE_ETHERNET
และTYPE_BLUETOOTH
โทรศัพท์
- ค่าคงที่ประเภทเครือข่าย
NETWORK_TYPE_HSPAP
ใหม่
ยูทิลิตีหลัก
- สาธารณูปโภคแบบแปลงที่ดิน
- อินเทอร์เฟซใหม่
Parcelable.ClassLoaderCreator
อนุญาต แอปพลิเคชันเพื่อรับ ClassLoader ที่มีการสร้างออบเจ็กต์ adoptFd
,dup()
และfromFd()
ใหม่สำหรับการจัดการParcelFileDescriptor
ออบเจ็กต์
- อินเทอร์เฟซใหม่
- แฟ้มและ IBinder
- เมธอดใหม่
dumpAsync()
ในBinder
และIBinder
ช่วยให้แอปพลิเคชัน ดัมพ์ไปยังไฟล์ที่ระบุ โดยให้มั่นใจว่าเป้าหมายจะทำงานแบบไม่พร้อมกัน - รหัสธุรกรรม
IBinder
ใหม่ในโปรโตคอลTWEET_TRANSACTION
ช่วยให้แอปพลิเคชันส่งทวีตได้ กับออบเจ็กต์เป้าหมาย
- เมธอดใหม่
ค่าคงที่ของฟีเจอร์ใหม่
แพลตฟอร์มจะเพิ่มค่าคงที่ของฟีเจอร์ฮาร์ดแวร์ใหม่ที่คุณสามารถประกาศได้
ในไฟล์ Manifest ของแอปพลิเคชันเพื่อแจ้งแก่บุคคลภายนอก เช่น Google
ทดลองความสามารถด้านฮาร์ดแวร์และซอฟต์แวร์ที่จำเป็น คุณประกาศสิ่งต่อไปนี้
และค่าคงที่อื่นๆ ของฟีเจอร์ในเอลิเมนต์ไฟล์ Manifest <uses-feature>
Google Play จะกรองแอปพลิเคชันตามแอตทริบิวต์ <uses-feature>
เพื่อให้มั่นใจว่าแอปพลิเคชันดังกล่าวจะใช้งานได้กับอุปกรณ์ที่มีคุณสมบัติตรงตามข้อกำหนดเท่านั้น
- แสดงค่าคงที่สำหรับข้อกำหนดด้านแนวนอนหรือแนวตั้ง
Android 3.2 นำเสนอค่าคงที่ของฟีเจอร์ใหม่ที่ช่วยให้แอปพลิเคชันระบุว่าต้องใช้การแสดงผลในแนวนอน แนวตั้ง หรือทั้ง 2 อย่าง การประกาศค่าคงที่ดังกล่าวเป็นการระบุว่าต้องไม่ติดตั้งแอปพลิเคชันในอุปกรณ์ที่ไม่มีการวางแนวที่เกี่ยวข้อง ในทางกลับกัน หากไม่มีการประกาศค่าคงที่ค่าใดค่าหนึ่งหรือทั้ง 2 รายการ ก็แสดงว่าแอปพลิเคชันไม่มีค่ากำหนดสำหรับการวางแนวที่ไม่ได้ประกาศและอาจติดตั้งในอุปกรณ์ที่ไม่ได้ให้บริการ
android.hardware.screen.landscape
— แอปพลิเคชันนี้ต้องแสดงผลเป็นภาษา แนวนอนandroid.hardware.screen.portrait
— แอปพลิเคชันนี้ต้องแสดงผลเป็นภาษา ในแนวตั้ง
แอปพลิเคชันทั่วไปที่ทำงานได้อย่างถูกต้องทั้งในแนวนอนและแนวตั้งไม่จำเป็นต้องประกาศข้อกำหนดการวางแนว แต่แอปพลิเคชันที่ออกแบบมาเพื่อใช้กับการวางแนวเดียวเป็นหลัก เช่น แอปที่ออกแบบมาเพื่อทีวี สามารถประกาศค่าคงที่ค่าใดค่าหนึ่งเพื่อให้แน่ใจว่าไม่มีการตั้งค่าสำหรับอุปกรณ์ที่ไม่มีการวางแนวดังกล่าว
หากกิจกรรมใดๆ ที่ประกาศไว้ในคำขอไฟล์ Manifest ว่ากิจกรรมเหล่านั้นทำงานในการวางแนวที่เฉพาะเจาะจง โดยใช้แอตทริบิวต์
android:screenOrientation
ซึ่งการดำเนินการนี้จะประกาศด้วยว่าแอปพลิเคชัน ซึ่งจำเป็นต้องมีการวางแนวดังกล่าว - ค่าคงที่ของฟีเจอร์อื่นๆ
android.hardware.faketouch.multitouch.distinct
— แอปพลิเคชันต้องการการสนับสนุนสำหรับการป้อนข้อมูลแบบมัลติทัชจำลองที่มีการติดตาม 2 จุดขึ้นไปที่ไม่ซ้ำกันandroid.hardware.faketouch.multitouch.jazzhand
— แอปพลิเคชันต้องการการสนับสนุนสำหรับอินพุต Mulitouch ที่จำลองซึ่งมีการติดตามที่ต่างกัน 5 จุดขึ้นไป
รายงานความแตกต่างของ API
สำหรับมุมมองโดยละเอียดของการเปลี่ยนแปลง API ทั้งหมดใน Android 3.2 (API ระดับ 13) โปรดดู API รายงานความแตกต่าง
ระดับ API
แพลตฟอร์ม Android 3.2 มีรุ่นอัปเดตของ Framework API API ของ Android 3.2 ได้รับตัวระบุจำนวนเต็ม 13 — ซึ่งก็คือ ที่จัดเก็บไว้ในตัวระบบเอง ตัวระบุนี้เรียกว่า "ระดับ API" ช่วยให้ เพื่อพิจารณาอย่างถูกต้องว่าแอปพลิเคชันสามารถทำงานร่วมกับ ระบบก่อนที่จะติดตั้งแอปพลิเคชัน
หากต้องการใช้ API ที่เปิดตัวใน Android 3.2 ในแอปพลิเคชันของคุณ
คุณจะต้องรวบรวมแอปพลิเคชันกับไลบรารี Android ซึ่งมีให้ไว้ใน
แพลตฟอร์ม Android 3.2 SDK ทั้งนี้ขึ้นอยู่กับความต้องการของคุณ
อาจ
ต้องเพิ่ม android:minSdkVersion="13"
ด้วย
ลงในเอลิเมนต์ <uses-sdk>
ในแอปพลิเคชัน
ไฟล์ Manifest
สำหรับข้อมูลเพิ่มเติม โปรดอ่าน API คืออะไร ระดับ