2011-06-14 8 views
9

मैं एंड्रॉइड के लिए एक शब्दकोश ऐप बना रहा हूं। यह ऐप स्टारडिक्ट और डीआईसीटी फाइलों का उपयोग करता है जो अक्सर बहुत बड़े होते हैं (10 एमबी या अधिक) और इसमें केवल सादे ग्रंथ होते हैं।एंड्रॉइड - शब्दकोश फ़ाइल। कौन सा तेज़, डेटाबेस या रीडिंग फाइल सीधे है?

जब उपयोगकर्ता एक शब्द देखते हैं, तो मेरा ऐप यादृच्छिक रूप से फ़ाइल को पढ़ेगा और परिणाम वापस कर देगा। मैंने कुछ लेखों पर पढ़ा है कि फ़ाइल पढ़ने महंगा और धीमी है। तो मुझे आश्चर्य है कि डेटाबेस में सभी डेटा लाने का एक बेहतर समाधान है?

+3

विकास, गति या विकास में आसानी के लिए आपके लिए क्या महत्वपूर्ण है? आप 'इंटरपोलेशन सर्च' का उपयोग करके कुछ तेज़, या तेज़ लिखने में सक्षम हो सकते हैं, लेकिन यह आपको लागू करने में अधिक समय लगेगा। –

+0

मेरा लक्ष्य परिणाम को जितनी जल्दी हो सके उपयोगकर्ताओं को वापस करना है। एल्गोरिदम के लिए धन्यवाद, मैं इसे एक पढ़ा दूंगा। – Genzer

उत्तर

19

मैं निम्नलिखित कारणों के लिए एक डेटाबेस में अपने शब्दों को डाल सुझाव है:

  1. डीबी SQLite के साथ एंड्रॉयड पर लुकअप रहे हैं "काफी तेजी से" (~ 1ms) भी के लिए सबसे अधिक उपयोगकर्ताओं
  2. रीडिंग अधीर मेमोरी में बड़ी फाइलें स्मृति-सीमित वातावरण जैसे एंड्रॉइड में एक खतरनाक अभ्यास है।
  3. "मेमोरी में" की बजाय "जगह में" फ़ाइल से प्रविष्टियों को पढ़ने की कोशिश कर रहा है प्रभावी रूप से आपके लिए SQLite पहले से हल होने वाली सभी समस्याओं को हल करने का प्रयास कर रहा है।

डेटाबेस का उपयोग करने में प्रस्तुत एकमात्र चुनौती आपको आवश्यक डेटा के साथ शुरू कर रही है। वांछित डेटाबेस को अग्रिम में बनाकर और फिर इसे अपनी एपीके संपत्तियों से जोड़कर इस समस्या को हल किया जा सकता है। एक उदाहरण here है जो काफी अच्छा है।

उम्मीद है कि इससे मदद मिलती है।

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