Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android,使用外部jar的资源_Android_Resources_Jar_External - Fatal编程技术网

Android,使用外部jar的资源

Android,使用外部jar的资源,android,resources,jar,external,Android,Resources,Jar,External,我正在开发一个Android应用程序,并使用这个漂亮的类将资源文件作为Java字符串加载到applications res/raw文件夹中: public class ResourceReader { public static String resourceToString(Context context, int id) { try { Resources res = context.getResources(); In

我正在开发一个Android应用程序,并使用这个漂亮的类将资源文件作为Java字符串加载到applications res/raw文件夹中:

public class ResourceReader {
    public static String resourceToString(Context context, int id) {
        try {
            Resources res = context.getResources();
            InputStream in_s = res.openRawResource(id);
            byte[] b = new byte[in_s.available()];
            in_s.read(b);
            return new String(b);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
}
上下文是基于活动的应用程序类,id是使用R.raw.mytext找到的。资源是一个文件,创建于上述文件夹中。 在应用程序中使用时,可以使用以下行将文件内容作为字符串获取: 字符串内容=ResourceReader.resourceToStringthis,R.raw.mytext

由于我读到的资源可能会在其他应用程序中使用,因此我不仅希望将类,而且希望将资源放入外部JAR文件中

在eclipse中,我可以创建一个AndroidJAR文件,包括资源和相关的R类。与名称关联的整数值可以按预期访问,但如何读取内容

我需要获取库的资源,而不是应用程序的资源

resourceToString方法需要一个上下文:

Resources res = context.getResources();

问题是:有图书馆背景吗?我如何理解这个上下文或任何其他方法来访问库资源的内容?

您可以创建一个Android库。输出应为arr文件,其中包括类和资源

您可以查看详细信息

以下是该页的摘录:

Android库在结构上与Android应用程序模块相同。它可以包含构建应用程序所需的一切,包括源代码、资源文件和Android清单。然而,Android库并没有编译成在设备上运行的APK,而是编译成一个Android存档AAR文件,您可以将其用作Android应用程序模块的依赖项。与JAR文件不同,AAR文件可以包含Android资源和清单文件,这允许您在Java类和方法之外捆绑共享资源,如布局和绘图

库模块在以下情况下很有用:

当您构建使用某些相同组件(如活动、服务或UI布局)的多个应用程序时

当你正在构建一个存在于多种APK变体中的应用程序时,比如免费版和付费版,你需要在这两种版本中使用相同的核心组件

在这两种情况下,只需将要重用的文件移动到库模块中,然后将库添加为每个应用程序模块的依赖项


您可以创建一个Android库。输出应为arr文件,其中包括类和资源

您可以查看详细信息

以下是该页的摘录:

Android库在结构上与Android应用程序模块相同。它可以包含构建应用程序所需的一切,包括源代码、资源文件和Android清单。然而,Android库并没有编译成在设备上运行的APK,而是编译成一个Android存档AAR文件,您可以将其用作Android应用程序模块的依赖项。与JAR文件不同,AAR文件可以包含Android资源和清单文件,这允许您在Java类和方法之外捆绑共享资源,如布局和绘图

库模块在以下情况下很有用:

当您构建使用某些相同组件(如活动、服务或UI布局)的多个应用程序时

当你正在构建一个存在于多种APK变体中的应用程序时,比如免费版和付费版,你需要在这两种版本中使用相同的核心组件

在这两种情况下,只需将要重用的文件移动到库模块中,然后将库添加为每个应用程序模块的依赖项