getresources(getresources 加载资源)

更新时间:2023-03-01 00:25:17 阅读: 评论:0

怎么调用getresource方法

使用getIdentifier()方法可以方便的获各应用包下的指定资源ID。
主要有两种方法:
(1)方式一
Resources resources = context.getResources();
int indentify = resources.getIdentifier(org.loveandroid.androidtest:drawable/icon",null,null);
if(indentify>0){
icon = resources.getDrawable(indentify);
}

第一个参数格式是:包名 + : +资源文件夹名 + / +资源名;是这种格式 然后其他的可以为null

(2)方式二
Resources resources = context.getResources();
intindentify= getResources().getIdentifier("icon", "drawable", "org.anddev.android.testproject");

第一个参数为ID名,第二个为资源属性是ID或者是Drawable,第三个为包名。

如果找到了,返回资源Id,如果找不到,返回0 。

写了一个方法:获取资源ID,如果不存在返回0
static int getResourceId(Context context,String name,Stringtype,String packageName){

ResourcesthemeResources=null;
PackageManager pm=context.getPackageManager();
try {
themeResources=pm.getResourcesForApplication(packageName);
returnthemeResources.getIdentifier(name, type, packageName);
} catch(NameNotFoundException e) {

e.printStackTrace();
}
return0;
}
从数据库里读取图片名称,然后调用图片。直接用R.drawable.?无法调用。查了好多地
主要由两种方法,个人建议第二种。
1.不把图片放在res/drawable下,而是存放在src某个package中(如:com.drawable.resource),这种情况下的调用方法为:
String path = "com/drawable/resource/imageName.png";
InputStream is = getClassLoader().getResourceAsStream(path);
Drawable.createFromStream(is, "src");

2. 如果还是希望直接使用res/drawable中的图片,就需要通过下面的方法了:
假设创建工程的时候,填写的package名字为:com.test.image
int resID = getResources().getIdentifier("imageName", "drawable","com.test.image");
Drawable image = getResources().getDrawable(resID);

Android开发中,如何在静态类中使用getResources()获取图片资源.

获取resource需要context对象,所以你这个问题有如下几个解决思路
1,使用Context作为参数,例如public
static
getResourcesStatic(Context
context,
int
resId)
2,使用Context作为成员变量,在构造函数中接受一个Context参数,并赋值给自己成员变量
这样在此对象生命期内,都可以使用.
不过并不推荐这种做法,因为传入的Context多数情况下是Activity,往往会附着很多资源,如背景图片等,无法GC,导致过高的内存占用.可以用下面的改进方式:
3,使用WeakReference
保存context的弱引用
使用时要注意判断ref.get()是否为null

android的getResources()报错如何解决?

在AndroidStudio的Library工程目录下build.gradle同级目录添加文件"public-xml.gradle"。

在Library的build.gradle文件中添加如下内容:applyfrom:'public-xml.gradle' 。

在AndroidStudio的app主工程的build.gradle同级目录下添加文件"public-xml.gradle"。 这个脚本与Library中脚本的唯一区别就是applicationVariants和libraryVariants。

在app的build.gradle文件中添加如下内容:applyfrom:'public-xml.gradle' 。

然后,重新rebuild工程即可(核实AndroidStudio生成的R文件与public.xml文件中ID一致)。


java的ClassLoader的getResources方法怎么使用

API文档:
getResourcespublic Enumeration<URL> getResources(String name)
throws IOException

查找所有给定名称的资源。资源是可以通过类代码以与代码基无关的方式访问的某些数据(图像、声音、文本等)。
资源名称是以 '/' 分隔的标识资源的路径名称。getResource(String) 的文档中描述了搜索顺序。

参数:
name - 资源名称
返回:
资源的 URL 对象的枚举。如果找不到资源,则该枚举将为空。类加载器无权访问的资源不在此枚举中。
抛出:
IOException - 如果发生 I/O 错误

Android中的是getResource()方法返回什么?

返回的是Resources这个类对象,然后你可以通过它来加载res目录(如下图)下的资源,如加载图片:getResources().getDrawable(R.drawable.cancel);加载字符串:getResources().getString(R.string.accept_info);

res目录


android下怎么获取res资源文件夹的路径

android无法获取res资源文件夹路径,只能通过系统提供的封装函数访问。
资源文件夹有:
/res/drawable
,通过getresources()访问
/res/values
,通过getresources()访问
/res/layout,通过getresources()访问
/res/xml,通过getresources()访问
/res/raw,通过getresources()访问
/asts,通过getasts()访问

本文发布于:2023-02-28 19:10:00,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/zhishi/a/167760151753454.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:getresources(getresources 加载资源).doc

本文 PDF 下载地址:getresources(getresources 加载资源).pdf

标签:加载   资源   getresources
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 实用文体写作网旗下知识大全大全栏目是一个全百科类宝库! 优秀范文|法律文书|专利查询|