`
abc20899
  • 浏览: 928830 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android读取assets目录下的资源

阅读更多
1。获取资源的输入流

资源文件 sample.txt 位于 $PROJECT_HOME/assets/ 目录下,可以在 Activity 中通过

Context.getAssets().open(“sample.txt”)

方法获取输入流。

注意:如果资源文件是文本文件则需要考虑文件的编码和换行符。建议使用UTF-8和Unix换行符。

2. WebView 加载assets目录下的html文件

资源文件 sample.html 位于 $PROJECT_HOME/assets/ 目录下,可以通过以下代码

WebView.loadUrl(“file:///android_asset/sample.html”);

加载html文件。



Android 系统为每个新设计的程序提供了/assets目录,这个目录保存的文件可以打包在程序里。/res 和/assets的不同点是,android不为/assets下的文件生成ID。如果使用/assets下的文件,需要指定文件的路径和文件名。下面这个例子,显示如何访问/assets下的内容。



   在文件中/assets 中建立/image子目录,将/res/drawable下的icon.png子目录拷贝到该目录中。在/assets子目录中建立readme.txt文件,文件中输入文本“hello,world!!!”。



布局文件:main.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    >

<TextView

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="@string/hello"

    />

    <EditText android:id="@+id/firstId"

     android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="@string/hello"

    />

    <EditText android:id="@+id/secondId"

     android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="@string/hello"

    />

</LinearLayout>






程序文件:

package com.cn.getassets;



import android.app.Activity;

import android.os.Bundle;

import java.io.ByteArrayOutputStream;

import java.io.IOException;

import java.io.InputStream;

import android.app.Activity;

import android.content.res.AssetManager;

import android.os.Bundle;

import android.util.Log;

import android.widget.EditText;



public class GetAssets extends Activity {

private EditText firstField;

private EditText secondField;

@Override

public void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

//  Log.d("show main.xml","ok");

  setContentView(R.layout.main);

  Log.d("show main.xml","ok");

  AssetManager assetManager = getAssets();

  String[] files = null;

  try {

   files = assetManager.list("image");

  } catch (IOException e) {

   Log.e("tag", e.getMessage());

  }

  firstField = (EditText) findViewById(R.id.firstId);

  firstField.setText(Integer.toString(files.length)+"file.File name is"+ files[0]);

  InputStream inputStream = null;

  try {

   inputStream = assetManager.open("readme.txt");

  } catch (IOException e) {

   Log.e("tag", e.getMessage());

  }

  String s = readTextFile(inputStream);

  secondField = (EditText) findViewById(R.id.secondId);

  secondField.setText(s);

}



private String readTextFile(InputStream inputStream) {

  ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

  byte buf[] = new byte[1024];

  int len;

  try {

   while ((len = inputStream.read(buf)) != -1) {

    outputStream.write(buf, 0, len);

   }

   outputStream.close();

   inputStream.close();

  } catch (IOException e) {

  }

  return outputStream.toString();

}

}
分享到:
评论
1 楼 aduo_vip 2013-01-10  
不错,总结得好!

相关推荐

    android 读取 assets 文件夹下的音频

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

    Android 从assets中获取ini文件内容

    本篇文章将详细介绍如何在Android应用程序中从assets目录下获取ini文件的内容,并实现对指定内容的读取。 首先,让我们了解一下Android项目的assets目录。这是一个特殊的位置,允许开发者放置任何静态资源文件,...

    Android读取assets目录下的所有图片并显示的方法

    综上所述,Android应用中读取assets目录下的图片并显示需要经过获取AssetManager引用、列出子文件、读取解码图片、设置ImageView以及正确管理资源等多个步骤。通过理解这些步骤,开发者可以灵活地处理应用内部的图片...

    android 将assets 下的文件复制到手机内存中

    与`res`目录不同,`res`目录下的文件会被编译进APK并有特定的资源ID,而`assets`目录下的文件则保持原貌,适用于存放原始格式的数据。 1. **获取AssetManager** 要访问assets目录,首先需要获取`AssetManager`实例...

    Android开发实现读取assets目录下db文件的方法示例

    Android开发实现读取assets目录下db文件的方法示例 Android开发中,读取assets目录下db文件是一个常见的操作,特别是在开发基于SQLite数据库的应用程序时。下面我们将详细介绍Android开发实现读取assets目录下db...

    Android读取assets下面文件的代码例子

    这些文件通常存储在项目的`assets`目录下,因为它们不是Android资源系统的一部分,但仍然需要在运行时访问。本篇文章将深入讲解如何在Android应用中读取`assets`目录下的文件。 首先,让我们理解`assets`目录的作用...

    android:assets下的文件复制到SD卡

    为了复制所有文件,首先需要获取assets目录下的文件列表。可以使用AssetManager的`list()`方法,它返回一个包含子目录名的字符串数组。例如: ```java String[] files = assetManager.list(""); ``` 3. **逐个...

    android 从assets获取图片

    ### Android 从 Assets 文件夹获取图片的实现方法 在Android应用开发过程中,经常会遇到需要从`assets`文件夹中加载资源的情况,特别是图片资源。本文将详细介绍如何在Android应用程序中从`assets`文件夹获取图片,...

    android从assets和res中读取文件.pdf

    Android从assets和res中读取文件 Android中的资源文件夹主要有两个:res和assets。res文件夹用于存放编译后的资源文件,而assets文件夹用于存放原始文件。下面我们将详细介绍这两个文件夹的作用和如何从中读取文件...

    Android Assets文件和Raw文件读取

    Assets文件夹位于项目的res目录下,它是专门为开发者提供的一种灵活的资源存储方式。与res目录中的其他资源不同,Assets中的文件不会被编译或处理,而是原封不动地打包到APK中,可以在运行时动态访问。这种方式特别...

    android的assets下的sql文件操作

    首先,`assets`目录是Android工程中的一个特殊目录,它不在编译后的APK的主资源目录下,而是用于存放应用的非代码静态资源,如文本文件、图片、数据库等。在构建过程中,这些资源会被原封不动地打包到APK中,因此在...

    Android 读取raw、assets中的txt文件

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

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

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

    Android访问assets本地json文件的方法

    目的:当App中用到固定的json数据时,如:国家城市列表、班级成员等时,可以将json数据制作为本地json文件存入assets文件夹下。... // 获得assets资源管理器(assets中的文件无法直接访问,可以使用AssetManager访问

    获取assets文件夹下资源

    下面将详细讲解如何在Android中获取`assets`文件夹下的资源。 1. **什么是`assets`文件夹** `assets`文件夹是Android Studio项目中的一个目录,位于`src/main`目录下。它用于存储开发者自定义的、不被编译为二进制...

    Android读取Assert资源目录下数据库,数据库操作

    有时,我们可能需要在应用程序启动时预先填充一些数据,这时可以将预置的数据库文件放入`assets`目录下,然后在程序运行时读取并加载。本文将详细介绍如何在Android中从`assets`目录读取数据库,并进行相关操作。 ...

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

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

    android获取assets内容

    在Android开发中,`assets`目录是一个特殊的地方,开发者可以将非资源文件(如文本、配置文件、数据库等)放入其中。这些文件不会被编译为应用的资源,但可以在运行时通过`AssetManager`访问。本文将详细介绍如何在...

    android读取raw和assets下资源文件demo

    本示例“android读取raw和assets下资源文件demo”旨在教你如何在Android应用中有效地读取并处理存储在`res/raw`和`assets`目录下的资源文件。 一、res/raw目录 `res/raw`目录是Android资源系统的一部分,它允许...

    【android开发】解析assets文件夹下XML资源文件

    这篇教程主要聚焦于如何从assets文件夹下读取并解析XML资源文件。assets文件夹是Android项目中的一个特殊目录,用于存储应用程序运行时需要的任意文件,如数据文件、配置文件或者非标准格式的资源。 首先,让我们...

Global site tag (gtag.js) - Google Analytics