Cargar recurso (diseño) desde otra apk

Me pregunto si es posible cargar un archivo xml de diseño desde otra aplicación. Sé cómo obtener acceso a los recursos de otras aplicaciones, pero no estoy seguro de cómo cargar un xml si es posible.

¿Tendría que analizar el xml si quisiera configurar ese diseño como una vista usando el inflador de diseño?

Algo así como estos pasos...

  1. Use XmlPullParser.setInput para "cargar" el archivo XML
  2. Conviértalo en un AttributeSet
  3. Crear una vista a partir de este conjunto de atributos
  4. use setContentView (Ver) en su Actividad

Supongo que lo que estoy preguntando, ¿es esto posible? Como dije, sé cómo acceder a los recursos. Pero, ¿cómo accedería al diseño xml?

¡Gracias!

preguntado el 04 de julio de 12 a las 08:07

1 Respuestas

Logré extraer los diseños y lo agregué a mi viewflipper, sin embargo, allí está cargado en blanco.

Resources packageResources;
Context packageContext;
try
{   
    packageResources = pm.getResourcesForApplication(packageName);
    packageContext = this.createPackageContext(packageName,  Context.CONTEXT_INCLUDE_CODE + Context.CONTEXT_IGNORE_SECURITY);                
}
catch(NameNotFoundException excep)
{
    // the package does not exist. move on to see if another exists.
}

Class layoutClass;
try
{
   // using reflection to get the layout class inside the R class of the package
   layoutClass = packageContext.getClassLoader().loadClass(packageName + ".R$layout");
}
catch (ClassNotFoundException excep1)
{
   // Less chances that class won't be there.
}

for( Field layoutID : layoutClass.getFields() )
{
   try
   {
       int id = layoutID.getInt(layoutClass);
       XmlResourceParser xmlResourceLayout = packageResources.getLayout(id);

       View v = new View(this, Xml.asAttributeSet(xmlResourceLayout));

       this.viewFlipper.addView(v);                 
    }
    catch (Exception excep)
    {
        continue;
    }
}

No recibo errores, depuré y verifiqué. Los ID de diseño son correctos. Sin embargo, en mi opinión, Flipper está en blanco. No hay advertencias o errores que pueda encontrar.

Finalmente obtuve la solución... La he publicado a continuación,

Cargue el recurso (diseño) desde otro apk dinámicamente

contestado el 23 de mayo de 17 a las 13:05

¡Bienvenido a StackOverflow! Si tiene problemas, cree su propia pregunta y haga referencia a esta según sea necesario. - Ashley ross

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.