首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从Android图书馆项目访问资源?

从Android图书馆项目访问资源?
EN

Stack Overflow用户
提问于 2015-01-19 08:01:59
回答 1查看 3.5K关注 0票数 13

我正试图建一个图书馆。我在res目录下有一个Android库项目和一些资源,我想在库项目的代码中访问这些资源。Android的文档上写着:

库模块中的源代码可以通过其R类访问自己的资源。

但我就是想不出怎么做。因为它是一个库,打算从其他应用程序中使用,而不是自己运行,所以我没有Activity,所以不能让Context使用getResources()。如何在没有上下文的情况下显式地访问这些资源?

EN

回答 1

Stack Overflow用户

发布于 2017-01-05 16:57:42

如果没有活动,就不可能使用R类。如果在库中有测试应用程序,则测试应用程序将能够访问R,但不能访问库本身。

不过,您仍然可以按名称访问资源。例如,我的图书馆里有一个这样的类,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class MyContext extends ContextWrapper {
  public MyContext(Context base) {
    super(base);
  }

  public int getResourceId(String resourceName) {
    try{
        // I only access resources inside the "raw" folder
        int resId = getResources().getIdentifier(resourceName, "raw", getPackageName());
        return resId;
    } catch(Exception e){
        Log.e("MyContext","getResourceId: " + resourceName);
        e.printStackTrace();
    }
    return 0;
  }
}

(有关https://stackoverflow.com/a/24972256/1765629的更多信息,请参见ContextWrappers)

库中的对象的构造函数采用上下文包装器,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class MyLibClass {
  public MyLibClass(MyContext context) {
    int resId = context.getResourceId("a_file_inside_my_lib_res");
  }
}

然后,在使用lib的应用程序中,我必须传递上下文,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class MyActivity extends AppCompatActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    MyLibClass a = new MyLibClass(new MyContext(this));
  }
}

MyContext、MyLibClass和a_file_inside_my_lib_res,它们都生活在库项目中。

希望能帮上忙。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28028741

复制
相关文章
Java项目—图书馆[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/156880.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/08
7270
springboot项目中静态资源的访问
springboot项目中静态资源的根目录是: src/main/resources/static 静态资源如html页面、图片、js、css等 都放在此文件夹或该文件夹的子文件夹下。 比如在sta
贪挽懒月
2018/05/18
1.3K0
nginx 实现动静分离访问项目资源
<img alt=”sss” src=”<%=request.getContextPath() %>/static/jietu.jpg”>
全栈程序员站长
2022/09/03
3880
nginx 实现动静分离访问项目资源
springMVC访问静态资源——js、css、img等资源访问不到
进行springMVC的使用时,搭建框架的时候,发现一个简单的demo都跑不起来。发现引入的js出现404了。之后就查找各种资料后,发现,原来需要配置静态资源,否则不能进行访问指定的js资源。
Java架构师必看
2021/05/14
4.1K0
springMVC访问静态资源——js、css、img等资源访问不到
Nginx 静态资源访问
如何访问 Nginx 的静态资源?这其中涉及到了 Nginx 的核心功能 Rewrite 重写技术,本内容将讲解处理访问静态资源的相关知识。
用户9615083
2022/12/25
7.8K0
Nginx 静态资源访问
SpringBoot 系列-资源访问
当我们创建一个 SpringBoot web 应用时,有时候需要从 classpath 去加载一些文件,这里记录下在 war 和 jar 两种不同文件格式下加载文件的解决方案。
安徽开发者圈
2020/03/02
6070
SpringMVC访问静态资源
http://www.cnblogs.com/yank/p/4477204.html
bear_fish
2018/09/19
2K0
SpringMVC访问静态资源
【WPSJS开发】让WPSJS项目如后端项目般访问本地电脑资源方法
在WPSJS项目中,除了可以用全套的网页前端开发技术外,还可以使用传统的后端开发,对电脑的资源进行访问,特别是对文件资源的访问。
Excel催化剂
2021/08/18
3K0
跨帐号访问COS资源
日常工作中,经常会存在跨帐号访问COS资源的场景,例如两个主体公司,甲方和乙方,资源归属甲方,但需要乙方进行软件开发和部署,所以甲方需要授权给乙方一定的资源访问和访问管理权限。下面就介绍一下,如果跨账号来访问COS资源,并实现精细化管理。
wainsun
2020/07/27
3.4K1
跨帐号访问COS资源
Nginx 限制资源的访问
Nginx可以限制 每个键值(例如,每个IP地址)的连接数 每个键值的请求率(在一秒钟或一分钟内允许处理的请求数) 连接的下载速度 请注意,可以在NAT设备后面共享IP地址,因此应谨慎使用IP地址限制 限制并发 http { .......... #省略部分内容 limit_conn_zone $binary_remote_addr$uri zone=xzbf:10m; limit_conn_status 503; server { listen 80; location / {
剧终
2020/10/09
1.9K0
Nginx 限制资源的访问
跨帐号访问COS资源
日常工作中,经常会存在跨帐号访问COS资源的场景,例如两个主体公司,甲方和乙方,资源归属甲方,但需要乙方进行软件开发和部署,所以甲方需要授权给乙方一定的资源访问和访问管理权限。下面就介绍一下,如果跨账号来访问COS资源,并实现精细化管理。
wainsun
2021/02/23
1.4K0
跨帐号访问COS资源
chrome访问本地静态资源
1.在manifest中添加web_accessible_resources声明静态资源地址:
biaoblog.cn 个人博客
2022/08/11
1.9K1
Java通过GUI 做一个图书馆访问管理器
效果图: 代码: Integer [][]visitordata={{2004,1500},{2005,1450},{2006,2000},{2007,2050},{2008,2500},{2009,2000},{2010,1600},{2011,3000},{2012,3200}, {2013,4000},{2014,3500},{2015,2000},{2016,2300}}; String
taoli
2022/09/27
3210
Java通过GUI 做一个图书馆访问管理器
Android图片资源
用户1172465
2018/01/05
1.2K0
Android图片资源
Springboot中如何访问静态资源
这个配置项是告诉springboot,应该以什么样的方式去寻找资源。默认配置为 /* 。换句话说,只有静态资源满足什么样的匹配条件,Spring Boot才会处理静态资源请求 比如下面这个配置
凯哥Java
2019/06/28
3.9K0
Springboot中如何访问静态资源
Spring Boot 设置静态资源访问
问题描述 当使用spring Boot来架设服务系统时,有时候也需要用到前端页面,当然就不可或缺地需要访问其他一些静态资源,比如图片、css、js等文件。那么如何设置Spring Boot网站可以访问得到这些静态资源,以及静态资源如何布局? 解决方案 这里引用stackoverflow网站的问题截图:[http://stackoverflow.com/questions/27381781/java-spring-boot-how-to-map-my-my-app-root-to-index-html]
hbbliyong
2018/03/06
8990
Spring Boot 设置静态资源访问
nginx 授权资源跨站访问
最近一h5前端同事反馈说某个字体库连接(类似于http://www.example.com/test.ttf)无法访问。
后端技术探索
2018/08/09
6530
nginx配置访问本地静态资源
nginx作为一款高性能的服务器,用途很多,除了可以做后端服务器的代理,负载均衡之外你,还有一个用途就是做静态资源的缓存服务器,比如在前后端分离的项目中,为了加速前端页面的响应速度,我们可以将前端的相关资源,例如html,js,css或者图片等放到nginx指定的目录下,访问的时候只需要通过IP加路径就可以实现高效快速的访问,
全栈程序员站长
2022/09/14
4.8K0
nginx配置访问本地静态资源
从基础到项目实战,你要的Java资源这里都有
送给大家一波Java学习资源,从入门、中级、高级再到项目实战,都是非常不错的,截图了一部分,更多请添加小编微信领取
程序工场
2018/07/03
5860
点击加载更多

相似问题

无法从cordova Android应用程序访问图书馆资源

10

Android图书馆资源

22

访问图书馆资源的Android应用程序

10

如何读取"Android图书馆项目“中的资产资源

23

用Ant构建Android项目中的图书馆资源

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文