Red de conocimiento informático - Material del sitio web - Cómo utilizar el complemento de generación automática de código de Android Studio

Cómo utilizar el complemento de generación automática de código de Android Studio

1. Introducción

Al desarrollar con Android Studio, la mayoría de las personas utilizarán algunos complementos para mejorar la eficiencia del desarrollo, como:

ButterKnife genera automáticamente código de comentario

PermissionsDispatcher es más conveniente para el procesamiento de permisos de Android 6.0

Hay muchos, muchos complementos como este, pero no siempre podemos mantenernos en el nivel de uso. Esto es demasiado inconsistente con el estilo de los programadores. Hoy crearemos el nuestro. Comience a escribir un complemento. Cuando tenga buenas ideas en el futuro, también podrá escribir complementos excelentes para que todos los usen.

Piense en lo problemático que era escribir una larga cadena de código al escribir un cuadro de diálogo nativo en el sistema anterior. Hoy usaremos esto como ejemplo para escribir un complemento para generar el código. para el cuadro de diálogo con un solo clic.

Nota: Este artículo es solo para familiarizarse con el desarrollo de complementos de Android Studio, por lo que utiliza un ejemplo relativamente simple para demostrarlo.

2. Entorno

Primero debe instalar IntelliJ IDEA

Una vez completada la instalación, ejecútelo así:

IntelliJ IDEA

Haga clic en Crear nuevo proyecto para crear un nuevo proyecto de complemento, complete el nombre del proyecto y seleccione la ubicación del proyecto. Luego haga clic en Listo.

Nuevo proyecto

La estructura del proyecto se muestra a continuación:

Estructura del proyecto

Construya el paquete de software en el directorio src, que es el mismo que se usa comúnmente. El enfoque es el mismo para Android Studio.

Aquí, el entorno se construirá con éxito (^ - ^) V

3 Escribir complemento

Nueva acción

. en el nuevo paquete A continuación, cree una nueva clase de Acción

Cree una nueva Acción

y luego complete cierta información

Complete la información

ActionID: el ID único de la acción. El formato habitual es: pluginName.ID

ClassName: nombre de la clase

Nombre: el nombre del complemento que eventualmente se mostrará en. el menú

Descripción: la descripción de la operación

Luego seleccione la ubicación del complemento en el menú de abajo, en este caso la primera ubicación en el menú Código, y defina la tecla de acceso directo.

Haga clic en Aceptar y se creará una clase de Acción.

la clase pública CreateDialogAction extiende BaseGenerateAction {

public CreateDialogAction() {

super(null);

}

public CreateDialogAction(CodeInsightActionHandler handler) {

super(handler);

}

@ Override

public void actionPerformed(AnActionEvent) e) {

}

}

Tenga en cuenta que la AnAction heredada debe cambiarse a BaseGenerateAction a continuación. Los métodos relevantes de la clase BaseGenerateAction se muestran a continuación.

Implementación de código

Al generar código automáticamente, la implementación principal de la clase primero obtiene la clase de operación relevante y se han agregado instrucciones en los comentarios del código.

la clase pública CreateDialogAction extiende BaseGenerateAction {

public CreateDialogAction() {

super(null);

}

public CreateDialogAction(CodeInsightActionHandler handler) {

super(handler);

}

@Override

public void actionPerformed(AnActionEvent) e) {

// Obtener el archivo en el editor

Proyecto proyecto = e.getData(PlatformDataKeys.PROJECT);

Editor editor = e. (PlatformDataKeys.EDITOR);

Archivo PsiFile = PsiUtilBase.getPsiFileInEditor(editor, proyecto);

// Obtener la clase actual

PsiClass targetClass = getTargetClass( editor, archivo);

// Obtener la clase de fábrica para operaciones de elementos

PsiElementFactory factory = JavaPsiFacade.getElementFactory(project);

// Generar código

new LayoutCreator(project, targetClass, factory, file).execute();

}

}

Para generar código, Necesita heredar la clase WriteCommandAction simple, escribir la lógica de generación de código en el método de ejecución, almacenar el código para generar el cuadro de diálogo en StringBuilder, luego llamar al método add en la clase targetClass para generar el código y finalmente importar la clase requerida. .

la clase pública LayoutCreator extiende WriteCommandAction.Simple {

proyecto de proyecto privado;

archivo PsiFile privado;

objetivo PsiClass privado;

p>

p>

fábrica privada de PsiElementFactory;

pública LayoutCreator(proyecto de proyecto, PsiClass targetClass, fábrica de PsiElementFactory, PsiFile.files) {

super(proyecto, archivos );

este.proyecto = proyecto;

este.archivo = archivos[0];

this.targetClass = targetClass;

this.factory = factory;

"public void onClick(Diálogo DialogInterface, int cual) {\n" +

"/t\n" +

"}"+

"})\n");

dialog.append(".show() ;");

dialog.append ("}") ;

//Agregar código a la clase actual

targetClass.add(factory.createMethodFromText(dialog.toString(), targetClass ));

/ / Importar las clases requeridas

JavaCodeStyleManager styleManager = JavaCodeStyleManager.getInstance(project);

styleManager.shortenClassReferences(targetClass);

}

Al hacer clic en el botón verde ejecutar en la esquina superior derecha del compilador, se reiniciará una nueva interfaz IntelliJ IDEA. Cree un proyecto de Android aquí, haga clic en el código, verá las opciones del cuadro de diálogo de Android y verá el efecto. :

Cuadro de diálogo de Android

OK, aquí hemos creado con éxito un complemento, veamos cómo implementarlo.

4. Implementar el complemento

Complete la información relevante

Abra el archivo plugin.xml en el proyecto y complete la información relevante, que se mostrará en el repositorio de complementos, como se muestra a continuación.

Complemento

Haga clic en el botón Preparar complemento en el menú Bulid y el complemento jar se generará en el directorio raíz del proyecto, como se muestra en la siguiente figura. :

Generar complemento

Instalar complemento

Abra Andorid Studio, seleccione Archivo->Configuración->Complemento->Instalar complemento Desde el disco, seleccione el jar que generamos y luego reinicie, como se muestra en la figura siguiente. La parte marcada en el cuadro rojo es la información del complemento que acabamos de completar. archivo xml:

Instalar el complemento

Publicar el complemento

También puede publicar el complemento en su computadora. Visite el sitio web oficial de JetBrains, registre una cuenta, envíe el paquete jar del complemento, complete la información relevante y espere la revisión.

5. Problemas encontrados

El siguiente error ocurre al instalar el complemento. Se debe a que la versión de IDEA jdk es 1.8 y mi versión de Android Studio jdk es la unificada. La versión será buena.

Android Dialog arrojó una PluginException no detectada.

6. Resumen

Para resumir los pasos anteriores:

Descargue Intellij IDEA y cree un nuevo proyecto de complemento de plataforma Intellij. (Preste atención al problema de la versión jdk. La última IDEA requiere la versión jdk 1.8)

En el proyecto, cree una nueva Acción y cambie la AnAction heredada a BaseGenerateActio

Escriba la API , esto puede consultar la preparación de otros complementos

Haga clic en el botón Preparar complemento en el menú Bulid para generar un frasco, que se puede usar para la instalación directa

.