Categorías
Android

Ejemplo de Android Hello World

Este tutorial muestra cómo crear un proyecto de hola mundo de Android simple en Eclipse y ejecutar el proyecto de hola mundo en un dispositivo virtual de Android (AVD).

Pasos resumidos para desarrollar una aplicación de Android:

  1. Descargue e instale Android SDK ADT Bundle para Windows
  2. Crear un proyecto de Android mediante el asistente de Eclipse
  3. Crear un dispositivo virtual Android (AVD)
  4. Ver resultado

Este proyecto de Android Hello-World está desarrollado bajo Windows 7, y previamente se instaló JDK 1.6.

1. Descargue e instale Android SDK ADT Bundle para Windows

Descargue el SDK de Android primero: http://developer.android.com/sdk/index.html. Esta es la única herramienta que necesita descargar para completar el siguiente ejemplo de Hello-World.

Descomprime el archivo descargado. (Puede extraerlo en cualquier lugar, pero normalmente debería estar en el directorio de archivos de su programa). Hay un directorio «eclipse» que ya tiene el entorno de desarrollo de Android integrado. Vaya a la dirección y comience a eclipse haciendo doble clic en «eclipse».

2. Cree un proyecto de Android con el asistente de Eclipse

Cree un nuevo «Proyecto de aplicación de Android» siguiendo el asistente. Los pasos tienen el siguiente aspecto:

2-nueva-aplicación-android

3-configurar-proyecto

4-configurar-conjunto-de-iconos-android

5-crea-una-actividad

Actividad de 6 espacios en blanco

El directorio del proyecto es como el siguiente:
15-androide-hola-mundo

Ahora que el proyecto se creó con éxito, el siguiente paso es crear un teléfono inteligente virtual para que funcione Hello-World.

3. Cree un dispositivo virtual Android

Si ejecuta el proyecto hello-world creado en este momento, el proyecto no se ejecutará. Porque todavía no hay ningún dispositivo configurado. Para ejecutar un proyecto de Android, deberá crear un dispositivo virtual de Android (AVD), de modo que el proyecto creado pueda ejecutarse en un teléfono inteligente virtual bajo el emulador. También puede ir directamente al «Administrador de dispositivos virtuales de Android» haciendo clic en el icono en la barra de herramientas como se muestra a continuación:

icon-android-virtual-device-manager

Si no configura un AVD primero y ejecuta el proyecto, aparecerán las siguientes ventanas para pedirle que cree un AVD. Puedes seguir los siguientes pasos. Como tengo un Nexux 4, agregaré Nexus 4 como mi AVD para ejecutar el proyecto.

7-agregar-nuevo-dispositivo-virtual-android

8-administrador-de-dispositivos-virtuales-android

9-crear-avd

10-inicio-creado-avd

4. Ver resultado

11-opción-almuerzo

Emulador de 12 ejecuciones

13-hola mundo

14-ejecutando-android-hola-mundo

En esta publicación, has visto una aplicación Android Hello-World muy simple. Como se muestra arriba, el proyecto de Android se puede desarrollar rápidamente usando eclipse con ADT integrado. El siguiente paso es comprender el contenido del código.

Categorías
Android

«$ref: «$.list[0]» «$ref»: «$[0].xxx» cuando se usa Fastjson para convertir la lista a json

Para convertir List a json, hay objetos en la lista y cada objeto contiene un objeto, Aparece cuando se utiliza la conversión Fastjson:

JSONArray.toJSONString()

El formato requerido es el anterior, pero el que realmente se coloca en el almacén está marcado en rojo. .

la razón:

Baidu más tarde encontró que la razón fue causada por referencias circulares Fastjson

Referencia circular: cuando un objeto contiene otro objeto, fastjson resolverá el objeto en una referencia.

$ref marcado, la siguiente es la descripción de la referencia
«$ref»:».» sube un nivel
«$ref»:»@» El objeto actual, que es auto-referencia
«$ref»: objeto raíz «$»
Referencia basada en ruta de acceso «$ref»:»$.children.0″, equivalente a root.getChildren().get(0)

Resolver:

Uso:JSONArray.toJSONString(obj, SerializerFeature.DisableCircularReferenceDetect);

Configurado para prohibir referencias circulares~

Después de usarlo, mi salida es normal

Sin embargo, dado que el valor correspondiente a algunos campos es null, aparecen los campos que son null y desaparecen las claves correspondientes: por ejemplo,

El agregador anterior no se obtiene, por lo que su valor en el mapa es null y desaparece después de que se utiliza la conversión fastjson. . .

Así que agregué otro párrafo:

JSONArray.toJSONString(obj, SerializerFeature.WriteMapNullValue,SerializerFeature.DisableCircularReferenceDetect);

WriteMapNullValue,//Si el valor de salida es un campo null, el valor predeterminado es false

De esta manera, incluso si el valor correspondiente se obtiene como null, se puede almacenar en el inventario después de la conversión~

Estos son algunos otros atributos:

QuoteFieldNames,//Si se usan comillas dobles al generar la clave, el valor predeterminado es true

UseSingleQuotes,//Use comillas simples en lugar de comillas dobles, el valor predeterminado es false

WriteMapNullValue,//Si el valor de salida es un campo null, el valor predeterminado es false

WriteEnumUsingToString,//Enum genera name() o original, el valor predeterminado es false

UseISO8601DateFormat,//Date utiliza el formato ISO8601 para la salida, el valor predeterminado es false

WriteNullListAsEmpty,//Si el campo List es null, la salida es [], no nulo

WriteNullStringAsEmpty,//Si el campo de tipo de carácter es null, la salida es «» en lugar de null

WriteNullNumberAsZero,//Si el campo numérico es null, la salida es 0, no null

WriteNullBooleanAsFalse,//Si el campo booleano es null, la salida es false, no null

SkipTransientField,//Si es true, el campo correspondiente al método Get de la clase es transitorio y se omitirá durante la serialización. El valor predeterminado es true

SortField,//Salida después de ordenar por nombre de campo. El valor predeterminado es false

@Deprecated
WriteTabAsSpecial,//Escape t como salida, el valor predeterminado es false

PrettyFormat,//Si el resultado tiene el formato, el valor predeterminado es false

WriteClassName, // escribir información de tipo durante la serialización, el valor predeterminado es false. Se requiere deserialización

DisableCircularReferenceDetect,//eliminar el problema de las referencias circulares al mismo objeto, el valor predeterminado es false

WriteSlashAsSpecial, // Escape the slash’/’

BrowserCompatible,/Serialize chino al formato uXXXX, el número de bytes será mayor, pero puede ser compatible con IE 6, el valor predeterminado es false

WriteDateUseDateFormat,//Formato de fecha de modificación global, el valor predeterminado es false. Json. DEFFAULT_DATE_FORMAT = «aaaa-MM-dd»; JSON.toJSONString(obj, SerializerFeature.WriteDateUseDateFormat);

DisableCheckSpecialChar,//Si hay caracteres especiales como comillas dobles en la propiedad string de un objeto, se convertirá en json con un carácter de transferencia de barra diagonal inversa. Si no necesita escapar, puede utilizar este atributo. El valor predeterminado es false