java - Android:是否可以下载Android自定义View的类(它是LinearLayout的扩展)并在运行时实例化它?

标签 java android reflection

我正在开发一个应用程序,它有一个叫做小部件的东西(不要与可以保留在桌面上的 Android 小部件混淆)

Widget 是一个扩展 LinearLayout 的抽象类。

现在我们可以扩展 Widget 并创建各种 Widget 来执行各种任务,例如,

AlarmWidget - 在您设置的时间闪烁的小部件
ClockWidget - 显示时间的小部件。

当我分发该应用程序时,它将附带一些我在项目中编码的内置小部件,包括上述 2 个小部件。

但我希望开发者社区能够创建像上面 2 个这样的自定义小部件,这些小部件将托管在服务器中并可供用户下载。

由于所有小部件的总大小很大,不可能让用户通过更新下载服务器上的所有可用小部件

因此,应用程序会在必要时从服务器下载所需的类(Widget 类的扩展)并实例化 View。

Widget 的每个扩展都是一个复杂的对象,包含许多附加到它的 subview 以及它自己独特的方法和代码。 (因此不可能通过仅传输颜色、文本、背景图像等信息来实例化该类)

我该怎么做?

最佳答案

Dexmaker - 用于针对 Dalvik VM 进行编译时或运行时代码生成的 Java 语言 API。

关于java - Android:是否可以下载Android自定义View的类(它是LinearLayout的扩展)并在运行时实例化它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44853102/

相关文章:

java - 从Java中的对象获取强类型属性值

java - .War 可以在 Windows 上部署但无法在 Linux 服务器 (Tomcat 7) 上部署

C# if else 异常

python - 如何检查缺少的属性?

c# - 获取仅给定泛型类型的多维数组大小

java - UTF-8解码问题

Java:比较/排序任意对象

android - 使用 ESP8266 查找本地网络上的其他设备

java - Android开发-数据库插入空指针异常

android - 如何确定 Android 上的音频功能?