Existe-t-il un raccourci facile dans Android Studio pour refactoriser ceci:
@GET(ENDPOINT_SINGLE_ACCOUNT) suspend fun getAccount(@Path(PARAM_ACCOUNT_ID) accountId: String?): Call<Account>
à:
@GET(WSConstants.ENDPOINT_SINGLE_ACCOUNT) suspend fun getAccount(@Path(WSConstants.PARAM_ACCOUNT_ID) accountId: String?): Call<Account>
Et deuxièmement, est-ce considéré comme une bonne pratique? Je pense que ça a l'air plus propre.
3 Réponses :
Lors de l'importation, écrivez le chemin complet des variables statiques. Par exemple:
import my.package.name.WSConstants.ENDPOINT_SINGLE_ACCOUNT import my.package.name.WSConstants.PARAM_ACCOUNT_ID
Je veux un raccourci. Écrire le chemin complet est trop de travail
L'importation ne peut pas être raccourcie. Mais après avoir imoorté avec le chemin complet, vous pouvez utiliser des constantes comme vous l'avez demandé
Il doit y avoir des paramètres dans Android Studio, j'en suis sûr.
AFAIK il n'y a pas de solution simple pour faire ce que vous voulez. Donc:
Solution n ° 1
Cliquez sur chaque champ, par exemple ENDPOINT_SINGLE_ACCOUNT , et appuyez sur Alt + Entrée , puis appuyez sur la première option qui est Ajouter l'importation pour .... Il remplace toutes les occurrences du champ sélectionné par la notation souhaitée dans le fichier courant.
Solution n ° 2
Le moyen le plus court de le faire est d'utiliser wildcard imports ( * ) lors de l'importation de plusieurs champs. Ce serait le plus haut niveau de contraction.
package your-package const val ENDPOINT_SINGLE_ACCOUNT = "..." const val PARAM_ACCOUNT_ID = "..."
Pour bénéficier de cette brièveté, commencez par extraire vos constantes de la classe d'objets et placez-les dans un fichier kotlin:
WSConstants.kt
import your-package.*
ensuite
Appuyez sur Ctrl + Maj + R pour ouvrir la fenêtre Replace in Path
Activez regex en appuyant sur .* À droite de la fenêtre
Remplacez WSConstants[.*] une chaîne vide pour supprimer WSConstants. modèles dans les classes
remplacer WSConstants

Additionnel:
Pour définir votre propre stratégie d'organisation des importations, vous pouvez le faire à partir de:
Fichier> Paramètres> Editeur> Style de code> Kotlin> Importations (onglet)
Je suis surpris qu'il n'y ait pas de solution simple car je pense que cela rend le code nettement plus lisible et plus simple. Mais merci pour ça!
Merci Jim :) Ouais, j'ai exploré tous les documents IntelliJ connexes pour trouver un indice, malheureusement sans succès. Je suis d'accord avec vous, de cette façon, le code apparaît plus propre, au moins en raison de la suppression des préfixes inutiles, la fragmentation du code se produit moins.
Il n'y a pas de mécanisme d'alias d'importation en Java. Vous ne pouvez pas importer deux classes portant le même nom et les utiliser toutes les deux sans qualification.
Importez une classe et utilisez le nom complet pour l'autre, c'est-à-dire
import com.text.Formatter; private Formatter textFormatter; private com.json.Formatter jsonFormatter;