您的位置:首页 > 移动开发 > Android开发

Android原始资源的使用

2013-06-23 22:15 381 查看
除了各种Xml文件、图片文件之外,Android应用可能还需要用到大量其他类型的资源,比如声音资源等,类似的各种文件,只要Android没有为其提供专门的支持,这种资源都叫做原始资源,原始资源可以放在两个地方:

(1)/res/raw目录下

(2)/assets目录下,该目录下的资源是更彻底的原始资源,通过AssetManager来管理。

AssetManager使用两种方式来访问Assets资源:

InputStream open(String fileName)

AssetFileDecriptor openFd(String fileName) AssetFileDecriptor代表一项原始资源的描述。

示例代码:

public class RawResTest extends Activity
{
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.bomb);
// 获取该应用的AssetManager
AssetManager am = getAssets();
try
{
// 获取指定文件对应的AssetFileDescriptor。
AssetFileDescriptor afd = am.openFd("shot.mp3");
mediaPlayer2 = new MediaPlayer();
// 使用MediaPlayer加载指定的声音文件。
mediaPlayer2.setDataSource(afd.getFileDescriptor());
mediaPlayer2.prepare();
}
catch (IOException e)
{
e.printStackTrace();
}
// 获取第一个按钮,并为它绑定事件监听器
Button playRaw = (Button) findViewById(R.id.playRaw);
playRaw.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0)
{
// 播放声音
mediaPlayer1.start();
}
});
// 获取第二个按钮,并为它绑定事件监听器
Button playAsset = (Button) findViewById(R.id.playAsset);
playAsset.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0)
{
// 播放声音
mediaPlayer2.start();
}
});
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: