`
ch_kexin
  • 浏览: 899095 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论

Android Studio 中Assets的使用

 
阅读更多

 Android Studio 添加Assets目录:

1、In Android Studio, right-click on the  folder and navigate to the Assets Folder.

On the next screen just click Finish.

It will create the assets folder in the main target source set.

2、可以在build.gradle文件下配置,加如下代码

" sourceSets { main { assets.srcDirs = ['src/assets', 'src/assets/'] } } "

android {
compileSdkVersion 24
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.city.linkage"
minSdkVersion 15
targetSdkVersion 24
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets { main { assets.srcDirs = ['src/assets', 'src/assets/'] } }
}

根据 assets.srcDirs=['src/assets']  这个路径来放置,(注:路径可以改变)如图:

<iframe id="iframe_0.7414613890904245" style="margin: 0px; padding: 0px; border-width: initial; border-style: none; width: 172px; height: 155px;" src="data:text/html;charset=utf8,%3Cstyle%3Ebody%7Bmargin:0;padding:0%7D%3C/style%3E%3Cimg%20id=%22img%22%20src=%22https://static.oschina.net/uploads/space/2017/0222/180354_n60s_2945455.png?_=6430366%22%20style=%22border:none;max-width:730px%22%3E%3Cscript%3Ewindow.onload%20=%20function%20()%20%7Bvar%20img%20=%20document.getElementById('img');%20window.parent.postMessage(%7BiframeId:'iframe_0.7414613890904245',width:img.width,height:img.height%7D,%20'http://www.cnblogs.com');%7D%3C/script%3E" frameborder="0" scrolling="no"></iframe>

 

如何获得android assert 里图片的绝对路径:

第一种方法:

String path = "file:///android_asset/文件名";

第二种方法:

InputStream abpath = getClass().getResourceAsStream("/assets/文件名");

若要想要转换成String类型

String path = new String(InputStreamToByte(abpath ));

private byte[] InputStreamToByte(InputStream is) throws IOException {
        ByteArrayOutputStream bytestream = new ByteArrayOutputStream();
        int ch;
        while ((ch = is.read()) != -1) {
            bytestream.write(ch);
        }
        byte imgdata[] = bytestream.toByteArray();
        bytestream.close();
        return imgdata;
    }

        这样获取的路径并不能直接访问到assets的资源,如果一个mp3放在assets下,通过以上两种方法获得的路径并不能直接播放里面的mp3文件,那是因为在安卓应用中使用assets目录下存放的资源文件,是代表应用无法直接访问的原生资源,应用程序通过AssetManager以二进制流的形式来读取资源。

        第一种获取路径的方法,目前我所知道的,只是针对html的展示来使用的,比如你用到了webview,那么html的path可以用这种方法显示,其他情况不行。

        那么我们想用MediaPlayer播放里面的视频或者音乐该怎么做呢?可以以以下方式进行播放:

   

         MediaPlayer mediaPlayer=new MediaPlayer();
            AssetFileDescriptor afd = getAssets().openFd("musics/SleepOceation.mp3");
            mediaPlayer.setDataSource(afd.getFileDescriptor());
            mediaPlayer.prepare();(注意这句话必须有!)
            mediaPlayer.start();

 

  OK,这样就能顺利播放assets下的音乐或者视频文件了!

分享到:
评论

相关推荐

    AndroidStudio清理无用冗余资源文件工具使用方法

    在Android Studio中,可以使用`Build` -&gt; `Analyse APK` 和 `Gradle Scripts` -&gt; `build.gradle` 文件配合Gradle插件来查找和删除无用资源。 1. Analyse APK 通过`Build` -&gt; `Analyse APK`,我们可以查看APK的组成...

    Android 加载assets文件夹的文本文件 图片

    1. **加载assets中的文本文件** - **创建assets文件夹**:首先,在项目的`src/main`目录下创建一个名为`assets`的文件夹(如果不存在的话)。将所有文本文件放入此文件夹。 - **获取AssetManager**:在需要访问...

    Android Studio下添加assets目录的实现方法

    但是工程默认并未创建assets目录,那么如何在android studio中创建assets目录呢? 目录位置为:XXX\src\main\assets XXX代表你的项目的路径,assets放在src\main目录下。 以上这篇Android Studio下添加assets目录的...

    Android studio加载本地html的文档问题

    - 确保在代码中使用的URL路径正确。 2. **WebView加载失败**:如果WebView无法正常显示HTML内容,可以尝试以下方法: - 清理项目缓存(Build &gt; Clean Project)。 - 重新编译项目(Build &gt; Rebuild Project)。 ...

    android 读取 assets 文件夹下的音频

    在Android开发中,有时我们需要在应用内部存储一些资源文件,如音频、文本或图片,而`assets`文件夹就是用于存放这些非编译型资源的一个特殊目录。在本例中,我们将探讨如何从`assets`文件夹中读取音频文件,并提供...

    androidstudio 打包h5 网页地址

    下面,我们将深入探讨如何在Android Studio中进行H5网页的打包以及创建一个包壳应用。 首先,我们需要理解什么是“包壳”。包壳(Shell)应用是指一个基本的Android应用框架,它的主要功能是加载和展示外部资源,如...

    Android studio将 Web项目打包成apk

    本文详细介绍了如何使用 Android Studio 将 Web 项目打包成 APK,包括创建项目、创建 assets 文件夹、在 activity_main.xml 中创建 WebView、在 MainActivity 中编写代码、在 AndroidManifest.xml 中添加配置、将 ...

    Hbuilder项目Android Studio本地打包详细步骤

    以上步骤详细介绍了如何使用HBuilder和Android Studio进行本地打包的过程。通过这种方式可以将基于HTML5开发的应用程序转换成可以在Android平台上运行的原生应用程序。在实际操作过程中,可能会遇到各种问题,建议...

    Android打开本地HTML网页AndroidStudio工程.rar

    例如,避免在HTML中使用不安全的代码,防止XSS攻击。同时,如果HTML中引用了外部资源(如图片、CSS或JS文件),请确保这些资源也是安全的。 9. **优化性能**: 对于复杂的HTML页面,可以考虑开启硬件加速(`...

    Android Studio配合Gradle及Unity交互笔记续

    Android Studio 与 Unity 的交互技术是移动游戏开发中一个重要的环节,它允许开发者使用 Unity 来创建游戏,并通过 Android Studio 构建和发布到 Android 平台。本文档着重讲述了如何将 Unity 导出的项目与 Android ...

    MuPDF阅读PDF文件(AndroidStudio版)

    在Android Studio中使用MuPDF,首先需要将MuPDF库导入到项目中。这通常通过添加依赖库到`build.gradle`文件来实现。在描述中提到的博客文章中,可能详细介绍了如何配置Gradle构建文件以引入MuPDF库。 3. **项目...

    Android 使用意图播放本地视频

    Android播放视频的方式有三种: 一、使用意图播放,调用本地安装的播放器,选择一个进行播放。...本文章只讲解使用意图播放视频,用于处理播放的具体机制也是MediaPlayer,其余的播放将在后面的文章中讲到。

    Android 从assets中获取ini文件内容

    在Android Studio项目中,找到`app/src/main/assets`目录(如果不存在,需手动创建)。将ini文件放入此目录,例如命名为`config.ini`。 步骤二:获取AssetManager实例 在需要读取ini文件的Activity或Service中,...

    android 文件读取(assets)

    4. **使用assets中的字体文件** - 在assets中存放自定义字体文件,可以用于改变应用中的文字显示风格。 - 获取`Typeface`对象,然后设置给`TextView`或其他可设置字体的视图。 ```java Typeface customFont = ...

    Android studio 添加assets文件夹的方法

    下面我们将详细介绍如何在Android Studio中添加assets文件夹。 首先,我们来看手动创建assets文件夹的步骤: 1. **切换视图模式**:在Android Studio的项目导航器(通常位于左侧)中,顶部的下拉菜单默认显示的是...

    Android Studio Essentials

    ### Android Studio Essentials: Key Concepts and Features In the fast-paced world of mobile application development, Android Studio has become an indispensable tool for developers aiming to create ...

    android studio 打包.jar到unity调用 unity工程

    在Unity游戏开发中,有时需要使用到Android原生代码,比如访问硬件设备、处理复杂的算法或是实现特定功能,这时就需要将Java代码打包成.JAR文件,然后在Unity中调用。这个过程涉及到Android Studio和Unity两个开发...

    Android assets 和 res/raw 区别。读取本地网页,读取文本字体样式,读取视频。

    与`assets`不同,`res/raw`中的文件不能保留目录结构,且必须是可识别的资源类型(Android Studio会提示错误)。读取`res/raw`中的文件通常使用`openRawResource()`方法,传入对应的资源ID。 读取本地网页: 在`...

    android实战 视频播放器(android studio源程序工程)

    使用Android Studio可以更高效地构建和测试Android应用程序。 在这个项目中,"VideoView"是一个关键组件。VideoView是Android SDK提供的一种视图,它允许我们在应用中嵌入视频播放功能。VideoView可以加载本地视频...

Global site tag (gtag.js) - Google Analytics