10
votes

Obtenir des ressources d'une autre application

suppose que j'ai 2 applications A et B.

Je veux accéder aux ressources (érables, images, chaînes) d'une application B à partir d'une application. Comment ferais-je cela?

EDIT:

Vous pouvez également désigner un projet Android en tant que projet de bibliothèque, ce qui lui permet d'être partagés avec d'autres projets qui en dépendent. Une fois qu'un projet Android est désigné comme projet de bibliothèque, il ne peut pas être installé sur un périphérique.

Cela signifie-t-il que je ne peux pas utiliser ma bibliothèque sur le marché Android? Mon objectif est d'utiliser les ressources par défaut d'application A, mais également si quelqu'un de télécharger l'application B et à utiliser les ressources informatiques.


2 commentaires

Pourquoi serait-ce une bonne idée?


Cela ne ferait pas votre code illisible?


5 Réponses :


5
votes

Si les deux applications sont les vôtres et que vous souhaitez regrouper ces ressources au moment de la construction:

Créer un Projet de bibliothèque Android , mettre tout les ressources nécessaires et référencez-la de vos applications.


Modifier à votre édition: Vous pouvez utiliser la bibliothèque du marché Android. Vous ne pouvez pas l'utiliser seul (compiler). Vous devez créer une application qui utilise la bibliothèque. Lorsque vous construisez cette application, tout le contenu nécessaire devient essentiellement saisi de la bibliothèque et copié à votre APK. Que vous pouvez mettre sur le marché comme d'habitude.

Cela ne fonctionne pas lorsque vous souhaitez accéder aux ressources d'une application qui est téléchargée sur le périphérique au moment de l'exécution. Un projet de bibliothèque regroupe toutes les ressources lorsque vous construisez l'application qui l'utilise. La réponse de Peter Knego est la bonne en accédant au runtime.


1 commentaires

Merci, oui, je veux l'utiliser au moment de l'exécution, je vais utiliser Peter Knego Way.



1
votes

Il est possible si ces deux applications sont les vôtres. Ou vous pouvez utiliser une bibliothèque Android pour ces deux applications. Si vous voulez que vous créiez également votre propre Library Android pour ce genre de travail. Thnx.


0 commentaires

23
votes

Si vous êtes le développeur des deux applications, la bonne approche serait la bonne approche pour créer un projet de bibliothèque Android et la partager entre les applications.

NeverTheles, vous pouvez toujours accéder aux ressources d'une autre application, même si Ce n'est pas votre application: xxx


2 commentaires

Les ressources sont attribuées des ressources qui ont modifié chaque compilation. Comment puis-je y accéder par nom? Voir aussi Stackoverflow.com/Questtions/4593046/...


Essayez ressources.html # getIdentifier (..) : ( développeur.android.com/reference/android/content/res/...



0
votes

La réponse de Peter ci-dessus est géniale, mais j'aimerais élaborer un peu plus ...

Lorsque vous contrôlez Appa et AppB et que vous souhaitez obtenir un atouble d'APPB, tandis que dans Appa, puis procédez comme suit: < / p>

  1. Obtenez l'identifiant du digilable lors de l'APPB (par exemple, r.Drawable.iconInAppb )
  2. Puis, dans Appa XXX

    * Remarque: l'ID entier attribué à R.Drawable.iconInAppB changera au fil du temps, donc ne comptez pas sur le code de codage. Je sauvegarde les paires de la valeur de la clé (String ResourceName, int GeacREID) dans une base de données dans APPB et accédez à eux à l'aide d'un fournisseur de contenu.


1 commentaires

Le -1 pourrait-il être expliqué s'il vous plaît



0
votes

Par exemple, obtenons la grue-matrice avec l'ID de entréeValues_font_size à partir du package com.android.Settings xxx


0 commentaires