Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo utilizar Retrofit en Android Studio

Cómo utilizar Retrofit en Android Studio

Consulte lo siguiente:

Requisitos ambientales

Android 2.3 y superior Java 6 y superior

Configuración

Agregar referencia en el archivo de configuración GRADLE

1

2

3

4

5

6

7

lt; código class="hljs r"gt;

dependencias {

.. .

compila 'com.squareup.retrofit:retrofit:1.9.0'

...

}

lt;/ codegt ;

Cuando OkHttp existe, Retrofit usará OkHttp para realizar solicitudes de red. Agregue referencias usando OkHttp de la siguiente manera

1

2

. 3

4

5

6

lt; código class="hljs r"gt {

<; p> ...

compilar 'com.squareup.okpile 'com.squareup.ok

El método setConverter requiere una clase de implementación de la interfaz de conversión como parámetro. esta clase es para convertir el InputStream solicitado al tipo deseado. El código de muestra es el siguiente

1

2

3

4

p>

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

p>

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

lt; código class="hljs java"gt; clase pública BaseConverter implementa Converter {

@ Override

objeto público fromBody (cuerpo TypedInput, tipo de tipo) lanza ConversionException {

ByteArrayOutputStream baos = new ByteArrayOutputStream();

int i = -1;

Respuesta de cadena = "";

prueba {

whi

le ((i = body.in().read()) != -1) {

baos.write(i);

}

respuesta = baos.toString();

baos.close();

} catch (IOException e) {

e.printStackTrace();

p>

}

devolver respuesta;

}

@Override

salida escrita pública al cuerpo (final Objeto objeto) {

return new TypedOutput() {

@Override

public String fileName() {

return null;

}

@Override

public String mimeType() {

return "String"

}<; /p>

@Override

public long length() {

devolver objeto == null 0: object.toString().length();

}

@Override

public void writeTo(OutputStream out) lanza IOException {

out.write(object.toString().getBytes() );

}

}

}

}

lt;/codegt;

Cuando después de obtener un objeto restAdapter, llame al método de creación de restAdapter para obtener la clase de implementación de la interfaz de usuario

1

2

3

4

5

6

7

8

9

10

p>

11

12

13

14

lt; class="hljs java"gt; devolución de llamada; cadenagt; devolución de llamada = nueva devolución de llamada () {

@Override

éxito de anulación pública (cadena s, respuesta de respuesta) {

}

@Override

falla de anulación pública (error RetrofitError) ) {

}

}

Usuario usuario = getAdapter().create(User.class

//Especificar solicitud); Clase de implementación de parámetro e interfaz de devolución de llamada

user.getUsers(12, callback);lt;/stringgt;lt;/stringgt;lt;/codegt;

El poder de Retrofit Eso es él, implementará la interfaz de acuerdo con la anotación del método de la interfaz

Ofuscación de código

Si se requiere ofuscación de código, la configuración es la siguiente