android添加資源文件
⑴ Android中的資源文件放在哪
Android除了提供/res目錄存放資源文件外,在/assets目錄也會提供存放資源文件,如下圖片:
   讀取assert文件的代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
   
public String getFromAssets(String fileName){ 
            try { 
                 InputStreamReader inputReader = new InputStreamReader( getResources().getAssets().open(fileName) ); 
                BufferedReader bufReader = new BufferedReader(inputReader);
                String line="";
                String Result="";
                while((line = bufReader.readLine()) != null)
                    Result += line;
                return Result;
            } catch (Exception e) { 
                e.printStackTrace(); 
            }
⑵ 如何為Android系統添加一個新的資源包
如何為Android系統添加一個新的資源包
傳統的Android系統只有一個framework-res.apk資源包,第三方廠商在進行rom定製時會直接修改framework res資源,達到美化目的。但是這種方式跟原生資源的耦合度過高,在系統遷移或者framework ui移植時需要進行人工merge,工作量巨大。通過為Android添加一個新的獨立的資源包,可以將廠商定製資源獨立出來,可移植、可維護性非常好。 
具體做法可以分為以下幾個步驟: 
1. 修改build/core/clear_var.mk 
LOCAL_USE_LETV_FRAMEWORK_RES:= true 
2. 修改build/core/package.mk 
以下腳本可以加在 $(R_file_stamp): $(framework_res_package_export_deps) 之前,然後修改$(R_file_stamp): $(framework_res_package_export_deps) 和 $(LOCAL_INTERMEDIATE_TARGETS): \
    PRIVATE_AAPT_INCLUDES := $(framework_res_package_export) 
如下所示: 
view sourceprint?
1 ifeq ($(LOCAL_USE_LETV_FRAMEWORK_RES),true)  
2 letv_framework_res_package_export := \  
3         $(call intermediates-dir-for,APPS,letv-framework-res,,COMMON)/package-export.apk  
4 letv_framework_res_package_export_deps := \  
5         $(dir $(letv_framework_res_package_export))src/R.stamp  
6 else  
7 letv_framework_res_package_export :=  
8 letv_framework_res_package_export_deps :=  
9 endif # LOCAL_USE_LETV_FRAMEWORK_RES 
view sourceprint?
1 $(R_file_stamp): $(framework_res_package_export_deps) $(letv_framework_res_package_export_deps)  
2 $(LOCAL_INTERMEDIATE_TARGETS): \  
3     PRIVATE_AAPT_INCLUDES := $(framework_res_package_export) \  
4         $(letv_framework_res_package_export)  
5 endif # LOCAL_NO_STANDARD_LIBRARIES 
3. 修改build/target/proct/core.mk 
在PRODUCT_PACKAGES增加letv-framework-res 
4. 添加一個新的資源包項目,這里在framework/base/core/res同級目錄下建立一個新的文件夾letv_res用來存放我們的資源。把res目錄下的AndroidManifest.xml和Android.mk拷貝過來,進行修改。  
記得設置LOCAL_USE_MY_FRAMEWORK_RES為false。 
view sourceprint?
01 LOCAL_PATH:= $(call my-dir)  
02 include $(CLEAR_VARS)  
03    
04 LOCAL_MODULE_TAGS := optional  
05    
06 LOCAL_PACKAGE_NAME := letv-framework-res  
07 LOCAL_CERTIFICATE := platform  
08    
09 # Set LOCAL_USE_LETV_FRAMEWORK_RES as false  
10 LOCAL_USE_LETV_FRAMEWORK_RES := false  
11    
12 # Tell aapt to create "extending (non-application)" resource IDs,  
13 # since these resources will be used by many apps.  
14 LOCAL_AAPT_FLAGS := -x  
15    
16 # Install this alongside the libraries.  
17 LOCAL_MODULE_PATH := $(TARGET_OUT_java_LIBRARIES)  
18    
19 # Create package-export.apk, which other packages can use to get  
20 # PRODUCT-agnostic resource data like IDs and type definitions.  
21 LOCAL_EXPORT_PACKAGE_RESOURCES := true  
22    
23 # Include resources generated by system RenderScript files.  
24 framework_GENERATED_SOURCE_DIR := $(call intermediates-dir-for,JAVA_LIBRARIES,framework,,COMMON)/src  
25 framework_RenderScript_STAMP_FILE := $(framework_GENERATED_SOURCE_DIR)/RenderScript.stamp  
26 #LOCAL_RESOURCE_DIR := $(framework_GENERATED_SOURCE_DIR)/renderscript/res $(LOCAL_PATH)/res  
27    
28 include $(BUILD_PACKAGE)  
29    
30 # Make sure the system .rs files get compiled before building the package-export.apk.  
31 #$(resource_export_package): $(framework_RenderScript_STAMP_FILE)  
32    
33 # define a global intermediate target that other mole may depend on.  
34 .PHONY: letv-framework-res-package-target  
35 letv-framework-res-package-target: $(LOCAL_BUILT_MODULE) 
view sourceprint?
01 <?xml version="1.0" encoding="utf-8"?>  
02 <manifest xmlns:android="" 
03     package="letv" coreApp="true" android:sharedUserId="android.uid.system" 
04     android:sharedUserLabel="@null">  
05    
06     <application android:process="system" 
07                  android:persistent="true" 
08                  android:hasCode="false" 
09                  android:label="@null" 
10                  android:allowClearUserData="false" 
11                  android:killAfterRestore="false" 
12                  android:icon="@null">  
13    
14     </application>  
15    
16 </manifest> 
資源的放置跟res下的類似,記得values目錄下創建public.xml,public.xml對id的類型區分比較嚴格,attr必須是0x0x010000開頭,drawable必須是0x0x020000開頭,其他類型好像就沒有限制,直接依次0x0x030000、0x0x040000開始即可。否則,編譯過程中會出現segmentation fault錯誤。 
view sourceprint?
1 <resources>  
2  <public type="attr" name="cForeground" id="0x03010000" />  
3  <public type="drawable" name="ic_filemanager" id="0x03020000" />  
4  <public type="style" name="LetvTheme" id="0x03030000" />  
5  <public type="string" name="letv" id="0x03040000" />  
6  <public type="dimen" name="letv_width" id="0x03050000" />  
7  <public type="layout" name="letv_text" id="0x03060000" />  
8 </resources> 
5.  以上只是解決了資源的編譯環境問題,資源的查找過程也需要進行修改,修改 AssetManager.java,在init()後添加代碼 addAssetPath("/system/framework/letv-framework-res.apk"); 
view sourceprint?
01 public AssetManager() {  
02         synchronized (this) {  
03             if (DEBUG_REFS) {  
04                 mNumRefs = 0;  
05                 incRefsLocked(this.hashCode());  
06             }  
07             init();  
08             addAssetPath("/system/framework/letv-framework-res.apk");  
09             if (localLOGV) Log.v(TAG, "New asset manager: " + this);  
10             ensureSystemAssets();  
11         }  
12     } 
6. 最後就是資源應用問題。應用程序在xml文件中引用letv-framework-res.apk中的資源時可以使用與原生資源類似的訪問方式,首先聲明letv xmlns : 
view sourceprint?
1 xmlns:letv="" 
然後像@android:drawable @android:dimen這種引用方式改成@letv:drawable @letv:dimen即可。 
view sourceprint?
01 <?xml version="1.0" encoding="utf-8"?>  
02 <LinearLayout 
03     xmlns:android="" 
04     xmlns:letv="" 
05     android:layout_width="fill_parent" 
06     android:layout_height="wrap_content" 
07     android:gravity="center" 
08     android:paddingTop="@letv:dimen/letv_width" 
09     android:orientation="horizontal" >  
10    
11    <ImageView android:id="@+id/file_icon" 
12             android:layout_width="wrap_content" 
13             android:layout_height="wrap_content" 
14             android:layout_gravity="center" 
15             android:layout_marginBottom="40dp" 
16             android:src="@letv:drawable/ic_filemanager" />  
17    
18 </LinearLayout> 
轉載,僅供參考。
⑶ 如何在android中資源文件夾中添加一個新的圖片資源
直接拷貝需要添加的圖片資源,然後在Res/drawable文件夾
右鍵點擊
選擇「粘貼」即可把圖片拷貝進去
⑷ android怎麼使用資源文件
1.在代碼中使用資源文件在代碼中訪問資源文件,是通過R類中定義的資源文件類型和資源文件名稱來訪問的。具體格式為:R.資源文件類型.資源文件名稱另外,除了訪問用戶自定義的資源文件,還可以訪問系統中的資源文件。訪問系統中的資源文件的格式為:android.R. 資源文件類型.資源文件名稱2.在其他資源文件中引用資源文件經常會在布局文件中引用圖片、顏色資源、字元串資源和尺寸資源。在其他資源中引用資源的一般格式是:@[包名稱:]資源類型/資源名稱使用顏色資源顏色值定義的開始時一個#號,後面是Alpha-RGB的格式。例如:#RGB#ARGB#RRGGBB#AARRGGBB引用資源格式:Java代碼中:R.color.color_nameXML文件中:@[package:]color/color_name使用時在res\values\目錄下,定義一個colors.xml文件,裡面存放顏色名字和顏色值的鍵值對。如:<resources>    <color name="red_bg">#f00</color>    <color name="blue_text">#0000ff</color></resources>其他資源如字元串、尺寸都是類似的方法。使用字元串資源創建字元串資源文件strings.xml.裡面內容也是鍵值對在Java代碼中引用字元串資源R.string.string_name可如下取得:String str = getString(R.string.string_name).toString();在xml文件中引用字元串資源:@[package:]string/string_name使用尺寸資源尺寸資源被定義在res\values\dimens.xml文件中。相對屏幕物理密度的抽象單位
sp和精度無關的像素和dp類似,與刻度無關的像素,主要處理字體大小引用尺寸資源:在Java代碼中: R.dimen.dimen_name在xml文件中:@[package:]dimen/dimen_name使用原始XML資源XML文件定義在工程的res\xml\目錄下,通過Resources.getXML()方法來訪問。獲得原始XML文件的思路是,通過getResources().getXml()獲得XML原始文件,得到XmlResourceParser對象,通過該對象來判斷是文檔的開始還是結尾、是某個標簽的開始還是結尾,並通過一些獲得屬性的方法來遍歷XML文件,從而訪問XML文件的內容。使用drawables資源drawable資源是一些圖片或者顏色資源,主要用來繪制屏幕,通過Resources.getDrawable()方法獲得。drawable資源分為三類:Bitmap File(點陣圖文件)、Color Drawable(顏色)、Nine-Patch Image(九片圖片)。Android中支持的點陣圖文件有png、jpg和gif。引用點陣圖資源的格式:Java代碼中:R.drawable.file_nameXML文件中:@[package:]drawable/file_name使用布局(layout)資源   布局資源是Android中最常用的一種資源,將屏幕中組件的布局方式定義在一個XML文件中,類似於Web中的HTML頁面。   布局文件位於res\layout\中,名稱任意。Android通過LayoutInflater類將XML文件中的組件解析為可視化的視圖組件。在Activity中,調用Activity.setContentView()方法,將布局文件設置為Activity的界面,使用findViewById()方法來得到布局中的組件。
⑸ android studio 怎樣添加aar文件
如何在Android studio中,給android 項目添加外部lib引用。
在android studio中,有兩種方式:
一種是jar包,一種是帶資源文件的aar包,
jar: 只包含了class文件與清單文件 ,不包含資源文件,如圖片等所有res中的文件。
aar: 包含jar包和資源文件,如圖片等所有res中的文件
這里將著重介紹如何使用本地的aar包
http://jingyan..com/article/2a13832890d08f074a134ff0.html
⑹ android studio 怎麼創建資源文件
您可以按照下面截圖的樣子,在您要創建的資源文件夾上右鍵,然後選擇new->Values resource file即可創建Android Studio中的資源文件。希望可以幫到您。

⑺ 如何創建Android庫以及Android aar文件詳解
創建 Android 庫
Android 庫在結構上與 Android 應用模塊相同。它可以提供構建應用所需的一切內容,包括源代碼、資源文件和 Android 清單。不過,Android 庫將編譯到您可以用作 Android 應用模塊依賴項的 Android 歸檔 (AAR:Android Archive Resource) 文件,而不是在設備上運行的 APK。與 JAR 文件不同,AAR 文件可以包含 Android 資源和一個清單文件,這樣,除了 Java 類與方法外,您還可以捆綁布局和可繪制對象等共享資源。
庫模塊在以下情況下非常有用:
- 構建使用某些相同組件(例如 Activity、服務或 UI 布局)的多個應用。 
- 構建存在多個 APK 變體(例如免費版本和付費版本)的應用並且需要在兩種版本中使用相同的核心組件。 
 在任何一種情況下,只需要將您希望重用的文件移動到庫模塊中,然後以依賴項的形式為每個應用模塊添加庫。本頁面將說明如何執行這兩個操作。
- apply plugin: 'com.android.application'
- apply plugin: 'com.android.library'
- 添加已編譯的 AAR(或 JAR)文件: 
 1、點擊 File > New Mole。
 2、依次點擊 Import .JAR/.AAR Package 和** Next**。
 3、輸入 AAR 或 JAR 文件的位置,然後點擊 Finish。
- 將庫模塊導入到您的項目中: 
 1、點擊** File > New > Import Mole。**
 2、輸入庫模塊目錄的位置,然後點擊 Finish。
 庫模塊將復制到您的項目中,因此您可以盡管編輯庫代碼。如果您希望維護一個版本的庫代碼,則此方法可能不是您想要的,您應按照上文所述導入編譯的 AAR 文件。
- include ':app', ':my-library-mole'
- dependencies {
- compile project(":my-library-mole")
- }
- <resources>
- <public name="mylib_app_name" type="string"/>
- <public name="mylib_public_string" type="string"/>
- </resources>```
- 如果希望任何資源保持對使用您的庫的開發者可見,您應當將其設為公開。例如,盡管 [v7 appcompat 庫](https://developer.android.com/topic/libraries/support-library/features.html#v7-appcompat)中的大多數資源都是私有資源,但是為了支持[Material Design](https://developer.android.com/design/material/index.html),控制工具欄小部件的屬性應當公開。將屬性隱式設為私有不僅可以阻止您的庫用戶從內部庫資源獲得代碼自動完成建議,還讓您能夠在不中斷您的庫客戶端的情況下重命名或移除私有資源。私有資源不在代碼自動完成和 [Theme Editor](https://developer.android.com/studio/write/theme-editor.html) 的作用范圍內,並且如果您嘗試引用私有資源,[Lint](https://developer.android.com/studio/write/lint.html) 將顯示警告。##開發注意事項在開發您的庫模塊和相關應用時,請注意以下行為和限制。
- 將庫模塊引用添加至您的 Android 應用模塊後,您可以設置它們的相對優先順序。構建時,庫會按照一次一個的方式與應用合並,並按照從低到高的優先順序順序。
- * **資源合並沖突**
- 構建工具會將庫模塊中的資源與相關應用模塊的資源合並。如果在兩個模塊中均定義了給定資源 ID,將使用應用中的資源。
- 如果多個 AAR 庫之間發生沖突,將使用依賴項列表首先列出(位於 dependencies塊頂部)的庫中的資源。
- 為了避免常用資源 ID 的資源沖突,請使用在模塊(或在所有項目模塊)中具有唯一性的前綴或其他一致的命名方案。
- * **庫模塊可以包含 JAR 庫**
- 您可以開發一個自身包含 JAR 庫的庫模塊;不過,您需要手動編輯相關應用模塊的構建路徑,並添加 JAR 文件的路徑。
- * **庫模塊可以依賴外部 JAR 庫**
- 您可以開發一個依賴於外部庫(例如 Maps 外部庫)的庫模塊。在這種情況下,相關應用必須針對包含外部庫(例如 Google API 插件)的目標構建。另外也要注意,庫模塊和相關應用都必須在其清單文件的 [<uses- library>
- ](https://developer.android.com/guide/topics/manifest/uses-library-element.html) 元素中聲明外部庫。* **庫模塊不得包含原始資源**
- 工具不支持在庫模塊中使用原始資源文件(保存在 assets/目錄中)。應用使用的任何原始資源都必須存儲在應用模塊自身的 assets/目錄中。
- * **應用模塊的 minSdkVersion必須大於或等於庫定義的版本**
- 庫作為相關應用模塊的一部分編譯,因此,庫模塊中使用的 API 必須與應用模塊支持的平台版本兼容。
- * **每個庫模塊都會創建自己的 R 類**
- 在您構建相關應用模塊時,庫模塊將先編譯到 AAR 文件中,然後再添加到應用模塊中。因此,每個庫都有其自己的 R 類,並根據庫的軟體包名稱命名。從主模塊和庫模塊生成的 R 類會在所需的所有軟體包(包括主模塊的軟體包和庫的軟體包)中創建。
- * **庫模塊可能包含自己的 ProGuard 配置文件**
- 通過將 [ProGuard](https://developer.android.com/studio/build/shrink-code.html) 配置文件添加到包含其 ProGuard 指令的庫,您可以在自己的庫上啟用代碼壓縮。構建工具會為庫模塊將此文件嵌入到生成的 AAR 文件中。在您將庫添加到應用模塊時,庫的 ProGuard 文件將附加至應用模塊的 ProGuard 配置文件 (proguard.txt)。通過將 ProGuard 文件嵌入到您的庫模塊中,您可以確保依賴於此庫的應用模塊不必手動更新其 ProGuard 文件即可使用庫。當 ProGuard 在 Android 應用模塊上運行時,它會同時使用來自應用模塊和庫的指令,因此您不應當只在庫上運行 ProGuard。
- 要指定您的庫的配置文件名稱,請將其添加到 consumerProguardFiles方法中,此方法位於您的庫的 build.gradle文件的 defaultConfig塊內。例如,以下片段會將 lib-proguard-rules.txt設置為庫的 ProGuard 配置文件:
- 默認情況下,應用模塊會使用庫的發布構建,即使在使用應用模塊的調試構建類型時亦是如此。要使用庫中不同的構建類型,您必須將依賴項添加到應用的 build.gradle文件的 dependencies塊中,並在庫的 build.gradle文件中將 publishNonDefault設置為 true。例如,您應用的 build.gradle文件中的以下代碼段會使應用在應用模塊於調試模式下構建時使用庫的調試構建類型,以及在應用模塊於發布模式下構建時使用庫的發布構建類型:
- 您還必須在自己庫的 build.gradle文件的 android 塊內添加以下代碼行,以便將此庫的非發布配置展示給使用它的項目:
- /AndroidManifest.xml 
- /classes.jar 
- /res/ 
- /R.txt 
- /assets/ 
- /libs/**名稱 **.jar 
- /jni/abi 名稱 /名稱.so(其中 abi 名稱是 Android 支持的 ABI 之一) 
- /proguard.txt 
- /lint.jar 
創建庫模塊
要在您的項目中創建一個新的庫模塊,請按以下步驟操作:
1、點擊** File > New > New Mole。**
2、在出現的 Create New Mole 窗口中,依次點擊** Android Library 和 Next。還存在一個用於創建 Java 庫的選項,可以構建傳統的 JAR 文件。盡管 JAR 文件在大多數項目中都非常實用(尤其在您希望與其他平台共享代碼時),但這種文件不允許您包含 Android 資源或清單文件,而後者對於 Android 項目中的代碼重用非常有用。**因此,本指南將側重論述創建 Android 庫。
3、為您的庫命名,並為庫中代碼選擇一個最低的 SDK 版本,然後點擊 Finish。
在 Gradle 項目同步完成後,庫模塊將顯示左側的 Project 面板中。如果您未看到新模塊文件夾,請確保將視圖切換為 Android 視圖。
將應用模塊轉換為庫模塊
如果您現有的應用模塊包含您希望重用的所有代碼,則可以按照以下步驟將其轉換為庫模塊:
1、打開現有應用模塊的 build.gradle 文件。您應在頂部看到以下內容:
2、按照下面所示更改插件分配:
3、點擊 Sync Project with Gradle Files。
就這么簡單。模塊的整個結構仍然相同,但是現在它將作為 Android 庫運行,構建也將創建一個 AAR 文件,而不是 APK。
生成aar
在Android Studio1.4中,New project,先默認新建一個Applicaton mole,接後File > New > New Mole,選擇Androd Library > Next,指定Library Name和Mole Name。
新建的Library與正常的Application最大區別是mole build.gradle中是**apply plugin: 『com.android.library』 **而不是 apply plugin: 'com.android.application'
Build > Make project,自動生成aar文件。

以依賴項形式添加您的庫
要在另一個應用模塊中使用您的 Android 庫的代碼,請按以下步驟操作:
1、通過兩種方式之一將庫添加到您的項目(如果您是在相同項目中創建的庫模塊,則該模塊已經存在,您可以跳過此步驟):
2、確保庫列在您 settings.gradle 文件的頂部,如下面名為「my-library-mole」的庫所示:
3、打開應用模塊的 build.gradle 文件,並向 dependencies 塊中添加一行新代碼,如下面的片段所示:
4、點擊 Sync Project with Gradle Files。
在上面的示例中,名為 my-library- mole 的 Android 庫模塊成為 build.gradle 文件所在模塊的構建依賴項。
您的應用模塊現在可以訪問 Android 庫中的任何代碼和資源,庫 AAR 文件在構建時已捆綁到您的 APK 中。
不過,如果希望單獨共享 AAR 文件,則可以在 項目名稱/模塊名稱/build/outputs/aar/ 中找到它,也可以通過點擊 Build > Make Project 的方式重新生成此文件。
選擇要設為公開的資源
庫中的所有資源在默認情況下均處於公開狀態。要將所有資源隱式設為私有,您必須至少將一個特定的屬性定義為公開。資源包括您項目的 res/ 目錄中的所有文件,例如圖像。要阻止您的庫用戶訪問僅供內部使用的資源,您應通過聲明一個或多個公開資源的方式來使用這種自動私有標識機制。
要刪除某個公開資源,請將一個聲明添加到您的庫的 public.xml文件中。如果您之前尚未添加公開資源,則需要在您的庫的 res/values/目錄中創建public.xml 文件。
下面的示例代碼可以創建兩個名稱分別為 mylib_app_name和 mylib_public_string 的公開字元串資源:
android {
defaultConfig {
consumerProguardFiles 'lib-proguard-rules.txt'
}
...
}
dependencies {
debugCompile project(path: ':library', configuration: 'debug')
releaseCompile project(path: ':library', configuration: 'release')
}
android {
...
publishNonDefault true
}```
不過請注意,設置 publishNonDefault會增加構建時間。
為了確保您的庫的 ProGuard 規則不會將意外的壓縮副作用施加到應用模塊,請僅包含適當規則,停用不適用於此庫的 ProGuard 功能。嘗試協助開發者的規則可能會與應用模塊或它的其他庫中的現有代碼沖突,因此不應包含這些規則。例如,您的庫的 ProGuard 文件可以指定在應用模塊的壓縮期間需要保留的代碼。
註:Jack 工具鏈僅支持 ProGuard 的部分壓縮和模糊選項。
AAR 文件詳解
AAR 文件的文件擴展名為 .aar,Maven 工件類型也應當是 aar。文件本身是一個包含以下強制性條目的 zip文件:
此外,AAR 文件可能包含以下可選條目中的一個或多個:
⑻ Android studio怎麼創建資源的相關文件編輯xml
1、要進行創建資源文件之前,需要先把滑鼠代碼的文件中進行選中,或者進行選中項目。
2、然後點擊菜單中菜單中的」file「的選項。
3、就會彈出了一個下拉的菜單中,進行選擇下拉菜單中的「new」的選項按鈕。
4、這樣就會彈出了一個下一級的菜單中,進行選擇菜單中的「Android resource file」的選項。
5、然後就會彈出了一個new resource file的選項,進入輸入一個file name的文件名,在available qualifiers的進行選擇layout direction進行點擊雙箭頭,然後就可以點擊」OK「。
6、這樣話在Android studio的資源文件就創建成功了。
⑼ Android項目中如何使用資源文件
Android SDK在編譯應用時會在R類中為/res/目錄下的所有資源創建索引項,因此在java代碼中訪問資源主要是通過R類來完成。
語法格式為:
package_name.R.resource_type.resource_name
- package_name:指定R類所在的包,實際上就是使用全限定類名。不過,要是在java程序中已導入R類所在包,可以省略包名。 
- resource_type:R類中代表不同資源類型的子類,例如string代表字元串資源。 
- resource_name:指定資源的名稱。 
//從drawable資源中載入圖片,並設為該窗口的背景
getWindow().setBackgroundDrawableResource(R.drawable.back);
//從string資源中獲取指定字元串源碼,並設置該窗口的標題
getWindow().setTitle(getResources().getText(R.string.main_title));
⑽ 如何向android項目添加音樂資源
在res目錄下新建一個raw文件夾,直接復制mp3文件到raw目錄下,R.java會自動生成id(mp3文件本身就是二進制流文件)
不建議這么做,會導致apk包很大,上傳到模擬器運行時會很慢,而且如果在創建模擬器時指定的內存不夠大,console控制台會提示失敗
最好為模擬器指定一個SDCard目錄,通過adb push上傳mp3文件,可以通過contentprivider訪問SDCard中的資源
