zoukankan      html  css  js  c++  java
  • 将Android工程打成jar包之后对资源的调用。

    Android工程不能完整的打包成jar包。这个主要是R文件导致的,但是我们可以将除了资源文件中的所有东西都打到jar包中。Activity、View等等类。

    提供jar包的同时,还需要提供资源文件。

    需要注意的是:

    1.如果jar包中包含Activity中,一定要在引用的工程中注册

    2.如果有资源文件,不能使用R.……  将资源文件拷贝到引用的工程中 使用以下类进行转换调用。

    public class MResource { 
    public static int getIdByName(Context context, String className, String name) { 
    String packageName = context.getPackageName(); 
    Class r = null; 
    int id = 0; 
    try { 
    r = Class.forName(packageName + “.R”);

            Class[] classes = r.getClasses();  
            Class desireClass = null;  
    
            for (int i = 0; i < classes.length; ++i) {  
                if (classes[i].getName().split("\$")[1].equals(className)) {  
                    desireClass = classes[i];  
                    break;  
                }  
            }  
    
            if (desireClass != null)  
                id = desireClass.getField(name).getInt(desireClass);  
        } catch (ClassNotFoundException e) {  
            e.printStackTrace();  
        } catch (IllegalArgumentException e) {  
            e.printStackTrace();  
        } catch (SecurityException e) {  
            e.printStackTrace();  
        } catch (IllegalAccessException e) {  
            e.printStackTrace();  
        } catch (NoSuchFieldException e) {  
            e.printStackTrace();  
        }  
    
        return id;  
    }
    

     



  • 相关阅读:
    Spark RDD操作(1)
    scala学习笔记(8): 列表的map,flatMap,zip和reduce
    (转)hadoop基本操作命令
    Mac下配置环境变量
    Spark快速入门(1)
    urllib2 request 模拟伪装浏览器
    linux下面Zookeeper的单机模式(standalone)
    linux redis安装
    python OCR 图形识别
    mysql 、慢查询、到底如何玩
  • 原文地址:https://www.cnblogs.com/flyme2012/p/3992522.html
Copyright © 2011-2022 走看看