Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.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 动态活动注册_Android_Dynamic_Android Manifest_Android Activity_Dynamic Class Loaders - Fatal编程技术网

Android 动态活动注册

Android 动态活动注册,android,dynamic,android-manifest,android-activity,dynamic-class-loaders,Android,Dynamic,Android Manifest,Android Activity,Dynamic Class Loaders,我有一个关于Android活动和AndroidManifest.xml的问题。这个问题是在我使用Javaservlet时出现的,我想创建一个“基于模块的”或类似于基于插件的服务器。这很好,我可以使用类似以下的代码方法动态加载所需的servlet:。Servlet在服务器启动期间被动态查找和映射 这里的问题不是如何找到合适的活动,或者如何创建它们的新实例,或者如何启动它们,我已经找到了这一部分。我可以迭代我的包,找到合适的活动类,创建它们的新实例,并将它们添加到列表中 我一直在使用接口,所有活动都

我有一个关于Android活动和AndroidManifest.xml的问题。这个问题是在我使用Javaservlet时出现的,我想创建一个“基于模块的”或类似于基于插件的服务器。这很好,我可以使用类似以下的代码方法动态加载所需的servlet:。Servlet在服务器启动期间被动态查找和映射

这里的问题不是如何找到合适的活动,或者如何创建它们的新实例,或者如何启动它们,我已经找到了这一部分。我可以迭代我的包,找到合适的活动类,创建它们的新实例,并将它们添加到列表中

我一直在使用
接口
,所有活动都必须实现该接口才能成为有效的活动。这样,我就可以为我的应用程序创建新的部件、扩展或新功能,一切正常。在我的应用程序中,我有一个用户可以单击的按钮列表,该按钮列表是通过使用
ListView
将它们添加到我的视图中生成的

private void displayLoadedContent() {
    View v = inflateLayout(R.layout.buttonlayout);
    ListView view = (ListView) v.findViewById(R.id.list);
    view.setAdapter(new ListButtonAdapter(this, content));
}
其中,
内容
声明为

List<MyActivityInterface> content;
列表内容;
ListButtonAdapter
扩展
BaseAdapter

所以没问题。问题是我必须在AndroidManifest.xml中声明我的每个活动。该文件就像一个可能显示的活动的大列表,有点混乱,所以我不打算在这里显示代码

我意识到我必须向清单中添加一个活动,但我希望一个活动就足够了。我的方法在很多方面都可以被看作是一种方法,其中每个活动都负责加载和显示它们所需的活动


我只是问,是否有可能在清单中动态注册活动(或允许它们以另一种方式运行),如果没有,是否还有其他有效的解决方案

Android要求每个活动都提前注册到您的
AndroidManifest.xml
文件中。部署后,您的应用程序将以.apk文件的形式存在于设备上,该文件无法修改(除了更新/替换为新的apk文件)


如果我正确理解了这个问题,您只是不想在清单文件中列出大量活动?不需要在清单文件中注册,因此如果您的目标是动态交换UI组件,那么这就是答案。片段可以通过。

返回到1.6版本,如果我不得不选择片段,那么这将限制我可以访问的用户和设备的数量,因为Fragmens是在api级别11中引入的。我希望有一个解决方案,不会取消任何(或大量)设备的资格。碎片可通过返回到1.6。我不知道,所以谢谢。我可以试试;)出于好奇,有人知道另一种解决方案吗?您可以将WebView与HTML/CSS/JS结合使用。