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;  
    }
    

     



  • 相关阅读:
    WF编译报错
    VS2012编译错误信息,错误列表却没显示
    SQL Server带游标的SQL
    SQL Server创建LinkServer
    ASP.NET自定义控件加载资源WebResource问题
    sqlserver 增加用户并分配权限
    Java for C#程序员
    laravel安装
    Convert Geometry data into a Geography data in MS SQL Server
    linux安装ruby
  • 原文地址:https://www.cnblogs.com/flyme2012/p/3992522.html
Copyright © 2011-2022 走看看