Sto sviluppando un progetto Android con Apache Avro, ma dipende da due lib di Jackson (core-asl.jar e mapper-asl.jar). Sfortunatamente, queste due librerie sono troppo grandi per un'applicazione Android. Mi chiedo se c'è un modo per semplificare il codice sorgente Avro o posso sostituire Jackson con org.json direttamente?Come semplificare Apache Avro?
risposta
Se lo schema è in JSON Per la conversione del formiato Json è possibile utilizzare una libreria diversa. Ho usato la biblioteca GSON per analizzare i dati JSON
Avro utilizza il formato JSON per dichiarare le strutture di dati.
Gli schemi di Avro sono definiti con JSON che semplifica la sua implementazione nelle lingue con librerie JSON.
Così si può provare questa libreria invece di Jackson
app dipendenza Gradle
compile 'com.google.code.gson:gson:2.7'
stringa Per oggetto di conversione
Gson gson = new Gson();
GsonParse gsonObj = gson.fromJson(jsonString);
oggetto di conversione String
Gson gson = new Gson();
String puchaseDetails = gson.toJson(purchase);
È possibile controllare questo anche here, se si utilizza libreria per l'analisi e l'archiviazione dei dati
Proponi di farlo nel codice della libreria Avro? Qualcuno ha già fatto questo? – Devstr
Ti sto proponendo di provare questo invece di Jackson –
che cosa si intende per due grandi per un'applicazione Android? –
sì, puoi sostituire Jackson con org.json –
@cgomezmendez Le applicazioni Android generalmente più piccole sono preferibili rispetto a quelle più grandi - sono più veloci da scaricare per gli utenti. Anche nel mio caso sono abbastanza vicino al limite sul numero totale di metodi. – Devstr