assets/资源

QuibblerQuibbler 2020-02-06 约 7 分钟 1645 次阅读

assets资源

Android的资源文件一般放在res/文件夹下,这些会被编译,我们可以直接通过R.java去引用这些资源文件。

        res/drawable               图片

        res/values/string         字符串

        res/values/colors        颜色

        res/values/dimens      尺寸

        res/values/arrays         数组

        res/values/attrs           自定义View属性declare-styleable

        res/values/styles         自定义样式style

        res/raw                        音频

但是一些复杂,较大的数据就不能被Android系统识别或者html页面等不能放在上面的那些res/目录下。而要存放在另一个资源文件夹assets/中,一般工程不会为我们创建这个目录,如果需要存放一些资源文件,需要手动创建,将资源放到这个目录下。

1、AssetManager

这个目录下的文件既然不能被编译,就无法通过R.的形式访问,需要另一个工具AssetManager资产管理器

AssetManager assetManager = context.getAssets();

常用方法:

String[] list(String path)                            列出指定目录下的文件与文件夹列表数组

InputStream open(String fileName)         打开指定assets文件夹下的文件

assetManager.close();                               Close this asset manager

2、读取字符串

public static String getStringFromAsset(Context context, String fileName) {
        String str = "";
        AssetManager assetManager = context.getAssets();
        try {
            InputStream inputStream = assetManager.open(fileName);
            int length = inputStream.available();
            byte[] buffer = new byte[length];
            inputStream.read(buffer);
            str = new String(buffer, StandardCharsets.UTF_8);
        } catch (IOException e) {
            Log.e(TAG, e.toString());
        }
        Log.d(TAG, str);
        return str;
    }

3、读图片

public static Bitmap getImageFromAsset(Context context, String fileName) {
        Bitmap bitmap = null;
        try {
            InputStream in = context.getAssets().open(fileName);
            bitmap = BitmapFactory.decodeStream(in);
        } catch (IOException e) {
            Log.e(TAG, e.toString());
        }
        return bitmap;
    }

更多资料:

         Android资源管理框架(Asset Manager)简要介绍

         Android AssetManager

相关推荐

精选
ViewPager和PagerAdapter、FragmentPagerAdapter、FragmentStatePager
Android

ViewPager和PagerAdapter、FragmentPagerAdapter、FragmentStatePager

ViewPager1、ViewPagerandroidx.viewpager.widget.ViewPager,Android中使用非常广泛的控件,可以说是APP必备:首次打开引导页、页面Banner广告等。常用方法:setAdapter() 设置适配器setOffscreenPageLimit() 设置缓存的页面个数,默认是 1setCurrentItem() 跳转到特定的页面setOnPage

1.1k
获取Android内置WebView内核版本
Android

获取Android内置WebView内核版本

获取Android内置WebView内核版本竟然能遇到这样奇葩的事情,网页用的技术过于新颖,以至于只支持高版本Chromium内核的,低版本安卓系统中内置的内核版本较低,无法加载前端页面。1、设置查看在系统设置里 > 应用 > 应用管理 > 显示系统应用,查看WebView组件:2、页面查看通过WebView发起的网络请求,都会带上浏览器的UA,通常页面都可以通过UA判断浏览器的内核版本。这里有两

1.1w
Android 14适配总结
Android

Android 14适配总结

Android 14适配总结毕业工作至今已经适配了三个Android大版本,从Android 11到Android 12、再到Android 13。2023年,Google即将推出的Android 14,上半年已经开始第一批适配。现在,第四个Android版本已经适配完,总结记录一下。1、Android 14计划Google一般会在2月份对外发布预告,同时放出开发者预览版。“拉通”各大平台、厂商以

1.1w