android 开发中的原生资源

来源:互联网 发布:中国地缘政治知乎 编辑:程序博客网 时间:2024/05/22 14:21

android开发中总是有很多的资源,这些资源都是系统所依赖的,在不同的文件夹下放置不同的资源,不仅可以提高程序的清晰度,而且android 系统为我们也做了很多的事情,在不同的文件夹,android框架会为我们生成不同的内容:

Android应用资源大的方向可以分为2大类:

一、

无法从R清单类中获取到资源的原始资源类,保存在assets文件夹下,

二、

可以通过R清单获取到资源的类,保存在res文件夹下

android开发中的原生资源可以放置到两个地方,一个是在assets文件夹下,还有一种是放置到res/raw文件夹下,这个文件夹在开始创建android项目的时候是默认不建立的,需要手工去建立,因为在res文件夹下的文件会在R类中生成对应的ID,进而可以通过ID来进行查找相应的资源,所以放置的位置不同,使用的方式也不太一样,从大方面来说,因为都是原始资源类,所以都是需要通过流的形式进入程序中进行显示的,不同就是在获取流的方式上,这也是android框架做的一些事情:

assert文件夹下的文件

package com.xu.dbtest.io;import android.content.Context;import android.util.Log;import com.xu.dbtest.R;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * Created by Administrator on 2015/5/5. */public class OriginResources {    private Context context;    public OriginResources(Context context) {        this.context = context;    }    public void getResFormAssets() {        try {            InputStreamReader inputStreamReader = new InputStreamReader(context.getAssets().open("xushuangshuang.txt"));            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);            String line = "";            String result = "";            while ((line = bufferedReader.readLine()) != null) {                result += line;            }            Log.e("test  getResFormAssets", result);        } catch (IOException e) {            e.printStackTrace();        }    }    public void getResFormRaw() {        InputStreamReader inputStreamReader = new InputStreamReader(context.getResources().openRawResource(R.raw.xushuangshuang));        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);        String line = "";        String result = "";        try {            while ((line = bufferedReader.readLine()) != null) {                result += line;            }            Log.e("test  getResFormRaw", result);        } catch (IOException e) {            e.printStackTrace();        }    }}


执行结果:


因为我使用的是android  studio所以我的目录结构:

gradle进行目录结构的生成,


两种阅读的方式,在android环境下,框架已经为我们做了很多事情了

0 0
原创粉丝点击