基于将Android工程做成jar包和资源文件的解决方法

 更新时间:2013年05月09日 10:06:43   作者:  
有时候,我们希望将我们的Android工程提供给第三方开发者使用。这个时候,最普遍的做法,就是提供一个jar包和一堆资源文件,第三方开发者可以将资源文件拷贝到Android工程的相应目录下,同时引用我们提供的jar包,就可以使用我们提供的相应API了

需要特别注意的是,以jar包和资源包方式提供给第三方开发者,我们的工程的代码中就不能使用类似于R.layout.main、R.string.name等等这样的方式来引用资源了。

为此,我们就不能直接使用R文件,而是要通过字段名称来动态的获取资源的id,再来使用。

以下封装了一个类,可以通过字段名称动态获取id。

复制代码 代码如下:

package com.arui.util; 

import android.content.Context; 

public class ResourceUtil { 

    public static int getLayoutId(Context paramContext, String paramString) { 
        return paramContext.getResources().getIdentifier(paramString, "layout", 
                paramContext.getPackageName()); 
    } 

    public static int getStringId(Context paramContext, String paramString) { 
        return paramContext.getResources().getIdentifier(paramString, "string", 
                paramContext.getPackageName()); 
    } 

    public static int getDrawableId(Context paramContext, String paramString) { 
        return paramContext.getResources().getIdentifier(paramString, 
                "drawable", paramContext.getPackageName()); 
    } 

    public static int getStyleId(Context paramContext, String paramString) { 
        return paramContext.getResources().getIdentifier(paramString, 
                "style", paramContext.getPackageName()); 
    } 

    public static int getId(Context paramContext, String paramString) { 
        return paramContext.getResources().getIdentifier(paramString, 
                "id", paramContext.getPackageName()); 
    } 

    public static int getColorId(Context paramContext, String paramString) { 
        return paramContext.getResources().getIdentifier(paramString, 
                "color", paramContext.getPackageName()); 
    } 



当然,如果能够将资源文件也都写入jar包,对于第三方开发者来说,是最方便的。如果想做到这一点,就必须完全在代码中处理布局、图片资源等等,相对来说比较麻烦。如果UI等元素非常的少,值得尝试。

相关文章

  • Android编程简易实现XML解析的方法详解

    Android编程简易实现XML解析的方法详解

    这篇文章主要介绍了Android编程简易实现XML解析的方法,结合实例形式总结分析了Android操作xml文件的各种常见技巧与相关注意事项,需要的朋友可以参考下
    2017-08-08
  • android编程之多线程编程实例分析

    android编程之多线程编程实例分析

    这篇文章主要介绍了android编程之多线程编程,实例分析了Android多线程程序设计的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • Android中Handler消息传递机制

    Android中Handler消息传递机制

    这篇文章主要介绍了Android中Handler消息传递机制 的相关资料,需要的朋友可以参考下
    2016-03-03
  • Android多渠道打包总结(推荐)

    Android多渠道打包总结(推荐)

    多渠道打包一般应用于向不同应用市场提交app后用来统计不同渠道下载量等一些信息,这篇文章主要介绍了Android多渠道打包总结,非常具有实用价值,需要的朋友可以参考下
    2018-10-10
  • Android实现多次闪退清除数据

    Android实现多次闪退清除数据

    这篇文章主要介绍了Android实现多次闪退清除数据的相关资料,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • 五分了解Android Progress Bar进度条加载

    五分了解Android Progress Bar进度条加载

    这篇文章主要为大家介绍了Android Progress Bar进度条加载的实现及属性示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Android 实现图片模糊、高斯模糊、毛玻璃效果的三种方法

    Android 实现图片模糊、高斯模糊、毛玻璃效果的三种方法

    在前几天写过一个使用glide-transformations的方法实现高斯模糊的方法,今天偶然间有发现一个大神写的另一个方法,感觉挺不错的,分享一下
    2016-12-12
  • 老生常谈Listview中onItemClick中的各个参数(推荐)

    老生常谈Listview中onItemClick中的各个参数(推荐)

    下面小编就为大家带来一篇老生常谈Listview中onItemClick中的各个参数(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Android 自定义控件详解及实例代码

    Android 自定义控件详解及实例代码

    这篇文章主要介绍了 Android 自定义控件详解及实例代码的相关资料,Android 系统自带控件有时候满足不了需求,就需要自己定义控件,需要的朋友可以参考下
    2017-03-03
  • Android中控制和禁止ScrollView自动滑动到底部的方法

    Android中控制和禁止ScrollView自动滑动到底部的方法

    这篇文章主要给大家介绍了关于Android中控制和禁止ScrollView自动滑动到底部的相关资料,文中通过示例代码介绍的非常详细,对各位Android开发者们具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-10-10

最新评论