2016-02-04 5 views
8

मैं वर्तमान में है, जो एक शब्दकोश है एक Android ऐप्लिकेशन के विकास कर रहा हूँ जहाँ मैं अर्थ इस के साथ विक्षनरी एपीआई के साथ ऑनलाइन प्राप्त करने में कठिनाई हूँ: [http://en.wiktionary.org/w/api.php?action=query&prop=revisions&titles=overflow&rvprop=content&format=jsonfmAndroid ऐप में ऑफलाइन पहुंच के लिए विकिपीडिया को कैसे एम्बेड करें?

लेकिन मैं विक्षनरी डेटाबेस ऑफ़लाइन डाउनलोड करना चाहते हैं और मेरे Android एप्लिकेशन के अंदर एम्बेड करें।
1. Wiktionary
2. Wikimedia Downloads

मेरे शोध के अनुसार मुझे पता चला कि विक्षनरी ऑफलाइन डाटाबेस एक्सएमएल और SQL में है:

यहाँ विक्षनरी डाटाबेस डाउनलोड पृष्ठ है। लेकिन ये फाइलें बहुत बड़ी हैं। इन फ़ाइलों को एम्बेड करने से एपीके आकार बड़ा हो जाएगा।
तो क्या यह मेरे ऐप में आसानी से एम्बेड करने का कोई समाधान है?

+0

वह संसाधन कितना आकार ले रहा है? – GvSharma

+0

विकिपीडिया ऑफ़लाइन असंपीड़ित 700 एमबी है और 7zip संपीड़ित एक 100 एमबी – zackygaurav

+0

है क्या अधिक सामान्य शब्दों वाला संस्करण है? – Carlos

उत्तर

2

[का English Dictionary - Offline] डेवलपर दावा है कि वे विक्षनरी उपयोग कर रहे हैं। मैं अभी भी सोच जहाँ वे एक विक्षनरी फ़ाइल> 22 एमबी

मैं पर्याप्त भुगतान किया जा रहा नहीं कर रहा हूँ आपको लगता है कि बताने के लिए डंप मिला हूं .. (मजाक)। बात यह है कि आपको एक्सएमएल फाइलों से शब्दकोश प्रविष्टियों को निकालने की आवश्यकता है और एक बार आपको केवल मिल जाए तो अंतिम सामग्री (टेक्स्ट) फ़ाइल छोटी हो जाती है।

वैकल्पिक रूप से ...

आप इस TSV file (के सौजन्य: semisignal.com) कोशिश कर सकते हैं जो नवंबर 2012 परिभाषाओं का एक स्नैपशॉट है। इसमें आपके शब्द-उपयोगकर्ता की जांच करने की आवश्यकता वाले अधिकांश शब्द शामिल हैं। टीएसवी 54MB है और इसे एक टेक्स्ट फ़ाइल की तरह संभाला जाता है।

एक परिभाषा का प्रयास करें: brushable - TSV नीचे हैं: (के लिए Brushable विक्षनरी के प्रवेश करने के लिए तुलना करें)।

अंग्रेजी brushable विशेषण # समर्थ [[ब्रश]] किया जाना
अंग्रेजी brushable विशेषण # समर्थ द्वारा [[brushing]]


टिप्स से नियंत्रित किया जा करने के लिए: फ़ाइल आकार को कम करने के लिए , आप शुरुआती "अंग्रेजी" को ट्रिम कर सकते हैं क्योंकि आप पहले से ही अपनी सभी अंग्रेजी परिभाषाओं को जानते हैं। प्रत्येक ट्रिम आपको 7 बाइट्स (कुल परिभाषाओं से गुणा) बचाएगा।

  • यह स्पष्ट करने पर "अंग्रेजी" (है कि अंतरिक्ष के साथ) एक String.replace का प्रयोग करें।

  • इसके अलावा शॉर्ट कोड है कि आपके अनुप्रयोग का अर्थ जानता है और प्रवेश प्रकार उपयोगकर्ता इंटरफ़ेस में पता चलता साथ "विशेषण" "क्रिया" "संज्ञा" की जगह। कोड अर्थ सूची प्रविष्टि विशेषण हो सकता है।

आपकी छंटनी की गई टेक्स्ट फ़ाइल नीचे उदाहरण पसंद कर सकती है। प्रत्येक डबल fullstop बस "प्रविष्टि के अगले भाग" का अर्थ है, तो मूल रूप से entry..type..definition जहां <xyz> शब्दकोश में एक और प्रविष्टि के लिए एक कड़ी है। टीएसवी प्रविष्टि के 54 बाइट अब उस लाइन के लिए 35 बाइट बन जाते हैं।

brushable..1..Able to be <brushed>. 

अंतिम संपादित (कम) टेक्स्ट फ़ाइल सहेजें। अपने एपीके में एम्बेड करें।

+1

धन्यवाद उस टीएसवी फ़ाइल के लिए एक टन। – zackygaurav

3

मैं ऑनलाइन एपीआई एक्सेस को लागू करने का सुझाव देता हूं, इसलिए छोटे ऐप को डाउनलोड और इस्तेमाल किया जा सकता है, साथ ही ऑफ़लाइन भाग डाउनलोड करने वाले बटन को कहीं भी जोड़ें। नेटवर्क कनेक्शन भी जांचें, और यदि यह वाई-फाई नहीं है, तो उपयोगकर्ता को चेतावनी दें ताकि 100 एमबी शब्दकोश डाउनलोड करने के लिए मोबाइल डेटा प्लान का दुरुपयोग नहीं किया जाएगा।

संबंधित मुद्दे