2011-03-09 7 views
5

मेरे पास स्कीमा के साथ कई एक्सएमएल फाइलें हैं, उनमें से कुछ बहुत अधिक परस्पर निर्भरताओं के साथ काफी बड़ी (लगभग 16 एमबी कुल) हैं। मैं अपने एंड्रॉइड ऐप के भीतर इस डेटा का उपयोग करना चाहता हूं। डेटा अक्सर खोजा जाएगा लेकिन बहुत ही कम बदल गया है।एंड्रॉइड के लिए xml बनाम sqlite और कैसे

  1. मैं उन्हें एक्सएमएल फाइल के रूप में रखना चाहिए या मैं एक SQLite db करने के लिए डेटा परिवर्तित करना चाहिए? कौन सा तेज़ है? मेमोरी स्पेस एंड्रॉइड डिवाइस पर 16 एमबी के साथ एक समस्या है?

  2. यदि xml फ़ाइलों को sqlite db में परिवर्तित करना बेहतर है, तो मैं यह करने के लिए कैसे जा सकता हूं? मैं इस सूत्र देखा:

How to convert xml to sqlite database in android platform?

जो मेरी समझ से, डाटाबेस में xml फ़ाइल स्ट्रीमिंग का सुझाव देते हैं, लेकिन यह केवल बारे में एक xml फ़ाइल बात करती है। निर्भरता वाले वस्तुओं का प्रतिनिधित्व करने वाली कई एक्सएमएल फाइलों के साथ, मुझे क्या अतिरिक्त काम करना है, उदाहरण के लिए, क्या मुझे पहले किसी प्रकार का बाध्यकारी करना है? यदि हां, तो कार्य के लिए कौन सा टूल सबसे अच्छा है?

मैं एंड्रॉइड देव और स्क्लाइट के लिए बहुत नया हूं इसलिए किसी भी सुझाव की बहुत सराहना की जाएगी।

उत्तर

2

इस जवाब पर एक नज़र डालें:

Raw resources versus SQLite database

के साथ इस सवाल का संबंध है

...

How to convert xml to sqlite database in android platform?

... मुझे लगता है कि यह एक एक्सएमएल क्रमानुसार करने कोई मतलब नहीं है ... यह चीजों को बहुत धीमा कर देगा: आपको deserialize करना होगा और फिर एक्सएमएल पार्स करना होगा। तो, सबसे अच्छा आप अपने सभी डेटा को एक्सएमएल टेबल के अंदर डाल सकते हैं।

चूंकि डेटा नहीं बदलेगा, आप डिवाइस के बाहर डेटाबेस बना सकते हैं। मेरा मतलब है, अपने डेस्कटॉप पर डेटाबेस बनाएं, फिर डेटाबेस को अपने एंड्रॉइड ऐप के संपत्ति फ़ोल्डर में रखें और उसे डिवाइस पर कॉपी करें।

आप XML में डेटाबेस कैसे डालते हैं? यह एक्सएमएल फाइलों की संरचना पर निर्भर करता है ... एक्सएमएल में आपके पास मौजूद जानकारी के अनुसार टेबल बनाएं, जिसमें सभी रिश्ते शामिल हैं (जिन्हें आप विदेशी कुंजी का उपयोग करके अनुकरण कर सकते हैं ...)। मैं क्या करूँगा यह काम करने के लिए एक स्क्रिप्ट या कुछ बनाना है (यह जावा ऐप, एक पर्ल स्क्रिप्ट, एक पायथन प्रोग्राम, या जो भी आपको सहज महसूस हो सकता है) हो सकता है।

+0

रोशनीपूर्ण चर्चा के लिए धन्यवाद। मैंने अपने एक्सएमएल को एक एसक्लाइट डेटाबेस में बदलने का फैसला किया है। मैं जेएक्सबी जैसे कुछ की उम्मीद कर रहा था जो मेरे लिए काम करेगा, लेकिन मुझे स्क्लाइट मैनेजर नामक फ़ायरफ़ॉक्स के लिए एक प्लगइन मिला (सभी जगहों पर), मैं इसे आज़मा दूंगा। क्या आपके पास मेरे लिए एक अलग सुझाव है? मेरे पास बहुत सारी वस्तुएं नहीं हैं लेकिन उनमें से प्रत्येक में गुणों की एक लंबी सूची है। वैसे भी, त्वरित उत्तर के लिए धन्यवाद। – nullgraph

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