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 p >
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
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 p>
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>
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 p>
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