`
119568242
  • 浏览: 427981 次
  • 性别: Icon_minigender_1
  • 来自: 深圳/湛江
社区版块
存档分类
最新评论

[转]Android读取assets目录下的资源

 
阅读更多

自:http://abc20899.iteye.com/blog/1096620

 

 

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(); 



}

分享到:
评论

相关推荐

    android 读取 assets 文件夹下的音频

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

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

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

    Android 从assets中获取ini文件内容

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

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

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

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

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

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

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

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

    而要读取assets文件夹中的文件,可以使用AssetManager类。例如,要读取一个图片资源,可以使用AssetManager.open()方法。 在Android中,还有一个非常重要的类就是R类。R类是一个自动生成的类,用于存放资源的ID。...

    Android 读取raw、assets中的txt文件

    - 读取assets目录下的txt文件需要使用`AssetManager`: ```java AssetManager assetManager = getAssets(); InputStream is = null; try { is = assetManager.open("filename.txt"); } catch (IOException e...

    Android Assets文件和Raw文件读取

    读取Assets文件通常需要使用`AssetManager`类。首先,你需要通过`getAssets()`方法从`Context`对象中获取`AssetManager`实例。然后,可以调用`AssetManager`的`open()`或`openFd()`方法来打开文件。例如: ```java ...

    android 从assets和res中读取文件

    在Android项目文件夹里面,主要的资源文件是放在res文件夹里面的。assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件被预编译,可以存放一些... 介绍如何读取assets文件夹的资源。

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

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

    读取Assets资源文件和Json解析Demo

    在这种场景下,Android提供了`Assets`目录,用于存放这些非编译型资源。本教程将详细介绍如何读取`Assets`中的资源文件,并进行JSON解析。 首先,让我们理解什么是`Assets`目录。在Android工程的`src/main`目录下,...

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

    有了`AssetManager`后,可以使用它来打开并读取assets目录下的文件: ```java InputStream inputStream = null; try { inputStream = assetManager.open("file_name"); } catch (IOException e) { e....

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

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

    android的assets下的sql文件操作

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

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

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

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

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

    Unity Android StreamingAssets读图片和读文本事例

    Unity Android StreamingAssets读图片和读文本事例

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

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

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

    1. **访问Assets资源** 在Android中,`AssetManager`是一个系统服务,用于读取应用程序的assets目录。获取AssetManager实例的方法是通过Activity的`getAssets()`方法。例如: ```java AssetManager assetManager ...

Global site tag (gtag.js) - Google Analytics