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

关于在Android Studio中使用Assets目录下的资源的问题

 
阅读更多

一开始在Android Studio中读取Assets目录下的资源的时候,用的是Eclipse下的getResource().getAssets().open("xxx.xml");这里假如是读取一个xml文件,但是这个方法在Android Studio中是会报异常的,为何呢?因为Android Studio和Eclipse中的目录不一样了,所以不能再用Eclipse下的方法读取了,下面是Android Studio中的方法,以我的一个例子来讲

1.首先是assets目录的位置问题,在Eclispe中,这个目录的位置在res/下面,但到了Android Studio中,这个assets目录必须放在跟Java和res同级目录下,下面是截图

我这里是放入了8张图片,好了,我现在想把那些图片写到SD卡,就会涉及到怎样读取assets目录下的文件了,其实很简单,首先是声明那些图片,下面是代码:

private String[] names={"songhuiqiao.jpg","zhangzetian.jpg","songqian.jpg","hangxiaozhu.jpg","jingtian.jpg"
            ,"liuyifei.jpg","kangyikun.jpg","dengziqi.jpg"};

声明完之后,就可以读取了,是用下面的代码完成的

//获取Assets目录下的文件
                is=context.getClass().getClassLoader().getResourceAsStream("assets/"+names[i]);

下面是我的这边的截图:

可以看到用了跟Eclipse中不同的方法就可以读取assets目录下的文件了,下面是打印图片的流的截图:

从打印可以看出,打印出了8张图片的流的信息,由此看出读取assets目录下的图片成功了,接下来就看具体的需要了,这里就不再继续了

总结:Android Studio读取Assets目录下的问题,就是2个问题而已

1.是assets目录的位置问题

2.是读取方法的问题,要用context.getClass().getClassLoader().getResourceAsStream("assets/"+资源名);

希望能帮助有需要的人

分享到:
评论

相关推荐

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

    Android Studio的Gradle插件,如`Android Resources shrinking`,可以帮助我们在构建过程中自动移除未使用的资源。在`build.gradle`文件中,启用`minifyEnabled` 和 `shrinkResources` 选项,如下: ```groovy ...

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

    在Android Studio中添加assets目录主要涉及到Android项目结构和Android资源管理两部分知识。下面将详细介绍与之相关的知识点。 首先,Android项目中assets目录的作用及存放的内容。assets目录用来存放不会被编译到...

    Assets 资源, 放在 assets 目录下

    标题中的“Assets 资源”指的是放置在Android项目`assets`目录下的各种资源文件。这个目录是ADT(Android Development Toolkit)在创建新的Android工程时默认创建的。ADT是Eclipse的一个插件,曾经是Android开发的...

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

    在Android开发中,`assets`文件夹是一个非常重要的资源存储位置,它允许开发者存放各种非结构化的数据,如文本文件、图片、音频等。这些文件不会被编译到APK的资源表中,但可以在运行时通过AssetManager访问。本篇...

    android 读取 assets 文件夹下的音频

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

    Android 读取raw、assets中的txt文件

    在Android应用开发中,有时我们需要从应用程序的资源文件夹中读取文本数据,例如存放在raw或assets目录下的txt文件。这两个目录都是Android系统提供的特殊存储区域,用于存放非代码的资源文件。下面将详细解释如何在...

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

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

    Android 从assets中获取ini文件内容

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

    androidstudio 打包h5 网页地址

    - 对于本地H5资源,可以将其打包到应用的`assets`或`raw`目录,通过`file:///android_asset/`或`file:///android_res/raw/`路径加载。 - 添加错误处理,如网络异常、加载失败等情况的提示。 7. **发布准备**: -...

    Android studio将 Web项目打包成apk

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

    android 文件读取(assets)

    在Android开发中,`assets`目录是一个特殊的地方,用于存储应用程序需要但不通过SQLite数据库或资源文件系统访问的非结构化数据。这个目录下的文件在编译时会被原封不动地复制到APK中,因此在运行时可以使用`...

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

    - 在Android项目的`assets`文件夹下创建`apps`文件夹,再新建一个以`manifest.json`中的`id`命名的文件夹。 - 将HBuilder生成的资源文件夹`www`复制到上述创建的文件夹内。 7. **复制data文件夹**: - 复制`...

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

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

    获取assets文件夹下资源

    `assets`文件夹是Android Studio项目中的一个目录,位于`src/main`目录下。它用于存储开发者自定义的、不被编译为二进制XML格式的文件。这些文件在运行时可以通过`AssetManager`对象进行访问,通常用于存储原始数据...

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

    在Android应用开发中,`assets`和`res/raw`目录都是用来存储应用程序资源的重要部分,但它们之间存在一些关键区别。这两个目录都有各自的用途和访问方式,开发者需要根据实际需求来选择合适的存放位置。 首先,我们...

    读写Android中assets目录下的文件的方法详解

    因为系统在编译的时候不会编译assets下的资源文件,所以我们不能通过R.XXX.ID的方式访问它们。那我么能不能通过该资源的绝对路径去访问它们呢?因为apk安装之后会放在/data/app/**.apk目录下,以apk形式存在,asset/...

    MuPDF阅读PDF文件(AndroidStudio版)

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

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

    2. **视频资源**:确定视频来源,可以是应用内的资源(如raw或assets目录下的视频文件),也可以是网络URL。 3. **初始化VideoView**:在Activity的onCreate()方法中,找到VideoView并设置其源: ```java ...

    Android动态加载jar/dex,基于android studio+android开发艺术其他demo

    2. 将.dex文件放入应用资源:可以将.dex文件放在assets或raw目录下,以便在运行时访问。 3. 自定义ClassLoader:继承ClassLoader,重写findClass方法,使其能够读取并加载新dex中的类。 4. 加载 Dex 文件:使用...

    assets下mp3播放

    在Android开发中,"assets下mp3播放"指的是在应用程序的assets目录中存储MP3音频文件,并通过程序实现播放这些音频资源的过程。assets目录是Android应用程序的一个特殊文件夹,用于存放非编译型的数据,如文本文件、...

Global site tag (gtag.js) - Google Analytics