Android,使用外部jar的资源
我正在开发一个Android应用程序,并使用这个漂亮的类将资源文件作为Java字符串加载到applications res/raw文件夹中: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
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变体中的应用程序时,比如免费版和付费版,你需要在这两种版本中使用相同的核心组件 在这两种情况下,只需将要重用的文件移动到库模块中,然后将库添加为每个应用程序模块的依赖项