Ich entwickle ein Android-Projekt mit Apache Avro, aber es hängt von zwei Jackson-Bibliotheken ab (core-asl.jar und mapper-asl.jar). Leider sind diese beiden Bibliotheken zu groß für eine Android-Anwendung. Ich frage mich, ob es irgendeinen Weg gibt, den Avro-Quellcode zu vereinfachen, oder kann ich Jackson direkt durch org.json ersetzen?Wie vereinfacht man Apache Avro?
Antwort
Wenn Ihr Schema in JSON ist Für die Konvertierung des Json-Formates können wir andere Bibliothek verwenden. Ich habe die Gson Bibliothek zum Parsen von JSON-Daten
Avro verwendet JSON-Format verwendet, um die Datenstrukturen zu erklären.
Avro-Schemas werden mit JSON definiert, was die Implementierung in Sprachen mit JSON-Bibliotheken vereinfacht.
So können Sie diese Bibliothek ausprobieren insted jackson
App gradle Abhängigkeit
compile 'com.google.code.gson:gson:2.7'
String Umwandlung in Objekt
Gson gson = new Gson();
GsonParse gsonObj = gson.fromJson(jsonString);
Objekt zu String Umwandlung
Gson gson = new Gson();
String puchaseDetails = gson.toJson(purchase);
Sie können dies auch here, wenn Sie Bibliothek für das Parsen verwenden und Speichern von Daten
Schlägst du vor, dies in Avro Bibliothekscode zu tun? Hat das schon jemand gemacht? – Devstr
Ich schlage vor, dass Sie dies anstelle von Jackson versuchen –
was halten Sie von zwei großen für eine Android-Anwendung bedeuten? –
Ja, Sie können Jackson mit org.json ersetzen –
@cgomezmendez im Allgemeinen kleinere Android-Anwendungen sind vorzuziehen, gegenüber größeren - sie sind schneller für Benutzer herunterladen. Auch in meinem Fall bin ich ziemlich nah an der Grenze der Gesamtzahl der Methoden. – Devstr