4
votes

Comment raccourcir les importations dans Android Studio pour un code plus propre

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.


0 commentaires

3 Réponses :


2
votes

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


3 commentaires

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.



1
votes

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

  1. Appuyez sur Ctrl + Maj + R pour ouvrir la fenêtre Replace in Path

  2. Activez regex en appuyant sur .* À droite de la fenêtre

  3. Remplacez WSConstants[.*] une chaîne vide pour supprimer WSConstants. modèles dans les classes

remplacer WSConstants

entrez la description de l'image ici


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)


2 commentaires

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.



0
votes

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;


0 commentaires