原始资源就是Android没有为之提供专门支持的资源文件,可以放在如下两个位置

/res/raw Android SDK会在R清单类中为该目录下的资源生成一个索引项

/res/assets 需要通过AssetManager来管理该目录下的原始资源

下面写个Demo,往两个目录下各放一个mp3文件,一个叫one,一个叫two(都是黄小琥的音乐,可惜文件名不能是中文)

主界面main.xml代码如下

package WangLi.Resouce.RawResTest;import java.io.IOException;import android.app.Activity;import android.content.res.AssetFileDescriptor;import android.content.res.AssetManager;import android.media.MediaPlayer;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class RawResTest extends Activity {    /** Called when the activity is first created. */MediaPlayer mediaPlayer1 = null;MediaPlayer mediaPlayer2 = null;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        //直接根据声音文件的ID来创建MediaPlayer        mediaPlayer1 = MediaPlayer.create(this,R.raw.two);        //获取该应用的AssetManager        AssetManager am = getAssets();        try        {        //获取指定文件对应的AssetFileDescriptor        AssetFileDescriptor afd = am.openFd("one.mp3");        mediaPlayer2 = new MediaPlayer();        //使用MediaPlayer加载指定的声音文件        mediaPlayer2.setDataSource(afd.getFileDescriptor());        mediaPlayer2.prepare();        }        catch(IOException e)        {        e.printStackTrace();        }        //获取第一个按钮,并为它绑定事件监听器        Button playRaw = (Button)findViewById(R.id.button1);        playRaw.setOnClickListener(new OnClickListener(){        public void onClick(View arg0)        {        //播放声音        mediaPlayer1.start();        }        });        //获取第二个按钮,并为它绑定事件监听器        Button playAsset = (Button)findViewById(R.id.button2);        playAsset.setOnClickListener(new OnClickListener(){        public void onClick(View arg0)        {        mediaPlayer2.start();        }        });    }}

界面如下图,两个按钮,一个访问Asset下的文件,一个访问raw下的文件

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  6. 一款霸榜 GitHub 的开源 Linux 资源监视器!
  7. Android软件安全与逆向分析入门-壹-初识反编译
  8. 使用Intent实现Activity之间传值与跳转
  9. 传智播客—Android(三) 数据存储之二 SharedPreferences

随机推荐

  1. Security and Permissions安全与权限(三)
  2. Android(安卓)MVP 模式应用实例
  3. Android中使用Timer配合postInvalidate()
  4. Android(安卓)ViewFlipper实现页面的滑动
  5. android CoordinatorLayout使用
  6. 自定义Dialog步骤
  7. android中怎样适应多个屏幕
  8. Android手机拍照(Android学习随笔九)
  9. android 界面着色推荐
  10. Runtime.exec 执行命令行