Wie kann Wiktionary für den Offline-Zugriff in Android App eingebettet werden?

8

Ich entwickle gerade eine Android-App, die ein Wörterbuch ist, wo ich Bedeutungen online mit Wiktionary API mit diesem: [ Ссылка

Aber ich möchte die Wiktionary-Datenbank offline herunterladen und in meine Android App einbetten.

Hier ist die Wiktionary Datenbank Download Seite:
1. Wiktionary
2. Wikimedia-Downloads

Nach meinen Recherchen habe ich herausgefunden, dass Wiktionary Offline Database in XML und SQL ist. Aber diese Dateien sind zu groß. Das Einbetten dieser Dateien würde die APK-Größe sehr groß machen.
Gibt es eine Lösung, um dies einfach in meine App einzubetten?

    
zackygaurav 04.02.2016, 13:49
quelle

2 Antworten

2
  

Der Entwickler [von Englisches Wörterbuch - Offline ] behauptet, dass sie Wiktionary verwenden. ich bin noch   frage mich, woher haben sie eine Wiktionary Dump File & gt; 22 MB

Ich werde nicht genug bezahlt, um dir das zu sagen ... (Scherz). Dazu müssen Sie die Wörterbucheinträge aus den XML-Dateien extrahieren. Sobald Sie nur diese erhalten haben, wird die endgültige Inhaltsdatei (Text) kleiner.

Alternativ ...

Sie können diese TSV-Datei ausprobieren (mit freundlicher Genehmigung von: semisignal.com ) Dies ist eine Momentaufnahme der Definitionen von November 2012. Dies enthält die meisten Wörter, die Ihr Endbenutzer, der Englisch überprüft, benötigen würde. Der TSV ist 54MB und wird wie eine Textdatei behandelt.

Versuchen Sie eine Definition: streichfähig - TSV hat unten: (Vergleichen Sie mit Wiktionary Eintrag für Streichfähig ).

  

Englisch streichfähig Adjektiv # Kann [[gebürstet] werden]
  Englisch streichfähig Adjektiv # Kann durch [[putzen]] gesteuert werden.


TIPPS: Um die Dateigröße zu reduzieren, können Sie den Anfang "Englisch" abschneiden, da Sie bereits alle englischen Definitionen kennen. Jede Trimmung spart Ihnen 7 Bytes (multipliziert mit Gesamtdefinitionen).

  • Verwende ein String.replace auf "English" (mit diesem Leerzeichen), um es zu löschen.

  • Ersetze auch "Adjektiv" "Verb" "Substantiv" mit kurzen Codes, die deine App kennt die Bedeutung von und zeigt den Eintrag type im Benutzer an Schnittstelle. Code könnte 1 sein, was den Listeneintrag als Adjektiv bedeutet.

Ihre getrimmte Textdatei könnte das folgende Beispiel mögen. Jeder doppelte Fullstop bedeutet nur "nächster Abschnitt des Eintrags", also im Grunde entry .. type .. definition Dabei steht <xyz> für eine Verknüpfung zu einem anderen Eintrag im Wörterbuch. 54 Bytes des TSV-Eintrags werden nun 35 Bytes für diese eine Zeile.

%Vor%

Speichern Sie die zuletzt bearbeitete (reduzierte) Textdatei. Betten Sie das in Ihre APK ein.

    
VC.One 14.02.2016, 20:11
quelle
3

Ich schlage vor, den Online-API-Zugang zu implementieren, so dass eine kleine App heruntergeladen und verwendet werden kann, und zusätzlich eine Schaltfläche hinzufügen, die den Offline-Teil herunterlädt. Überprüfen Sie auch die Netzwerkverbindung und warnen Sie den Benutzer, wenn der WLAN-Plan nicht missbraucht wird, um das 100-MB-Wörterbuch herunterzuladen.

    
Ivan Marinov 07.02.2016 10:46
quelle

Tags und Links