วิธีเปิดเนื้อหาใน Android

เฟรมเวิร์กของ Android มีตัวเลือกมากมายสำหรับงานที่โปรแกรมของคุณต้องดำเนินการและคลาส AssetManager เสนอทางเลือกให้กับทรัพยากรที่โครงการของคุณมักจะใช้เพื่อสตรีมไบต์ไปยังโปรแกรมของคุณในขณะรันไทม์ การใช้ AssetManager แทน Resources ช่วยให้คุณสามารถป้อนรูปแบบที่กำหนดเองซึ่งกรอบงาน Android ไม่สามารถแยกวิเคราะห์ได้และช่วยให้คุณสามารถสร้างอินสแตนซ์อ็อบเจ็กต์โดยใช้คลาส InputStream ที่โปรแกรมเมอร์ Java คุ้นเคย อินเทอร์เฟซของ AssetManager นั้นเรียบง่ายมีประสิทธิภาพและต้องใช้โค้ดเพียงไม่กี่บรรทัด

1

คลิกขวาที่โฟลเดอร์รูทของโปรเจ็กต์ Android ของคุณแล้วคลิก“ โฟลเดอร์ใหม่” ตั้งชื่อโฟลเดอร์ว่า "assets" แล้วคลิก "Finish"

2

เปิดไฟล์เบราว์เซอร์บนเดสก์ท็อปของคุณแล้วกดปุ่ม "Ctrl" ค้างไว้ในขณะที่คลิกเพื่อเลือกไฟล์ที่คุณต้องการสตรีมไปยังโปรแกรมของคุณ กด“ Ctrl-C” เพื่อคัดลอกไฟล์ไปยังคลิปบอร์ด คลิกโฟลเดอร์“ assets” ของโปรเจ็กต์ของคุณซึ่งเป็นโฟลเดอร์ที่คุณเพิ่งสร้างขึ้นแล้วกด“ Ctrl-V” เพื่อวางไฟล์

3

สร้างอินสแตนซ์ AssetManager ในโค้ดของคุณโดยเพิ่มบรรทัดต่อไปนี้:

AssetManager am = getContext (). getAssets ();

เพิ่มบรรทัดนี้ก่อนที่คุณจะต้องใช้ AssetManager หรือหากคุณจะใช้มากกว่าหนึ่งวิธีให้ถือเป็นตัวแปรสมาชิก ในการดำเนินการนี้ให้ประกาศตัวแปรนอกเมธอดใด ๆ และสร้างอินสแตนซ์ในตัวสร้าง

4

เปิดไฟล์ในโฟลเดอร์ assets โดยสร้างอินสแตนซ์วัตถุ InputStream ภายในบล็อกลอง ตัวอย่างเช่นพิมพ์ดังต่อไปนี้:

InputStream คือ = null; ลอง {is = am.open (“ file_name.xyz”); } catch (FileNotFoundException เช่น) {}

แทนที่ "file_name.xyz" ด้วยชื่อไฟล์ของคุณและนามสกุลภายในเครื่องหมายคำพูดคู่

5

สร้างบัฟเฟอร์ไบต์เพื่อเก็บไบต์จากอินพุตสตรีมโดยเรียกเมธอด“ read” ของอ็อบเจ็กต์ InputStream จัดสรรหน่วยความจำสำหรับบัฟเฟอร์ด้วยรหัสที่คล้ายกันดังต่อไปนี้:

ขนาด int = is.available (); ไบต์ [] บัฟเฟอร์ = ไบต์ใหม่ [ขนาด]; is.read (บัฟเฟอร์);

6

สร้างอินสแตนซ์อ็อบเจ็กต์โดยใช้ไบต์จากอินพุตสตรีม ตัวอย่างเช่นคลาส Java String มีตัวสร้างที่มีพารามิเตอร์ไบต์อาร์เรย์ที่คุณสามารถสร้างอินสแตนซ์โดยตรงด้วยโค้ดต่อไปนี้:

สตริงสตริง = สตริงใหม่ (บัฟเฟอร์);

หากคุณกำลังอ่านไบต์สำหรับคลาสที่คุณกำหนดไว้ให้เพิ่มตัวสร้างที่รับอาร์เรย์ไบต์เป็นอาร์กิวเมนต์