คำถามติดแท็ก android-assets

21
จะวางโฟลเดอร์ 'ทรัพย์สิน' ใน Android Studio ได้อย่างไร
ฉันสับสนเกี่ยวกับassetsโฟลเดอร์ มันไม่ได้สร้างขึ้นโดยอัตโนมัติใน Android Studio และฟอรัมเกือบทั้งหมดที่พูดถึง Eclipse ไดเรกทอรีทรัพย์สินสามารถกำหนดค่าใน Android Studio ได้อย่างไร?

8
ความแตกต่างระหว่างไดเร็กทอรี / res และ / assets
ฉันรู้ว่าไฟล์ในresไดเรกทอรีสามารถเข้าถึงได้จากR.classในขณะที่สินทรัพย์ทำงานเหมือนระบบไฟล์ แต่ฉันต้องการทราบโดยทั่วไปว่าเมื่อใดควรใช้อย่างใดอย่างหนึ่ง ใครสามารถช่วยฉันในการรู้ความแตกต่างที่แท้จริงระหว่างความละเอียดและสินทรัพย์

3
เมื่อใดที่ฉันควรใช้เนื้อหาแทนทรัพยากรดิบใน Android
ฉันอยู่ระหว่างการศึกษาเกี่ยวกับ Android และเพิ่งพูดถึง Assets and Raw Resources ฉันพยายามเข้าใจเหตุผลของการใช้ทรัพยากรดิบเทียบกับสินทรัพย์ ทั้งสองมีสตรีมอินพุตทรัพยากรที่ไม่มีการคอมไพล์ ดูเหมือนว่า Assets จะให้ความยืดหยุ่นและการทำงานมากกว่าทรัพยากรดิบ ก. คุณสามารถสร้างโครงสร้างโฟลเดอร์ภายใต้assetsแต่ไม่สามารถสร้างได้raw ข. คุณสามารถแสดงรายการทรัพยากรทั้งหมดแบบไดนามิกในassetsโฟลเดอร์ แต่จะไม่อยู่ในrawโฟลเดอร์ เหตุใดฉันจึงต้องใช้ทรัพยากรดิบใน Android

6
เล่นไฟล์เสียงจากไดเร็กทอรีสินทรัพย์
ฉันมีรหัสต่อไปนี้: AssetFileDescriptor afd = getAssets().openFd("AudioFile.mp3"); player = new MediaPlayer(); player.setDataSource(afd.getFileDescriptor()); player.prepare(); player.start(); ปัญหาคือเมื่อฉันเรียกใช้โค้ดนี้มันจะเริ่มเล่นไฟล์เสียงทั้งหมดในไดเร็กทอรีสินทรัพย์ตามลำดับตัวอักษรแทนที่จะเล่นไฟล์เสียงที่ฉันร้องขอ ผมทำอะไรผิดหรือเปล่า? มีวิธีที่ดีกว่าในการเล่นไฟล์เสียงจากไดเรกทอรีเนื้อหาหรือไม่ คำถามติดตามผล: มีความแตกต่างระหว่างการเก็บไฟล์เสียงในไดเร็กทอรีสินทรัพย์และเก็บไว้ในไดเร็กทอรี res / raw หรือไม่ นอกจากข้อเท็จจริงที่ว่าพวกเขาไม่ได้รับรหัสหากอยู่ในไดเรกทอรีเนื้อหา หากฉันย้ายไฟล์เสียงไปยังโฟลเดอร์ res / raw แสดงว่าฉันมีปัญหากับการนำMediaPlayers กลับมาใช้ใหม่เนื่องจากไม่มีพารามิเตอร์ id สำหรับsetDataSource(). ฉันไม่พบแนวทางที่ดีในการจัดการปัญหาประเภทนี้

6
กำลังโหลดไฟล์. html ที่มีอยู่ด้วย Android WebView
ฉันลองใช้ตัวอย่างการสาธิตจากรหัส Google และแหล่งข้อมูลอื่น ๆ ด้วยWebViewแต่เมื่อฉันพยายามทำด้วยรหัสของฉันเองมันไม่ได้ผลสำหรับฉัน ฉันต้องการโหลดmyfile.htmlที่ฉันใส่ในโฟลเดอร์ assets และใช้: private WebView myWebView; myWebView.loadUrl("file:///android_assets/myfile.html"); บนโปรแกรมจำลองแสดงข้อผิดพลาด file:///android_assets/myfile.htmlไม่สามารถโหลดหน้าเว็บที่: ไม่พบไฟล์ที่ร้องขอ /android_assets/myfile.html เมื่อฉันใส่ไฟล์นั้นลงในres/raw/โฟลเดอร์และใช้: myWebView.loadUrl("file:///android_res/raw/myfile.html"); จากนั้นเฉพาะ emulator android 2.2 API ระดับ 8 เท่านั้นที่สามารถโหลดไฟล์ได้เวอร์ชันเก่าอื่น ๆ จะแสดงข้อผิดพลาดเดียวกัน ฉันพลาดอะไรไปรึเปล่า? มีวิธีใดบ้างในการโหลดไฟล์. html ที่มีอยู่ในแพ็กเกจแอปพลิเคชันที่ใช้ได้กับ API ทุกเวอร์ชัน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.