`
chenqiang5206
  • 浏览: 33084 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类

初学Android,使用原始资源(二十三)

阅读更多

原始资源就是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下的文件

分享到:
评论

相关推荐

    Android多媒体编程从初学到精通 .苗忠良等.扫描版.pdf

    《Android多媒体编程从初学到精通》是一本专为Android开发者准备的指南,旨在帮助读者深入理解和熟练掌握在Android平台上进行多媒体编程的技术。本书由苗忠良等专家编写,结合丰富的实践经验,提供了详尽的理论知识...

    Google Android 开发入门与实战 原始码

    《Google Android 开发入门与实战》这本书是初学者和进阶者深入理解Android开发的宝贵资源,书中包含了大量的实例,旨在帮助读者掌握Android编程的基础与实践技巧。这本书的原始码提供了一个直观的学习平台,无论...

    android学习资源文件PDF

    ### Android学习资源知识点详解 #### 一、Android应用与开发环境概述 - **开发环境**:作者提到了Android开发环境的几个关键组成部分,这有助于理解Android应用的基本结构和组织方式。 - **src文件夹**:存放...

    Android 最简工程 Eclipse

    在Android开发领域,Eclipse曾是开发者们广泛使用的集成开发环境(IDE)。"Android 最简工程 Eclipse" 提供了一个简洁的基础框架,适用于那些希望快速创建一个新的Android项目进行调试的开发者。这个压缩包文件可能...

    Android 点击屏幕更换图片源码.zip源码资源下载

    这个"Android 点击屏幕更换图片源码.zip"资源包含了一个实现这一功能的示例代码,对于初学者或者希望深入理解Android事件处理和图像显示的开发者来说非常有价值。下面我们将详细探讨相关的知识点。 1. **Android...

    android横版跑酷游戏源码Jumper.zip

    1. "android横版跑酷游戏源码Jumper-游戏源码-素材说明.txt" 这个文件很可能是对游戏素材的详细说明,包括图片、音频等资源的使用方法和版权信息,对于理解游戏视觉效果的实现至关重要。 2. "爱给网-源码-免费下载....

    Android开发入门(三)

    - **ImageView**: 显示一张名为“happybirthday”的图片,设置`android:scaleType="centerCrop"`使得图片能够居中显示且保持原始比例,不会发生变形。值得注意的是,资源文件名必须遵循命名规则,不能包含空格或大写...

    android kitchen

    - 对于初学者,最好在熟悉基本的Android系统知识和命令行操作后再尝试使用Android Kitchen,以防止不必要的错误。 - 不推荐在生产环境中直接进行实验,以免导致设备无法正常启动。 总的来说,Android Kitchen是...

    6个android原生开发小游戏

    开发者可能使用了Android的Bitmap类来处理图片,通过切割原始图片并随机打乱,实现拼图效果。玩家通过拖动图片碎片重新组合,完成拼图。这种游戏涉及到图片加载、触摸事件处理、动画和逻辑判断等基础知识。 2. **...

    android .9图图片使用帮助文档

    Android平台中的".9图",全称为"Nine-Patch"图像,是一种特殊类型的PNG图片,用于解决在不同分辨率设备上控件拉伸时的图形失真问题。...对于Android初学者来说,掌握.9图的使用是提升应用界面质量的关键技能之一。

    三、初探Android开发-Android开发与实践

    Android开发是移动应用开发领域中的重要组成部分,主要使用Eclipse集成开发环境(IDE)进行。本章将深入探讨如何利用Eclipse创建Android应用程序,理解Android虚拟设备(AVD)的创建,以及掌握Android项目的基本结构...

    android sdk 23.0.2更新附资源

    对于标签“android sdk source simples”,可能是指SDK中包含的源代码简化版或适用于初学者的部分。通常,SDK本身并不包含完整的Android源代码,但会提供API接口和相关的头文件,使得开发者能够调用系统服务和功能。...

    自制android记账工具(源代码),打包程序可以安装到手机上使用

    对于想要入门Android编程或对财务应用感兴趣的初学者来说,这是一个宝贵的资源。 【标签解析】 "android" 指的是这款应用是基于Android操作系统开发的,适用于各种Android设备。 "源代码" 表示提供的是软件的原始...

    Android 快捷查询源码.zip源码资源下载

    在本资源中,我们主要关注的是一个名为"Android 快捷查询源码"的项目,它是一个基于Android平台的应用程序,使用Java编程语言编写,并可能涉及Apache相关的开源库。这个项目的目标是提供一种快速查询功能,使用户...

    Android-Kitchen-v0.224凤起叶落汉化版

    对于初学者,建议先学习基本的Android开发知识,理解Android系统架构和文件系统。同时,使用时一定要注意备份原始数据,以免因操作失误导致数据丢失。 总的来说,Android Kitchen v0.224凤起叶落汉化版是Android...

    Android Studio汉化包

    这个汉化包适用于Android Studio 2.2.0及以上的版本,这意味着它能够覆盖大部分现代开发者正在使用的Android Studio版本。汉化包的使用可以显著提升开发者的使用体验,减少因为语言障碍导致的理解困难,提高开发效率...

    Android Image Kitchen

    社区资源对于初学者理解和使用这个工具非常有帮助。 7. **风险与注意事项**:修改boot.img可能使设备变得不稳定,甚至导致无法启动。因此,在使用Android Image Kitchen之前,确保备份原始boot.img,并遵循正确的...

    Android Killer

    Android Killer能够将这些字节码转换成接近原始Java源代码的形式,从而提供对应用程序功能的深入洞察。 **可视化界面** 是Android Killer的一大特点,它使得操作变得更加直观和高效。用户无需深入了解命令行工具,...

    Android读取文本文件的demo

    首先,Android中的资源管理非常重要,`res/raw`目录就是存储原始资源的地方,如文本文件、音频文件等。这些资源在编译时会被赋予唯一的ID,以便在运行时通过资源ID访问。 要读取res/raw目录下的文本文件,我们需要...

Global site tag (gtag.js) - Google Analytics