android 开发中的原生资源

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值